SocialAPI.ai

The Bluesky API for posts, replies, mentions, and DMs

Post, replies, mentions, and DMs on Bluesky through one API.

  • Free tier, no credit card
  • Instant API key
  • MCP server included
On Bluesky

Ledge Skate & Shoe @ledge.skateOct 6

New white lows just landed. In store Saturday, all sizes.

POST/v1/posts201 Created

Capabilities: What you can build on Bluesky

Every capability is one endpoint, the same one you call on every other platform.The screens show where each call lands.

  • Comments

    Read the replies under your Bluesky posts and reply back through the same comment endpoints used on every other platform.

    • GET/v1/inbox/comments/{postId}
    • POST/v1/inbox/comments/{postId}
    Post

    Ledge Skate & Shoe

    @ledge.skate

    New white lows just landed. In store Saturday, all sizes.

    2:00 PMOct 6, 2026

    Maya R. @maya.bsky.social2h

    Do these come in black?

    Ledge Skate & Shoe @ledge.skate1m

    Yes, black with a gum sole, sizes 36 to 46.

    Jin K. @jink.bsky.social5h

    Skated mine all weekend, the grip is unreal.

  • Direct Messages

    Read DM conversations and send messages through the same unified inbox you use for Instagram and Facebook messaging.

    • GET/v1/inbox/conversations
    • POST/v1/inbox/conversations/{id}/messages

    Lena S.

    @lena.bsky.social

    Wednesday at 6:42 PM

    Beginners welcome at the jam?

    Totally, we bring loaner boards.

    Today at 9:12 AM

    Is Saturday's jam on if it rains?

    ❤️
    Lena S.Is Saturday's jam on if it rains?

    Moved indoors, 2pm at the warehouse.

    Read

    I'm inCan't make it
  • Mentions

    Fetch posts mentioning your connected handle through the same dedicated mentions endpoint used for Instagram and X.

    • GET/v1/accounts/{id}/mentions
    • posts mentioning your handle
  • Publishing

    Publish through the same POST /v1/posts call as every other platform. GET /v1/posts/validate returns what a Bluesky post accepts before you send it.

    • POST/v1/posts
    • GET/v1/posts/validate
    • publish
    • check constraints first
  • Webhooks

    New Bluesky interactions arrive on your single configured webhook endpoint, in the same envelope as every other platform.

    Webhook events

    • comment.received
    • dm.received
    • mention.received

On every platform

  • Agent-ready

    Every Bluesky capability is a typed tool on the SocialAPI.ai MCP server.

    • social_api_validate_post
    • social_api_list_post_comments
    • social_api_send_dm
  • One API key

    The key that calls Bluesky calls all 13 platforms.

    Authorization: Bearer sapi_key_…
  • Predictable errors

    The same status codes everywhere, whatever the platform behind them.

    • 401expired token
    • 429rate limited
    • 501not on this platform

Call the Bluesky API

Publish a post to Bluesky

The same POST /v1/posts endpoint you already use for every other platform. Add a Bluesky account to the targets array and nothing else in your publishing code changes.

curl -X POST https://api.social-api.ai/v1/posts \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "targets": [{ "account_id": "<bluesky-account-id>" }],
    "text": "Shipped Bluesky support today. Same API, one more platform.",
    "publish_now": true
  }' | jq

# Response
{
  "id": "<post-id>",
  "status": "published",
  "targets": [
    {
      "platform": "bluesky",
      "account_id": "<bluesky-account-id>",
      "status": "published",
      "platform_post_id": "at://...",
      "published_at": "2026-09-14T18:00:00Z"
    }
  ]
}

In depth: How the Bluesky API works on SocialAPI.ai

Publish to Bluesky, read the replies under your posts, track mentions of your handle, and read and send DMs through the same unified API you already use for every other platform. Connect an account once with its handle and an app password, and every interaction comes back in the same schema, on the same webhook endpoint, with the same error codes.

Publishing through the endpoint you already call

Bluesky posts go out through the same POST /v1/posts request as Instagram, LinkedIn, or Threads. Add a Bluesky account to the targets array and the rest of your publishing code is untouched. Ask GET /v1/posts/validate what a Bluesky post accepts instead of hard-coding the platform's limits into your app.

Replies under your posts

Read the replies on your Bluesky posts and reply back through the same comment endpoints used across every other connected platform. A reply on Bluesky arrives in the same shape as a comment on Instagram, so your moderation and support queues need no Bluesky-specific branch.

Mentions of your handle

Fetch posts mentioning your connected handle through the same mentions endpoint used for Instagram and X. Poll it on a schedule, or let the mentions land on your webhook, and build brand monitoring or a support queue once for every platform at the same time.

Direct messages

List DM conversations, read message history, and send replies through the unified inbox endpoint, the same request and response shape you already use for Instagram and Facebook messaging. Bluesky does not need its own code path.

One schema, one webhook, one set of error codes

Posts, replies, mentions, and DMs on Bluesky come back in the same unified interaction schema as every other platform, arrive on the same single webhook endpoint in the same envelope, and fail with the same HTTP sentinels: 401 for an expired token, 429 when the platform throttles you, 501 for something a platform does not support. Bluesky is a new target for code you have already written.

Simple, honest pricing.

Reading comments, DMs, and mentions is free and unlimited on every plan. Paid plans start at $29/mo with unlimited posts and interactions. The free tier needs no credit card.

Frequently asked questions

What developers ask before they ship Bluesky.

Does Bluesky have an API?

Yes. Bluesky is built on the AT Protocol and SocialAPI.ai exposes it through the same REST API as every other platform: publish posts, read and write replies, fetch mentions of your handle, and read and send DMs with one API key.

Can I publish to Bluesky through the API?

Yes. Send a POST /v1/posts request with a Bluesky account in the targets array, exactly as you would for Instagram or LinkedIn. Call GET /v1/posts/validate first if you want to check what a Bluesky post accepts before publishing.

Can I read and reply to comments on my Bluesky posts?

Yes. Replies under your Bluesky posts are read and answered through the same comment endpoints used on every other platform, and each one comes back in the same normalized schema as a comment from Instagram or Facebook.

Can I send Bluesky DMs through the API?

Yes. List conversations and send messages through the same /v1/inbox/conversations endpoints used for Instagram and Facebook DMs. There is no separate Bluesky messaging integration to build.

How do I connect a Bluesky account?

With the handle, for example @yourname.bsky.social, and an app password generated in Bluesky settings. There is no OAuth flow: the AT Protocol does not offer one. The app password is encrypted at rest, is scoped to what you grant it, and can be revoked from Bluesky at any time.

Can AI agents post to Bluesky?

Yes. The built-in MCP server exposes publishing and inbox reads as tools, so Claude and other MCP-capable agents can draft Bluesky posts and replies inside your existing approval flow.

Every other platform, one API: Every other platform, one API

Same key, same shapes, same webhook.

Ready to unify your social interactions?

Free tier available. No credit card required. Ships with the MCP server.