Bluesky Scraper โ€” Posts, Profiles & Followers avatar

Bluesky Scraper โ€” Posts, Profiles & Followers

Pricing

from $0.000635 / item scraped

Go to Apify Store
Bluesky Scraper โ€” Posts, Profiles & Followers

Bluesky Scraper โ€” Posts, Profiles & Followers

Scrape Bluesky posts, profiles and social graph: a user's posts (text, likes, reposts, replies), profile stats, followers and following. Search users by keyword.

Pricing

from $0.000635 / item scraped

Rating

0.0

(0)

Developer

hiper soft

hiper soft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Bluesky Scraper โ€” Posts, Profiles, Followers & Keyword User Search

Scrape Bluesky posts, profiles, followers and following as structured data. Feed it handles, DIDs or profile URLs โ€” or discover users by keyword โ€” pick a data type, and export engagement counts, post text, media, link cards and profile stats to clean JSON, CSV, Excel or XML. No account and no API key โ€” fast and reliable.

Bluesky Scraper input โ€” actors, search terms and data type in the Apify Console

What does Bluesky Scraper do?

Bluesky Scraper is a crawler that extracts public data from the Bluesky social network. Give it one or more accounts (or a keyword to discover accounts) and choose whether to collect posts, profile info, followers or following. It returns tidy records with full engagement metrics, media, link previews and timeline context, ready to export or pull through the API.

What data can you scrape from Bluesky?

Data pointDescription
Post text & URIPost body, at:// URI and public link
AuthorHandle, display name and DID
Timestamp & languageWhen posted and detected languages
EngagementLikes, reposts, replies, quotes, bookmarks
Timeline contextReply and repost flags
MediaPost images and embed type
Link cardsExternal URL, title and description

What you get

Bluesky Scraper output example โ€” posts with engagement counts and media as structured JSON

Each post is one clean JSON record:

{
"type": "post",
"uri": "at://did:plc:abc123/app.bsky.feed.post/3kxyz",
"handle": "nytimes.com",
"displayName": "The New York Times",
"authorDid": "did:plc:abc123",
"text": "Breaking: ...",
"createdAt": "2026-07-20T14:03:00.000Z",
"langs": ["en"],
"likeCount": 812,
"repostCount": 145,
"replyCount": 63,
"quoteCount": 21,
"bookmarkCount": 9,
"isReply": false,
"isRepost": false,
"embedType": "app.bsky.embed.images#view",
"images": ["https://cdn.bsky.app/img/feed_fullsize/plain/..."],
"externalUrl": null,
"externalTitle": null,
"externalDescription": null,
"url": "https://bsky.app/profile/nytimes.com/post/3kxyz"
}

Output schema

FieldTypeDescription
typestringRecord type, e.g. post, profile, follower.
uristringThe at:// URI identifying the post.
handlestringAuthor's Bluesky handle.
displayNamestringAuthor's display name.
authorDidstringAuthor's decentralized identifier (DID).
textstringFull text of the post.
createdAtstring (ISO date)Timestamp when the post was created.
langsarrayDetected language codes for the post.
likeCountintegerNumber of likes.
repostCountintegerNumber of reposts.
replyCountintegerNumber of replies.
quoteCountintegerNumber of quote posts.
bookmarkCountintegerNumber of bookmarks.
isReplybooleanTrue if the post is a reply.
isRepostbooleanTrue if the record is a repost.
embedTypestringType of embedded media on the post.
imagesarrayURLs of images attached to the post.
externalUrlstringURL from an embedded link card, if any.
externalTitlestringTitle from an embedded link card.
externalDescriptionstringDescription from an embedded link card.
urlstring (URL)Direct link to the post on bsky.app.

Use cases

  • Track engagement on a brand or competitor's Bluesky posts over time.
  • Build follower/following graphs for network and influencer analysis.
  • Discover accounts in a topic niche via keyword search, then pull their feeds.
  • Monitor news outlets and public figures for social listening dashboards.
  • Assemble datasets for research on discourse, sentiment and trends.
  • Enrich CRM and outreach lists with public profile signals.

How to scrape Bluesky data

  1. Add Bluesky Scraper to your Apify account and open the input.
  2. Enter one or more actors (handles, DIDs or profile URLs), or add searchTerms to discover accounts by keyword.
  3. Choose the dataType: posts, profile, followers or following.
  4. Set maxItemsPerActor (and maxSearchActors) to control volume, then click Run.
  5. Export the results as JSON, CSV, Excel or XML, or pull them through the Apify API.

Input

{
"actors": ["jay.bsky.team", "https://bsky.app/profile/nytimes.com"],
"searchTerms": ["climate news"],
"dataType": "posts",
"maxItemsPerActor": 100,
"maxSearchActors": 25
}
FieldDescription
actorsHandles, DIDs, or profile URLs to scrape.
searchTermsKeywords; matching users are found and scraped too.
dataTypeposts, profile, followers, or following.
maxItemsPerActorMax posts/followers/following per user (up to 20000).
maxSearchActorsHow many users to take from each search term.

Need more social data?

FAQ

How many posts or followers can I scrape? Up to 20,000 items per account โ€” set maxItemsPerActor to control volume.

Do I need a Bluesky account or API key? No. There's no setup and no login โ€” just add accounts or keywords and run.

Can I discover accounts I don't know yet? Yes. Add searchTerms and the scraper finds matching accounts and scrapes them alongside your list.

What export formats are supported? JSON, CSV, Excel and XML, plus programmatic access via the Apify API.

How fresh is the data? Every run reads live public data, so results reflect the current state of each account.

Can Bluesky Scraper connect to my other tools? The Bluesky Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.

Is scraping Bluesky legal? The scraper reads only public, unauthenticated data. You are responsible for complying with Bluesky's terms and applicable laws.

Notes

Original clean-room implementation. Returns only public data; you are responsible for compliance with Bluesky's terms. Not affiliated with Bluesky.