API Reference

Bluesky API

Post text, images, and links to Bluesky's decentralized network with a single API call.

Quick Start

Get started in 3 steps

1

Get API Key

Sign up for free and get your API key in seconds.

2

Connect Account

Use our OAuth flow to connect Bluesky accounts.

3

Start Posting

Make API calls to post content to Bluesky.

Post to Bluesky
JavaScript
const response = await fetch('https://getlate.dev/api/v1/posts', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    content: 'Just launched our new API! Check it out 🚀',
    mediaItems: [{ type: 'image', url: 'https://example.com/launch.png' }],
    platforms: [{
      platform: 'bluesky',
      accountId: 'acc_abc123'
    }],
    publishNow: true
  })
});

const post = await response.json();
console.log(post.post._id); // '65f1c0a9e2b5af0012ab34cd'

Endpoints

Bluesky Endpoints

POST/v1/posts

Create or schedule a Bluesky post (text, images, or link card)

GET/v1/posts/{id}

Get status and details of a Bluesky post

DELETE/v1/posts/{id}

Cancel a scheduled Bluesky post

GET/v1/profiles

List all connected Bluesky accounts

Media Specs

Media Requirements

TypeFormatMax SizeNotes
ImageJPEG, PNG1 MBUp to 4 images per post
TextUTF-8300 charsWith facets support
Link CardURLN/AAuto-generates embed

Late automatically transcodes and optimizes media for Bluesky's requirements.

Rate Limits

API Limits

Bluesky uses AT Protocol with rate limits on record creation. Late handles these automatically for reliable posting.

Late handles all rate limiting automatically. We queue and retry requests as needed.

Capabilities

Features

  • Post text, images, and link cards
  • Schedule posts for optimal times
  • Multi-image posts (up to 4)
  • Automatic link embedding
  • Multi-account management
  • Webhook notifications for post status
  • Handle and DID support

Response

Response Example

Response
200 OK
{
  "post": {
    "_id": "65f1c0a9e2b5af0012ab34cd",
    "status": "published",
    "content": "Just launched our new API! Check it out 🚀",
    "platforms": [{
      "platform": "bluesky",
      "accountId": { "_id": "acc_abc123", "username": "yourhandle.bsky.social" },
      "status": "published",
      "platformPostId": "xyz789",
      "platformPostUrl": "https://bsky.app/profile/yourhandle.bsky.social/post/xyz789"
    }],
    "publishedAt": "2025-01-10T10:30:00Z"
  },
  "message": "Post published successfully"
}

Start building with Bluesky API

Skip the AT Protocol complexity. Late handles authentication and record creation so you can ship faster.

Free tier available • No credit card required • 99.97% uptime