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.
PostWire's Smart Distribute turns a single prompt (plus optional media) into the best native post for every network — never the same text everywhere, which every algorithm penalizes. For Bluesky it writes in a human, non-corporate tone that fits the network's culture, while it simultaneously reframes the same idea for TikTok, YouTube, X, LinkedIn and the rest. AI generation is included free on every plan (you pay for brands, not per post) and is one MCP tool (generate_posts) or one REST call (POST /api/generate).
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"}}'
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", ...}]}
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 🚀" }
}
| Direct integration | PostWire | |
|---|---|---|
| Setup | Implement Bluesky's API + auth | Connect once |
| Credential storage | You secure it | Encrypted (AES-256-GCM) |
| AI agent support | Build your own tool | MCP tool out of the box |
| Other networks | One integration each | 9 networks, one API |
| Plan | Price | Brands |
|---|---|---|
| Free | $0 | 1 brand · 30 posts/mo |
| Starter | $9 | 3 brands · 300/mo |
| Pro | $29 | 10 brands · 2,000/mo |
| Agency | $99 | 50 brands |
| Scale | $299 | 200 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 →