Bluesky API · Text Posts · Image Posts

The Bluesky publishing API for developers

Schedule and publish posts to Bluesky via the AT Protocol API. PostPulse owns the platform access, so you ship on day one — no audit, no token plumbing.

No platform audit on your side No tokens to babysit No credit card to test
Numbers from the last 12 months · see live stats →
9
Platforms — one API
Native Bluesky API · the actual cost

What you'd build and maintain yourself

Every item below is real friction the native Bluesky API hands you. PostPulse handles all of them.

01

AT Protocol complexity

AT Protocol (atproto) is complex — requires understanding DIDs, PLCs, and CARs

PostPulse speaks atproto — post via one REST call.
02

Separate blob upload

Image blobs must be uploaded separately via a "blob upload" endpoint before posting

Pass a URL or file; blob upload handled for you.
03

JWT session rotation

Session management requires handling access JWT + refresh JWT rotation manually

PostPulse manages access + refresh tokens automatically.
04

No native scheduling

No native scheduling — you need external queue infrastructure

Schedule with one field — PostPulse owns the queue.
05

Manual rich-text facets

Rich text facets (links, mentions, hashtags) must be manually annotated with byte offsets

Links and mentions are annotated automatically.
Minutes to your first post

Schedule a Bluesky post in two API calls

Import your media, then schedule the post with your Bluesky settings. PostPulse does the rest.

# Step 1: Import media from a public URL
curl -X POST https://api.post-pulse.com/v1/media/upload/import \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://your-cdn.com/media/video.mp4" }'

# Response: { "path": "uuid/video.mp4" }

# Step 2: Schedule a post using the publications array
curl -X POST https://api.post-pulse.com/v1/posts \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduledTime": "2026-06-01T10:00:00Z",
    "isDraft": false,
    "publications": [
      {
        "socialMediaAccountId": 123,
        "platformSettings": { "type": "BLUE_SKY" },
        "posts": [
          {
            "content": "Check out our latest content! #developer #api",
            "attachmentPaths": ["uuid/video.mp4"]
          }
        ]
      }
    ]
  }'
DIY vs PostPulse

The same Bluesky integration, two timelines

Both columns assume you know your stack. Only one has you doing undifferentiated platform plumbing.

DIY · native Bluesky API
  1. Register a developer app and configure OAuth redirect URLs
  2. Implement the OAuth flow plus token refresh and rotation
  3. Build the media-upload and publish flow around Bluesky's quirks
  4. Clear access requirements — review, quota, or partner approval where required
  5. Build scheduling, retries, and failure alerting yourself
  6. Keep up with API version changes — forever
PostPulse
  1. Minute 0 · Sign up free
  2. Minute 3 · Connect a Bluesky account via OAuth
  3. Minute 6 · POST /v1/posts — first post live
  4. Minute 7 · A webhook calls your URL the second it lands
  5. Day 2+ · Build your product, not platform plumbing

Bluesky-specific API settings

Control Bluesky publishing options via the platformSettings object in your publication entry.

FieldDescriptionAccepted Values
typePublication typePOST

Bluesky media requirements

PostPulse validates your media before publishing to Bluesky to prevent platform rejections.

Image Formats

  • JPG
  • PNG
  • WEBP

Max size: 1 MB per image

Max Attachments

4 files per post

Pricing

Start free. Scale when it makes sense.

The same simple pricing across every platform — no per-network surcharge.

Free
$0on signup
  • 10 publications, free
  • No credit card required
  • Every feature unlocked
  • Connect unlimited accounts
Sign up
Subscription
$5/ account / mo
  • Unlimited publishing per account
  • Or $48 / year per account
  • Add or remove accounts anytime
  • REST API · n8n · Make · MCP
Start subscription
Building Bluesky into a product your users connect their own accounts to? See the white-label / Connect tier →

PostPulse vs. the native Bluesky API

What PostPulse handles vs. what you'd build yourself.

CapabilityPostPulseNative Bluesky API
Platform audit / App Review✓ Not required✗ Required (weeks to months)
Auth token management✓ Handled by PostPulseImplement OAuth + token refresh
Media upload workflow✓ Single endpointMulti-step async upload
Post scheduling✓ Built-in scheduledTimeBuild your own cron queue
Failure notifications✓ 14 webhook eventsPoll for status manually
Multi-platform publishing✓ 9 platforms, same requestSeparate API per platform
White-label OAuth for your users✓ IncludedBuild your own OAuth bridge
AI agent integration (MCP)✓ Claude, Cursor✗ Not available

Why teams ship faster with PostPulse for Bluesky

Reviewed on Product Hunt
James Mccarthy
James Mccarthy

I use PostPulse with an AI agent via their MCP server. My agent literally posts to social media on its own now. Didn’t expect that to work as smoothly as it did.

Antonio Widera
Antonio Widera

$5/month for what would otherwise require a full backend engineer to maintain? Easy yes. The REST API is clean and well-documented too, which is rare.

Shawn Padilla
Shawn Padilla

Tried to get TikTok API access myself. Three weeks, two rejections. Switched to PostPulse and was posting to TikTok the same day. Wish I hadn’t wasted that time.

Karen Rivers
Karen Rivers

I’m a Make.com power user and needed to post to 5 platforms from one scenario. The native PostPulse app for Make connected everything in one afternoon. Would’ve taken me weeks to do manually.

Douglas Finch
Douglas Finch

I built an n8n automation for a client and needed to add social publishing. The official PostPulse n8n node was literally drag and drop. No headache.

Andrea Scott
Andrea Scott

Saved me months of dev work. I was about to start integrating Instagram and TikTok APIs separately — then I found out Meta’s app review alone can take months. PostPulse just handled all of that. Shipped social posting in under a week.

William Dirks
William Dirks

The most flexible pricing model on the market!

I'm building an AI content factory as a side hustle. I'm still in the experimentation phase, so I don't have the budget for expensive tools — but I also needed to get everything up and running quickly, so I integrated with a ready-to-go API instead. PostPulse offers a flexible pay-as-you-go model that let me experiment first without commitment — and now that we have stable traffic, I’ve switched to their $5/month subscription.

Best support on the market — the founder personally emailed me when I hit a client error and walked me through the fix.

solo serg
solo serg

We optimized the posting to 20 twitter accounts. It was a problem to manage such a number, but through the platform everything works out perfectly. Very convenient dashboard for tracking errors. Great product.

Bluesky API — Frequently Asked Questions

Publish to 9 platforms with the same API

Add more platforms to your integration with a single configuration change.

Start publishing to Bluesky today

Get API access in minutes. No platform audit. Connect your Bluesky account and make your first API call in under 10 minutes.