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
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
What bundle.social handles
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.
Create an API key
Generate an organization API key in the dashboard and use it with the x-api-key header.
Connect accounts
Connect each social account once. bundle.social keeps the account mapping ready for future posts.
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.
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
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.