Bluesky scraper API

Read Bluesky actor and post data from public AT Protocol endpoints.

Social & content 13 capabilities 100.0% success rate

What people use it for

  • Handle and profile verification
  • Social graph snapshotting
  • Post search and discovery monitoring
  • Author feed and follower analytics
  • Post interaction extraction (likes/reposts/thread)
  • Trending-topic and feed discovery

Capabilities

Every capability is one POST /execute call that returns structured JSON.

Get followers

bluesky.actor.get_followers
1 credit / request

List followers for a Bluesky actor.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"actor":"bsky.app","limit":20,"max_pages":2},"capability":"bluesky.actor.get_followers"}'

Input

Field Type Required Description
actor string required
cursor string optional
limit integer optional
max_pages integer optional

Get follows

bluesky.actor.get_follows
1 credit / request

List actors followed by a Bluesky actor.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"actor":"bsky.app","limit":20,"max_pages":2},"capability":"bluesky.actor.get_follows"}'

Input

Field Type Required Description
actor string required
cursor string optional
limit integer optional
max_pages integer optional

Get profile

bluesky.actor.get_profile
1 credit / request

Fetch profile metadata for a Bluesky actor.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"actor":"bsky.app"},"capability":"bluesky.actor.get_profile"}'

Input

Field Type Required Description
actor string required

Resolve handle

bluesky.actor.resolve_handle
1 credit / request

Resolve a Bluesky handle to its DID.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"handle":"bsky.app"},"capability":"bluesky.actor.resolve_handle"}'

Input

Field Type Required Description
handle string required

Search actors

bluesky.actor.search
1 credit / request

Search actors by keyword with cursor pagination.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"limit":10,"max_pages":2,"query":"bluesky"},"capability":"bluesky.actor.search"}'

Input

Field Type Required Description
cursor string optional
limit integer optional
max_pages integer optional
query string required

Get author feed

bluesky.feed.get_author_feed
1 credit / request

Fetch an author's public posts feed with cursor pagination.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"actor":"bsky.app","limit":10,"max_pages":2},"capability":"bluesky.feed.get_author_feed"}'

Input

Field Type Required Description
actor string required
cursor string optional
limit integer optional
max_pages integer optional

Get feed posts

bluesky.feed.get_feed
1 credit / request

Fetch posts from a specific feed URI with cursor pagination.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"feed":"at://did:plc:3h5kz5x2n4q2w3f5n6z5b7b7/app.bsky.feed.generator/science","limit":20,"max_pages":2},"capability":"bluesky.feed.get_feed"}'

Input

Field Type Required Description
cursor string optional
feed string required
limit integer optional
max_pages integer optional

Get feed generators

bluesky.feed.get_feed_generators
1 credit / request

Discover popular feed sources used by the Bluesky app.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"limit":10,"max_pages":1},"capability":"bluesky.feed.get_feed_generators"}'

Input

Field Type Required Description
cursor string optional
limit integer optional
max_pages integer optional

Get post likes

bluesky.feed.get_likes
1 credit / request

List users who liked a post with cursor pagination.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"limit":25,"max_pages":2,"uri":"at://did:plc:4zvfsavw2f4t6o3o3r6h4j6n/app.bsky.feed.post/3ltw5y5q3qv2g"},"capability":"bluesky.feed.get_likes"}'

Input

Field Type Required Description
cursor string optional
limit integer optional
max_pages integer optional
uri string required

Get post thread

bluesky.feed.get_post_thread
1 credit / request

Fetch a post thread with bounded nested replies depth.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"depth":25,"uri":"at://did:plc:4zvfsavw2f4t6o3o3r6h4j6n/app.bsky.feed.post/3ltw5y5q3qv2g"},"capability":"bluesky.feed.get_post_thread"}'

Input

Field Type Required Description
depth integer optional
uri string required

Get repost users

bluesky.feed.get_reposted_by
1 credit / request

List users who reposted a post with cursor pagination.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"limit":25,"max_pages":2,"uri":"at://did:plc:4zvfsavw2f4t6o3o3r6h4j6n/app.bsky.feed.post/3ltw5y5q3qv2g"},"capability":"bluesky.feed.get_reposted_by"}'

Input

Field Type Required Description
cursor string optional
limit integer optional
max_pages integer optional
uri string required

Search posts

bluesky.feed.search_posts
1 credit / request

Search Bluesky posts and return paginated records.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"limit":10,"max_pages":2,"query":"bluesky"},"capability":"bluesky.feed.search_posts"}'

Input

Field Type Required Description
cursor string optional
limit integer optional
max_pages integer optional
query string required

Run Bluesky in under a minute

Sign in, create an API key, and try any capability in the playground before you write code.

Get an API key