Post text, images, video and threads to Bluesky with one API call — no AT Protocol sessions, no manual rich-text facets, no blob upload steps. We handle atproto so you ship in hours, not weeks.
✓ 5 minutes to first post ✓ 99.92% uptime ✓ Posts, threads & rich-text
curl https://api.outstand.so/v1/posts/ \
-H "Authorization: Bearer $OUTSTAND_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "content": "hello from the API 🦋 read more at https://outstand.so", "accounts": ["bluesky"] }'Links, @mentions and #hashtags become clickable automatically. Add up to 4 images, or containers[] for a thread.
Posting on Bluesky means speaking the AT Protocol directly: authenticate a session against the user's PDS, resolve their DID, and createRecord with byte-indexed rich-text facets for every link, mention and hashtag. Images are blobs you upload then reference. Outstand turns all of it into a single request.
Every content type and capability available on Bluesky via Outstand today.
Plus automatic rich-text facets — links, @mentions and #hashtags are made clickable for you. Reading or replying to replies is not yet exposed.
The same accounts array also fans out to X, Threads, LinkedIn and more — one request, many platforms.
curl https://api.outstand.so/v1/posts/ \
-H "Authorization: Bearer $OUTSTAND_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "launch day 📸",
"accounts": ["bluesky"],
"media": [
{ "url": "https://media.outstand.so/1.jpg", "filename": "1.jpg" },
{ "url": "https://media.outstand.so/2.jpg", "filename": "2.jpg" }
]
}'curl https://api.outstand.so/v1/posts/ \
-H "Authorization: Bearer $OUTSTAND_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accounts": ["bluesky"],
"containers": [
{ "content": "a thread on building in the open 🧵" },
{ "content": "1/ share early" },
{ "content": "2/ listen, then ship" }
]
}'curl https://api.outstand.so/v1/posts/ \
-H "Authorization: Bearer $OUTSTAND_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "big news 👉 https://outstand.so/blog — h/t @alice.bsky.social #buildinpublic",
"accounts": ["bluesky"]
}'curl https://api.outstand.so/v1/posts/ \
-H "Authorization: Bearer $OUTSTAND_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "content": "going live Friday ⏰", "accounts": ["bluesky"], "scheduledAt": "2026-07-03T16:00:00Z" }'curl https://api.outstand.so/v1/posts/{id}/analytics \
-H "Authorization: Bearer $OUTSTAND_API_KEY"
# → likes, reposts, replies, quotesFrom signup to your first published Bluesky post in about five minutes.
Your user connects via OAuth or an app password. We manage the AT Protocol session and resolve their DID — no app review required.
Send text and media with accounts: ["bluesky"]. Use containers[] for a thread, or add scheduledAt to schedule.
Facet computation, blob upload, reply refs and retries — returned as a unified response with the published post URI.
One integration that grows with everything you ship next.
One request publishes to Bluesky and 10 more networks. Same JSON shape everywhere — learn one API, ship them all.
No app review on Bluesky — connect via OAuth or an app password. Use our Managed Keys, or your own credentials.
Intelligent rate limiting, automatic token refresh, webhook events and media processing.
$19/mo includes 3,000 posts, then from $0.007/post. No seats, no annual lock-in.
Same endpoints, same data shapes — pick what you ship.
Let your users queue and auto-publish Bluesky content from your app.
Give Claude or GPT a tool to post to Bluesky. MCP server included.
Pull Bluesky reach and engagement alongside every other platform.
Run Bluesky posting for clients under your own brand and app.
The questions developers ask before they build.
Yes — Bluesky is built on the open AT Protocol, which lets apps create posts, threads and media records and read engagement. Outstand is a managed layer on top of it, so you skip the session, DID and facet handling.
You connect with OAuth or a Bluesky app password. Outstand stores the credential securely and manages the AT Protocol session for you — there is no app-review process on Bluesky.
Yes. Add up to 4 images (or a video) in the media array and Outstand uploads each as a blob and embeds it in the post record.
Yes. The AT Protocol requires byte-indexed rich-text facets for these to be clickable. Outstand computes the facets automatically, so URLs, @handles and #hashtags in your content just work.
Yes. Send a containers[] array — the first container is the root post and each following container is published as a reply with the correct root and parent refs.
Yes. Add a scheduledAt ISO-8601 timestamp (up to 30 days ahead) and Outstand publishes it automatically — no cron or queue on your side.
Yes. Bluesky supports deleting records via the API, and Outstand exposes it through DELETE /v1/posts/{id}/remote.
Grab an API key and publish your first Bluesky post in the next five minutes. 3,000 posts included, then from $0.005/post.