Bluesky Scraper: Profiles, Posts, Followers & Threads
Pricing
from $2.00 / 1,000 posts
Bluesky Scraper: Profiles, Posts, Followers & Threads
Scrape Bluesky profiles, author feeds, followers, follows, threads, likes, custom feeds and account search through the official AT Protocol API. No login needed for anything except post search.
Pricing
from $2.00 / 1,000 posts
Rating
0.0
(0)
Developer
Alex Burton
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Collect Bluesky data through the official AT Protocol API — not by scraping web pages. No API key, and no login for eight of the nine jobs.
| Mode | What you get |
|---|---|
| Profiles | Handle, display name, bio, follower and following counts, post count, join date, verification status |
| Account's posts | Every post with full text, like/repost/reply/quote counts, images, links and quoted posts |
| Followers | The full follower list of an account, as profile rows |
| Following | Everyone an account follows |
| Account search | Accounts matching a query |
| Thread with replies | A root post plus its reply tree, flattened with a depth number on every row |
| Who liked a post | Every account that liked a given post |
| Custom feed | Any feed generator's output by its at:// URI |
| Post search | Full-text post search — the one mode Bluesky requires a login for |
Why use this one
- Official API, so it does not silently break. Bluesky publishes the AT Protocol XRPC endpoints and keeps them stable. Scrapers that parse bsky.app HTML break whenever the site is restyled.
- No login for almost everything. Profiles, feeds, followers, threads, likes and account search need no credentials at all.
- Nine jobs in one Actor. One subscription, one output format, instead of stitching together several single-purpose tools.
- Real pagination. Follower lists and busy feeds are walked with the API's own cursor until your limit is reached, so you get 10,000 followers if you ask for them.
- Flat output. One row per post, profile or like — ready for Excel, a database or an AI pipeline, with no nested JSON to unpick.
How to use it
- Choose What to scrape.
- Fill in the matching field: Accounts, Posts, Search terms or Custom feeds.
- Set your per-account or per-search limit.
- Click Start, then download results as JSON, CSV, Excel or HTML, or fetch them through the Apify API.
Accounts are accepted in any of these forms:
alice.bsky.social@alice.bsky.socialdid:plc:z72i7hdynmk6r22z27h6tvurhttps://bsky.app/profile/alice.bsky.social
Posts are accepted as either:
https://bsky.app/profile/alice.bsky.social/post/3mxuhaky3rc23at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3mxuhaky3rc23
Example input: an account's recent posts
{"mode": "authorFeed","actors": ["bsky.app"],"feedFilter": "posts_no_replies","maxItemsPerAccount": 500}
Example input: a full follower list
{"mode": "followers","actors": ["alice.bsky.social"],"maxItemsPerAccount": 10000}
Output
Each item carries a type field: post, profile or like. The dataset ships with Posts, Profiles and Likes table views.
Post
{"type": "post","uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3mxuhaky3rc23","url": "https://bsky.app/profile/bsky.app/post/3mxuhaky3rc23","text": "A new version of the app is rolling out today.","createdAt": "2026-10-16T20:09:31Z","likeCount": 441,"repostCount": 61,"replyCount": 68,"quoteCount": 52,"authorHandle": "bsky.app","authorDisplayName": "Bluesky","isReply": false,"languages": ["en"],"imageUrls": []}
Profile
{"type": "profile","did": "did:plc:z72i7hdynmk6r22z27h6tvur","handle": "bsky.app","displayName": "Bluesky","description": "Official account.","followersCount": 1234567,"followsCount": 42,"postsCount": 980,"createdAt": "2023-04-12T04:53:57Z","url": "https://bsky.app/profile/bsky.app"}
Pricing
Pay only for results:
| Result | Price |
|---|---|
| Post | $2.00 per 1,000 |
| Profile (incl. followers and following) | $4.00 per 1,000 |
| Like | $1.00 per 1,000 |
Set a maximum spend per run in the run options and the Actor stops cleanly when it's reached.
Limits to know about
- Post search needs a login. Bluesky answers
app.bsky.feed.searchPostswith 403 for anonymous callers, so that mode asks for your handle and an app password. Create one at Settings → Privacy and security → App passwords — never use your real account password. An app password can be revoked at any time and cannot change your account settings. Every other mode ignores these fields. - Only public data. The API returns what a logged-out visitor can see. Posts from accounts that have opted out of public visibility, and anything behind a block, are not returned.
- Threads are capped at 2,000 posts per root post to keep runs predictable. Very large reply trees are truncated.
- Follower order is Bluesky's own and is not strictly chronological.
- Follower, following, like and account-search rows are Bluesky's short profile: handle, display name, bio, avatar and join date. Bluesky's list endpoints leave out follower and post counts, so those fields are null there; run Profiles on the accounts you care about to get them.
- The public AppView rate-limits heavy use. If the log shows repeated retries, lower Max parallel requests.
FAQ
Do I need a Bluesky account? Not for profiles, feeds, followers, threads, likes or account search. Only post search does.
Is the app password safe to give? Apify stores secret inputs encrypted, and the Actor only uses it to mint a short-lived session token for the search request. It is never written to the dataset or the log. You can revoke it in Bluesky's settings whenever you like.
Can I monitor an account daily? Yes. Use Account's posts, set a schedule in Apify Console, and connect the dataset to Slack, Google Sheets, Zapier or Make.
Why did a custom feed return nothing? The feed at:// URI was wrong or the generator is offline. Open the feed on bsky.app and copy its URI again.
Is this allowed? The Actor uses Bluesky's documented public API and reads only public data. Profiles and posts contain personal data, so handle the output in line with GDPR and any other law that applies to you.
Feedback
Found a bug or need a field that's missing? Open an issue on the Actor's Issues tab.