Bluesky Scraper: Search Posts, Profiles and Feeds
Pricing
Pay per event
Bluesky Scraper: Search Posts, Profiles and Feeds
Scrape Bluesky posts by keyword or hashtag (latest/top, date range, language) and any profile's posts plus follower stats. Likes, reposts, replies, quotes, links, images. No login, no proxies. $0.80 per 1,000 results.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Trevor Staubach
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Bluesky Scraper: Search Posts, Hashtags, Profiles & Feeds
Collect Bluesky posts by keyword, phrase or #hashtag (latest or top, with date range and language filters) and any profile's posts plus follower stats, all in one clean dataset. Every post includes text, timestamps, author, likes, reposts, replies, quotes, bookmarks, hashtags, links, mentions, images, video, quoted post and reply info. $0.80 per 1,000 results. No Bluesky account, API key or proxies needed.
Why this scraper
- Lower price. $0.80 per 1,000 results, with no extra start fee beyond $0.00005.
- Search and profiles in one run. Mix keyword searches and handles freely.
- Full Bluesky search syntax:
from:handle,"exact phrase",#tag,domain:example.com,lang:and more, plus date range and language inputs. - Engagement filter.
minLikesdrops low-signal posts before they are saved, so you don't pay for them. - Fast: 100 posts per request against the official public Bluesky API. A typical 1,000-post run finishes in seconds.
Use cases
Brand and keyword monitoring, social listening, influencer research, competitor tracking, academic and sentiment datasets, archiving accounts.
Input
| Field | Description |
|---|---|
searchQueries | Keywords, phrases, #hashtags or search operators. |
profiles | Handles, bsky.app/profile/... URLs or DIDs. |
maxPostsPerQuery | Cap per query and per profile (default 1,000). |
sort | latest or top (search). |
since / until | Date range. |
language | Search language code, e.g. en. |
minLikes | Skip posts with fewer likes. |
profileFeed | posts, posts_and_replies or media. |
includeReposts | Include profile reposts. |
includeProfileDetails | One profile row per profile (default on). |
maxTotalItems | Hard cap for the run. |
{ "searchQueries": ["#buildinpublic", "\"open source\" lang:en"], "profiles": ["bsky.app"], "since": "2026-10-01", "minLikes": 5 }
Output
Post row:
{"type": "post", "uri": "at://did:plc:.../app.bsky.feed.post/3mxs7xzxlzv2x","url": "https://bsky.app/profile/cybermaxtools.bsky.social/post/3mxs7xzxlzv2x","text": "How Insidewell counts a cluster buy...", "createdAt": "2026-10-13T23:50:50.557Z", "lang": "en","authorHandle": "cybermaxtools.bsky.social", "authorName": "CyberMax", "authorDid": "did:plc:...","likeCount": 0, "repostCount": 0, "replyCount": 0, "quoteCount": 0, "bookmarkCount": 0,"isReply": false, "replyToUri": null, "isRepost": false, "repostedBy": null,"hashtags": [], "links": [], "mentions": [], "images": [], "externalUrl": "https://cybermaxtools.com/...","quotedPostUri": null, "videoUrl": null, "labels": [], "query": "apify"}
Profile row (includeProfileDetails):
{ "type": "profile", "handle": "bsky.app", "displayName": "Bluesky", "followersCount": 35250158, "followsCount": 19,"postsCount": 870, "createdAt": "2023-04-12T04:53:57.057Z", "description": "official Bluesky account...", "verified": false }
Pricing
$0.80 per 1,000 results (posts or profile rows), plus $0.00005 per run start. Use maxTotalItems to cap spend.
Notes
- Only public data from the official Bluesky AppView is collected; no login is used.
latestsearch pages back through time, so you can collect thousands of posts per query.topreturns Bluesky's top ~100 posts per query.- Hashtag queries work with date filters too (handled automatically).
FAQ
Do I need a Bluesky account? No.
Can I monitor a keyword daily? Yes, schedule the Actor with since set to yesterday.
Export? JSON, CSV, Excel, or the Apify API.