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.

Request
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

EndpointWhat it doesScope
GET/accounts/{platform}/{handle}
Check one account against our catalogdirectory:read
GET/accounts/{platform}/{handle}/livelive
Check one account live, at the sourcescrape:live
GET/accounts/resolve
Find one handle on every platform at oncedirectory:read
GET/directory/{platform}
List and filter a catalogdirectory:read
GET/directory/{platform}/{id}
One account or channeldirectory:read
GET/directory/{platform}/{id}/growth
Daily audience historydirectory:read
GET/directory/{platform}/{id}/followers
Inbound graph edgesdirectory:read
GET/directory/{platform}/{id}/following
Outbound graph edgesdirectory:read
POST/directory/{platform}/bulk
Resolve up to 100 records at oncedirectory:read
GET/directory/{platform}/facets
Distribution of the catalogdirectory:read
GET/directory/search
Search every platform at oncedirectory:read
GET/people/lookup
Find one handle across every catalogdirectory:read
GET/people/search
Find accounts matching audience and engagement criteriadirectory:read
GET/scrape/bluesky/verifylive
Prove ownership of a Bluesky accountscrape:live

Across all platforms

EndpointWhat it doesScope
GET/accounts/platforms
What a check can answer, per platformdirectory:read
POST/accounts/check
Check up to 50 accounts at oncedirectory:read
GET/directory
Catalog capability mapdirectory:read
GET/scrape/status
Live backend health and capacityscrape:live
GET/insights/audience
Who follows an account, and what they have in commoninsights:read
GET/research/findings
Findings the research engine is willing to stateresearch:read
GET/research/findings/{id}
One finding with its full test historyresearch:read
GET/research/runs
Research pass historyresearch:read
GET/research/events
The research changelogresearch:read
GET/engines
Operational health of every insight engineengines:read
GET/engines/{key}
One engine in detailengines:read
GET/marketplace/listings/{id}
Get one public listingmarketplace:read
GET/marketplace/stats
Platform totalsmarketplace:read
GET/marketplace/leaderboard
Best-selling sellersmarketplace:read
GET/marketplace/pricing
Live fee schedule and boost packagesmarketplace:read
GET/tools
List every analysis tooltools:use
POST/tools/valuationlive
Value an X accounttools:use
POST/tools/shadowban-checklive
Check an X account for visibility filteringtools:use
POST/tools/follower-auditlive
Audit an X account's followers for fakestools:use
POST/tools/engagement-calculatorlive
Measure an X account's engagement ratetools:use
POST/tools/best-posting-timelive
Find when an X account should posttools:use
POST/tools/algorithm-scorelive
Score an X account against the ranking signalstools: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 posttools:use
POST/tools/mention-checkerlive
See who is mentioning an X accounttools:use
POST/tools/growth-simulator
Project how long a follower target takestools:use
GET/tools/profile-piclive
Fetch an X profile picture URLtools:use
Read the full reference, with every parameter and response

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.