● Live now — no app review

Post to Bluesky via API: connect once, post with one call (2026)

To post to Bluesky via API, create an app password in Bluesky Settings › App Passwords, give PostWire your handle and that app password, and PostWire publishes via the AT Protocol. One REST call or one MCP tool — and it is live today, no app review.

How Bluesky posting works

Bluesky is built on the AT Protocol. Posting programmatically means creating a session with your handle and an app password (a scoped credential you generate in settings, separate from your real password), then writing a record to your repo. PostWire does this for you: you connect once, then post with a single call.

Bluesky needs no audit and no OAuth review — so unlike TikTok or Instagram, you can be posting in under a minute.

1. Connect your Bluesky account

Generate the app password at bsky.app › Settings › App Passwords. PostWire stores it encrypted (AES-256-GCM) and uses it only to post on your behalf. You can also connect from the dashboard without writing code.

curl -X POST https://postwire.io/api/connect \
  -H "Authorization: Bearer $POSTWIRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"bluesky","credentials":{"handle":"you.bsky.social","app_password":"xxxx-xxxx-xxxx-xxxx"}}'

2. Post with one REST call

Once connected, publishing is a single request. Add more networks by putting more strings in platforms — same payload, one call.

curl -X POST https://postwire.io/api/post \
  -H "Authorization: Bearer $POSTWIRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platforms":["bluesky"],"text":"Hello from PostWire 👋"}'

Response: {"results":[{"ok":true,"platform":"bluesky", ...}]}

3. Or let an AI agent post it (MCP)

PostWire ships a first-class MCP server — not docs-only. Add it to any MCP client (Claude, Cursor, your own agent):

{
  "mcpServers": {
    "postwire": {
      "command": "npx",
      "args": ["-y", "postwire-mcp"],
      "env": { "POSTWIRE_API_KEY": "pw_live_xxx" }
    }
  }
}

Then the agent just calls the tool — no HTTP plumbing:

{
  "name": "post_to_social",
  "arguments": { "platforms": ["bluesky"], "text": "Shipped today 🚀" }
}

Bluesky via API: build it yourself vs PostWire

 Direct integrationPostWire
SetupImplement Bluesky's API + authConnect once
Credential storageYou secure itEncrypted (AES-256-GCM)
AI agent supportBuild your own toolMCP tool out of the box
Other networksOne integration each9 networks, one API

Pricing: flat per brand

PlanPriceBrands
Free$01 brand · 30 posts/mo
Starter$93 brands · 300/mo
Pro$2910 brands · 2,000/mo
Agency$9950 brands
Scale$299200 brands

Running 50 brands on Ayrshare costs roughly $779 — and its MCP is docs-only, so an agent can't actually post. See PostWire vs Ayrshare.

Connect Bluesky — free →

FAQ

Can I post to Bluesky via API?
Yes. Bluesky exposes the AT Protocol, which lets you publish posts programmatically using your handle and an app password. PostWire wraps this in one REST endpoint and one MCP tool, so you do not have to implement the AT Protocol yourself.
Do I need an app password for Bluesky?
Yes. Create an app password in Bluesky Settings > App Passwords. It is a scoped credential separate from your login password. You give PostWire your handle and this app password; PostWire stores it encrypted and uses it only to post.
Is Bluesky live on PostWire right now?
Yes. Bluesky is live today with no app review required, alongside Telegram, Mastodon, and Discord. You can connect a Bluesky account and post within a minute.
How does an AI agent post to Bluesky?
PostWire ships a first-class MCP server (postwire-mcp). Your agent calls the post_to_social tool with platforms set to bluesky and the text to publish. PostWire handles the AT Protocol session and record creation and returns the result.
How much does it cost to post to Bluesky?
PostWire's free plan includes 1 brand and 30 posts/month at no cost. Paid plans are flat per brand: Starter $9, Pro $29, Agency $99 for 50 brands, and Scale $299.