Best Bluesky API for profile data
The AT Protocol is public, documented and needs no key — so the question is not access. It is whether whoever you pick anchors on the DID instead of the handle.
What to require of any vendor here
- Ask what it returns as the account id. On Bluesky a handle is a domain pointed at an account: it can be changed, released and taken by somebody else. A vendor that keys on the handle will follow the wrong account the first time one moves, and nothing will error.
- Ask whether it reads the official API or a page. This one needs no key and no account, so a vendor charging for a browser here is charging for work it does not have to do.
Where the number actually lives
We read followersCount from public.api.bsky.app (official, no key) — app.bsky.actor.getProfile. Handle format: AT Protocol handle, which is a domain name: `bsky.app`, `alguem.bsky.social`. Dots are part of it; slashes are refused.
What you are handing over
The AT Protocol is public and documented, so this is the cheapest read of the ten — 634 bytes on the wire when measured. What you are handing over is keeping the DID anchor right when a handle moves, and the same field names as the other nine.
What this does not return
- No private accounts. Bluesky has no private profile, so is_private is null.
- No handle-only identity. The anchor is the DID — did:plc: or did:web: — because a handle can be changed and reassigned, and the DID cannot.
- No email or anything behind a login. We read the public AT Protocol record, which is what a logged-out client reads.
Our endpoints for this platform — 3
bluesky/profile— Public profile on bluesky, with the exact follower count.bluesky/posts— Recent posts from a public profile on bluesky.bluesky/post— A single Bluesky post by its AT Protocol URI, with likes, reposts, replies and quotes.
Shape, parameters and the errors each one returns are in the endpoint reference, and this platform has its own page with the recorded response.
What the alternatives cost
We do not restate competitor prices here. The vendor pages carry them — 35 of them — each price read on that vendor's own page, with the date we read it. Readings run from 2026-09-05 to 2026-10-03.
A price copied into a second place is a price that will disagree with itself the first time a vendor changes one. Verify on their page before deciding — we are an interested party.
Reading Bluesky yourself is the part above. Reading it through one call is the part we sell.