Bluesky API

Bluesky API for posting and scheduling without rebuilding the AT Protocol stack

Add Bluesky publishing to products building open social, developer community, and text-first distribution with one API for scheduling, media, status, and reporting workflows.

Last updated: May 2026

API key authScheduled publishing14 platforms
Quick start
API request
1await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Bluesky campaign",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["BLUESKY"],13    data: {14      BLUESKY: { text: "Scheduled from bundle.social." }15    }16  })17});

Building directly on Bluesky AT Protocol

AT Protocol is open, but production apps still need auth, media handling, retries, account mapping, and reports.
Bluesky is usually one channel in a broader publishing plan, not a product surface on its own.
Protocol flexibility does not remove the need for scheduling, approvals, and client-ready reporting.

What bundle.social handles

Publish to Bluesky from the same workflow you use for your other networks.
Use shared media and post history workflows instead of inventing a one-off Bluesky dashboard.
Keep Bluesky reporting close to your other social analytics when metrics are available.

Bluesky publishing without owning the whole AT Protocol stack

Bluesky is open, but production publishing still needs auth, media, status, scheduling, and campaign context. bundle.social gives open social a practical workflow layer.

Workflow

How it works

Connect accounts once, then create and schedule posts with channel-specific fields from one API.

01

Create an API key

Generate an organization API key in the dashboard and use it with the x-api-key header.

02

Connect accounts

Connect each social account once. bundle.social keeps the account mapping ready for future posts.

03

Create or schedule posts

Send one request with the publish date, selected channels, and the fields each platform needs.

Capabilities

Bluesky API workflows for open social teams

Text posts, media references, account mapping, scheduling, post history, and reporting context for Bluesky campaigns.

Bluesky-specific payload fields

Control the fields that matter on Bluesky: captions, media types, privacy settings, and more, using the same post endpoint as every other channel.

API key authentication

Use one bundle.social API key for server-to-server requests. Your users still connect social accounts once through the hosted OAuth flow; bundle.social handles token storage and refresh.

Scheduling built in

Set a postDate to schedule Bluesky content in advance, or create drafts and queue posts through the dashboard.

Media library integration

Upload Bluesky-compatible media once and reference the same upload ID across multiple posts or campaigns.

Post status and retry tracking

Track Bluesky posts through scheduled, processing, posted, retrying, and error states from the API or the shared dashboard.

Cross-platform publishing

Add other channels to the same post payload when Bluesky is part of a multi-platform campaign. No separate API calls needed.

Developer example

Schedule a Bluesky post

Examples use bundle.social's public API shape: API key authentication, a post date, selected social account types, and platform-specific data.

TypeScript
API request
1await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Bluesky campaign",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["BLUESKY"],13    data: {14      BLUESKY: { text: "Scheduled from bundle.social." }15    }16  })17});

Supported content

Text postsImagesLinksAlt textPost historyComments where supported

Honest limitations

  • Bluesky and AT Protocol behavior can evolve quickly, so implementation details may shift.
  • Federated or protocol-specific features may not map to every mainstream social workflow.
  • Analytics availability depends on what the platform and connected account expose.

Guarantees

Developer-first infrastructure

2% error rate

We handle the platform edge cases, media processing, and rate limits so your requests succeed.

Verbose errors

When native APIs fail, we return human-readable error messages and actionable recovery steps.

Flat pricing

No per-post counting. Predictable pricing for teams managing many users, workspaces, and connected accounts.

Same-day support

Direct access to the engineers building the API. We respond to technical issues the same day. Sometimes the same hour. Test us c;

Resources

Technical guides & documentation

FAQ

Questions developers ask before building

Can I publish to Bluesky through bundle.social?

Yes, for supported Bluesky account types and permissions. bundle.social exposes the Bluesky fields you need inside a broader scheduled post workflow.

Does this replace Bluesky AT Protocol?

No. bundle.social runs on top of native platform APIs and reduces the work around publishing, scheduling, status, media, and reporting.

Can I schedule Bluesky posts?

Yes. Send a future postDate, set status to SCHEDULED, and include the BLUESKY payload.

Can I use Bluesky with other platforms?

Yes. Bluesky can run in the same workflow as your other supported social channels.

Are Bluesky analytics supported?

Bluesky analytics are available when the connected account and native API expose the data.