Bluesky API for account data
Read any Bluesky account by handle or DID: followers, follows, post count and a description-code check that proves ownership. Bluesky's own AppView is free and open, so the reason to use this one is that it answers in the same shape, with the same key, as the six other platforms you are already reading.
- Endpoints for Bluesky
- 42
- Free to start
- 500 requests
- Paid from
- $69/ 30 days
One request, no application
Send a key, get an answer. Every endpoint on this page uses the same header, the same envelope and the same error codes as the other six platforms.
curl "https://api.playersells.com/v2/accounts/bluesky/bsky.app" \
-H "Authorization: Bearer $PLAYERSELLS_API_KEY"What the Bluesky API returns
- handle, DID and display name
- description (bio)
- follower, follows and post counts
- verification status where the network publishes one
- avatar URL
- follower history for accounts in the catalog
Where the data comes from
The public Bluesky AppView, plus our own catalog for history. Bluesky is the most open source on this list, and we say so: if you only ever need Bluesky, its own API is free and you should use it.
What this API cannot do
- Bluesky's own API is free and rate limited generously. If Bluesky is the only platform you need, use it directly - this endpoint earns its place by being one of seven behind a single contract, not by being cheaper.
- Accounts that have never been seen by our crawler have no history until the first read.
Bluesky endpoints
14 built specifically for Bluesky, plus 28 that cover every platform.
Specific to Bluesky
| Endpoint | What it does | Scope |
|---|---|---|
GET/accounts/{platform}/{handle} | Check one account against our catalog | directory:read |
GET/accounts/{platform}/{handle}/livelive | Check one account live, at the source | scrape:live |
GET/accounts/resolve | Find one handle on every platform at once | directory:read |
GET/directory/{platform} | List and filter a catalog | directory:read |
GET/directory/{platform}/{id} | One account or channel | directory:read |
GET/directory/{platform}/{id}/growth | Daily audience history | directory:read |
GET/directory/{platform}/{id}/followers | Inbound graph edges | directory:read |
GET/directory/{platform}/{id}/following | Outbound graph edges | directory:read |
POST/directory/{platform}/bulk | Resolve up to 100 records at once | directory:read |
GET/directory/{platform}/facets | Distribution of the catalog | directory:read |
GET/directory/search | Search every platform at once | directory:read |
GET/people/lookup | Find one handle across every catalog | directory:read |
GET/people/search | Find accounts matching audience and engagement criteria | directory:read |
GET/scrape/bluesky/verifylive | Prove ownership of a Bluesky account | scrape:live |
Across all platforms
| Endpoint | What it does | Scope |
|---|---|---|
GET/accounts/platforms | What a check can answer, per platform | directory:read |
POST/accounts/check | Check up to 50 accounts at once | directory:read |
GET/directory | Catalog capability map | directory:read |
GET/scrape/status | Live backend health and capacity | scrape:live |
GET/insights/audience | Who follows an account, and what they have in common | insights:read |
GET/research/findings | Findings the research engine is willing to state | research:read |
GET/research/findings/{id} | One finding with its full test history | research:read |
GET/research/runs | Research pass history | research:read |
GET/research/events | The research changelog | research:read |
GET/engines | Operational health of every insight engine | engines:read |
GET/engines/{key} | One engine in detail | engines:read |
GET/marketplace/listings/{id} | Get one public listing | marketplace:read |
GET/marketplace/stats | Platform totals | marketplace:read |
GET/marketplace/leaderboard | Best-selling sellers | marketplace:read |
GET/marketplace/pricing | Live fee schedule and boost packages | marketplace:read |
GET/tools | List every analysis tool | tools:use |
POST/tools/valuationlive | Value an X account | tools:use |
POST/tools/shadowban-checklive | Check an X account for visibility filtering | tools:use |
POST/tools/follower-auditlive | Audit an X account's followers for fakes | tools:use |
POST/tools/engagement-calculatorlive | Measure an X account's engagement rate | tools:use |
POST/tools/best-posting-timelive | Find when an X account should post | tools:use |
POST/tools/algorithm-scorelive | Score an X account against the ranking signals | tools:use |
POST/tools/bio-optimizerlive | Score and rewrite an X bio (AI) | tools:use |
POST/tools/profile-roastlive | Roast and fix an X profile (AI) | tools:use |
POST/tools/tweet-analyzerlive | Analyze a single X post | tools:use |
POST/tools/mention-checkerlive | See who is mentioning an X account | tools:use |
POST/tools/growth-simulator | Project how long a follower target takes | tools:use |
GET/tools/profile-piclive | Fetch an X profile picture URL | tools:use |
Bluesky API questions
Why use this instead of Bluesky's free API?
If Bluesky is all you need, do not: theirs is free and open, and we will say so rather than pretend otherwise. This endpoint is worth using when you are already reading X, Instagram, TikTok, YouTube, Telegram or LinkedIn through one key and one response envelope, and you would rather not write and maintain a seventh integration for one network.
Can I verify a Bluesky account owner?
Yes. The owner puts a short code in their profile description and you call the verification endpoint with the handle and the code. It reads the profile live and returns true or false plus the matched text.
The same API, on six other platforms
One key, one envelope, one bill. Reading a second platform is a different path, not a different integration.