Bluesky API reference
Get public Bluesky profiles, posts, threads, followers, likes, feeds and trending topics as clean JSON. Send a handle, a post link or a feed. No Bluesky account or app password.
The Bluesky API has 12 endpoints, called the same way: POST /execute with the endpoint ID as capability and its fields as input, or pin Bluesky in the MCP server and call each one as a tool. The data comes back as JSON in results[0].data, with what the call cost in billing.credits_charged.
The inputs you send most are actor and uri. Prices run from 0.75 credits to 0.75 credits per call, and a failed call costs nothing.
Endpoints
Open an endpoint for its input, the fields it returns and the request in cURL, Python and Node.js.
| Endpoint | What it returns | Price |
|---|---|---|
bluesky.actor.get_profile |
Get a profile from its handle, DID or bsky.app link: name, bio, followers, follows and post count. | 0.75 credits |
bluesky.feed.get_author_feed |
List an account's posts and reposts, newest first, with text, author, language and time, page by page. | 0.75–150 credits |
bluesky.feed.get_post_thread |
Get a post with its replies, nested a few levels deep, and the post it answers. | 0.75 credits |
bluesky.actor.search |
Find accounts by keyword, page by page. | 0.75–150 credits |
bluesky.actor.get_followers |
List an account's followers, page by page. | 0.75–150 credits |
bluesky.actor.get_follows |
List the accounts an account follows, page by page. | 0.75–150 credits |
bluesky.feed.get_likes |
List the accounts that liked a post. | 0.75–150 credits |
bluesky.feed.get_reposted_by |
List the accounts that reposted a post. | 0.75–150 credits |
bluesky.feed.get_trending_topics |
Get the topics trending on Bluesky now: title, summary, category and how many posts each has. | 0.75 credits |
bluesky.feed.get_feed_generators |
Discover the popular custom feeds people use on Bluesky, with their likes. | 0.75–150 credits |
bluesky.feed.get_feed |
Read the posts in any public custom feed, page by page. | 0.75–150 credits |
bluesky.actor.resolve_handle |
Turn a handle into its permanent DID. | 0.75 credits |
What to know
- Public data only Every call reads what Bluesky makes public to anyone.
- Counts at the moment of the call Followers, likes and post counts are Bluesky's own numbers when you call. A count Bluesky does not give is left out, never shown as zero.
- Handles can change, DIDs do not Store an account's DID if you track it over time; a handle can be renamed.
- Next pages List endpoints return next_cursor and has_more. Send the cursor back to continue.
Something missing or unclear? Ask the team that builds the Bluesky endpoints.