ChirpieDocs
Platforms

Bluesky API for AI agents

Let an AI agent post, thread, schedule and read replies on Bluesky through one Chirpie API key or MCP tool, connected with a Bluesky app password.

Updated October 2026

How do you post to Bluesky from an AI agent?

Connect your Bluesky account to Chirpie once with an app password, then let the agent call POST /api/v1/posts or the chirpie_post MCP tool. Chirpie handles the AT Protocol, rich text facets for links and mentions, image upload and the 300 character limit. Threads publish as native reply chains, and replies come back through the comments API.

What Chirpie does on Bluesky

  • Posts of up to 300 characters, with links, mentions and hashtags turned into Bluesky rich text automatically.
  • Threads of 2 to 25 posts as a native reply chain, all or nothing: if a part fails, every part already published is deleted. See Threads.
  • Media: up to 4 images (JPEG, PNG, WebP or GIF, about 1 MB each, Bluesky's own limit) with alt text up to 2,000 characters. Video is not supported on Bluesky. See Media.
  • Comments: list the replies to a post Chirpie published, answer them, and delete your own replies. See Comments.
  • Analytics: likes, reposts, replies and quotes. See Analytics.
  • Scheduling, drafts and editing: queue a post, save a draft, or edit a post until it goes out. See Scheduling.
  • Several accounts at once: one request publishes to Bluesky and your other networks, with shorter Bluesky text in account_configurations when the main text is too long. See Post to several accounts at once.
  • Delete: removes the post from Bluesky and keeps Chirpie's record of it, marked deleted.

Connect your Bluesky account

Bluesky connects with an app password. Create one in Bluesky under Settings, Privacy and Security, App Passwords, then add Bluesky on the Accounts page, or call the API:

curl -X POST https://chirpie.ai/api/v1/accounts \
  -H "Authorization: Bearer chirpie_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "bluesky",
    "identifier": "yourhandle.bsky.social",
    "app_password": "xxxx-xxxx-xxxx-xxxx"
  }'

From the terminal, chirpie accounts connect-bluesky --handle yourhandle prompts for the app password without echoing it. From an agent, the chirpie_connect_bluesky tool takes the same two values. The handle can be the first part alone, a handle on your own domain, or the account email.

Post from code

curl -X POST https://chirpie.ai/api/v1/posts \
  -H "Authorization: Bearer chirpie_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "YOUR_BLUESKY_ACCOUNT_ID",
    "text": "New on the blog: how we test agents end to end. https://example.com/blog",
    "media": [{ "url": "https://example.com/cover.png", "alt": "Diagram of the test harness" }]
  }'
import { ChirpieClient } from "@chirpie/sdk";

const chirpie = new ChirpieClient({ apiKey: process.env.CHIRPIE_API_KEY! });

await chirpie.createPost({
  account_id: "YOUR_BLUESKY_ACCOUNT_ID",
  text: "Shipping notes for this week are up.",
  schedule_at: "2026-11-02T09:00:00",
  timezone: "Europe/Berlin",
});

The full request reference is Posts and Threads.

Post from Claude or ChatGPT

Add Chirpie to Claude from its listing in the Claude Connectors Directory, or add https://chirpie.ai/mcp as an app in ChatGPT developer mode, and sign in. Then ask:

  • "Post this announcement to Bluesky and Mastodon, and keep the Bluesky version under 300 characters."
  • "Thread these three paragraphs on Bluesky."
  • "Show me the replies to yesterday's Bluesky post and draft an answer to each question."

Setup guides: Claude, ChatGPT. A walkthrough from Claude Code is in Post to Bluesky and Mastodon from Claude Code.

Frequently asked questions

How does Chirpie connect to Bluesky?

With a Bluesky app password, never your account password. Create one in Bluesky under Settings, Privacy and Security, App Passwords, then give Chirpie your handle and the app password. Chirpie refuses an ordinary account password.

How long can a Bluesky post be?

300 characters. Chirpie checks the length before anything is sent and answers 400 with the limit and the length it got, so an agent can shorten the text and try again.

Can Chirpie post video to Bluesky?

Not today. Bluesky posts through Chirpie take up to 4 images of up to about 1 MB each, which is Bluesky's own limit. A video sent to a Bluesky account is refused with 400 unsupported_media rather than dropped.

Yes. Chirpie builds Bluesky's rich text facets for you, so links, mentions and hashtags in the text become clickable on Bluesky.

Which Bluesky metrics does Chirpie report?

Likes, reposts, replies and quotes for each published post. Bluesky publishes no impression counts, so none are reported.

On this page