All integrations
Get an API key
Bluesky
Post, read timelines and follow accounts on Bluesky over AT Protocol.
Social
How an agent reaches it
MCPREST APICLI
How you authenticate
API key
- In the Bluesky app open Settings, then App passwords, and create one.
- Exchange the app password for a session: POST /xrpc/com.atproto.server.createSession with {identifier, password}.
- Store the returned accessJwt. It expires in roughly two hours, so re-create the session when calls start 401ing.
Connection details
- Base URL
- https://bsky.social/xrpc
- Pagination
- cursor
Common endpoints
| create a session (do this first) | POST /com.atproto.server.createSession |
| who am I | GET /com.atproto.server.getSession |
| post | POST /com.atproto.repo.createRecord |
| read your timeline | GET /app.bsky.feed.getTimeline |
| read an author feed | GET /app.bsky.feed.getAuthorFeed?actor={handle} |
Worth knowing
- The credential you store is a SESSION token (accessJwt), not the app password, and it expires in about two hours. Re-run createSession on a 401.
- Posts are records in the app.bsky.feed.post collection, created through com.atproto.repo.createRecord.
- createdAt must be an ISO 8601 string or the record is rejected.
- Text is limited to 300 graphemes, and links need explicit facets to be clickable.