Bluesky posting API
yeetpost posts to Bluesky with one HTTP call: POST the text to /api/v2/post/bluesky with an API key. You connect with a Bluesky app password, so there is no OAuth flow to build, and every thread segment is checked against the 300 grapheme limit before anything goes out.
Post with curl
curl -X POST https://api.yeetpost.com/api/v2/post/bluesky \
-H "x-api-key: $YEETPOST_API_KEY" \
-d 'we rewrote the scheduler. three things we got wrong:'The body is the post. The slug in the path is your connection's slug; GET /api/v2/connections lists yours. For several connections, scheduling, drafts and idempotency use POST /api/v2/posts, see the posting guide.
Post from an agent over MCP
claude mcp add --transport http \
--header 'Authorization: Bearer ${YEETPOST_API_KEY}' \
yeetpost https://api.yeetpost.com/api/v2/mcp
# then ask Claude: post this to my BlueskyThe hosted MCP server also accepts an OAuth login, so claude.ai can add it as a custom connector with no key. See MCP for agents.
Bluesky limits
| Text | 300 graphemes |
|---|---|
| Images | Up to 4 per post, 1 MB each (png, jpeg, gif, webp), alt text sent |
| Threads | Yes, up to 24 replies under the head post |
| First comment | No |
| Delete | Yes |
| Metrics read back | Yes |
A post over a text limit is refused whole with 400 text_too_long and a field naming the part to shorten, before anything is sent.
Connecting Bluesky
Create an app password in Bluesky settings and paste it with your handle in the yeetpost dashboard. Running your own PDS is supported with an https service URL.
Fees
Posting to Bluesky is free. Billing is per connected account: the first 2 are free.
Posts are unlimited on every plan. See pricing.
Docs
Last verified 2026-10-29