Bluesky API

Publish to Bluesky with Zero AT Protocol Knowledge

Post text, images, and videos to Bluesky. No need to learn the AT Protocol — just send a simple API request.

publish.js
javascript
const response = await fetch('https://schedulala.com/api/v1/posts', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sk_live_...',
    'Content-Type': 'application/json'
  },  
  body: JSON.stringify({
    content: 'Hello from the API!',
    platforms: [{
      platform: 'bluesky',
      accountId: 'acc_bs_404'
    }]
  })
});

Supported Content Types

Everything Bluesky supports, available through one API.

📝Text Posts📷Images🎥Videos🔗Link Cards

Bluesky API vs Schedulala

Skip months of integration work. We handle the hard parts.

Direct Bluesky API

  • AT Protocol is complex with DIDs, handles, and record types
  • Image uploads require blob creation before posting
  • Rich text (mentions, links) requires facet byte-offset calculations
  • No official SDK for most languages
  • Session management with refresh tokens is manual

With Schedulala

  • No AT Protocol knowledge needed
  • Rich text facets (mentions, links) calculated automatically
  • Blob uploads handled — just provide image URLs
  • Simple REST API instead of AT Protocol complexity
  • Session management handled transparently

Bluesky Media Limits

Quick reference for Bluesky's content specifications.

📝Caption / Text
300 characters (graphemes)
🖼️Max Image Size
1 MB
🎥Max Video Size
50 MB
⏱️Video Duration
60 seconds
🎠Carousel Items
4 images
📷Image Formats
JPEG, PNG
🎬Video Formats
MP4
📐Aspect Ratio
Any

Bluesky Integration in 3 Steps

From zero to publishing in minutes, not months.

1🔗

Connect

Your users connect their account through our hosted OAuth flow. We handle tokens, refresh, and permissions.

2🛠️

Build

Send a POST request with your content and target platform. Our SDK and REST API make integration simple.

3🚀

We Handle Publishing

We queue, validate, upload media, and publish to the platform. You get a webhook when it's live.

Bluesky-Specific Features

Built for the unique requirements of Bluesky.

🧠

No Protocol Complexity

Skip learning AT Protocol, DIDs, and CIDs. Our API translates simple REST calls to AT Protocol records.

Auto Rich Text

Mentions and links are automatically converted to Bluesky's facet format. Just write natural text.

📈

Growing Platform

Bluesky's user base is growing rapidly. Build integrations now and grow with the platform.

Bluesky API FAQ

Common questions about the Bluesky integration.

No. Schedulala abstracts the AT Protocol entirely. You send a standard REST API request and we handle DIDs, records, blobs, and facets.

Explore Other Platforms

One API, 12 platforms. Publish everywhere from a single integration.

Start Publishing to Bluesky

7-day free trial. Start posting in minutes.