Bluesky Posts Scraper: Search Posts, Hashtags & Profiles
Pricing
from $0.60 / 1,000 posts
Bluesky Posts Scraper: Search Posts, Hashtags & Profiles
Search Bluesky posts by keyword, phrase or hashtag, or get every post from any profile, via Bluesky's open public API: text, author, likes, reposts, replies, quotes, hashtags, links, images, language and post URL. Date, language and likes filters. $0.70 per 1,000 posts.
Pricing
from $0.60 / 1,000 posts
Rating
0.0
(0)
Developer
Larkmoor Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Search Bluesky posts by keyword, phrase or hashtag, or read every post from any Bluesky profile, as one clean row per post: the text, author handle and name, created time, likes, reposts, replies, quotes, hashtags, mentions, links, image URLs, language, reply and repost flags, and the post URL.
It reads Bluesky's open public API (the AT Protocol AppView that powers the Bluesky app), which anyone can use without an account. No login, no cookies, no browser, no proxies.
What you can use it for
- Brand and keyword monitoring: every new post mentioning your brand, product or competitor
- Hashtag tracking: collect #buildinpublic, #booksky, #nba or any tag for analysis or a content feed
- Social listening and research: sentiment, topics and reach on a fast-growing network, by language and date range
- Influencer research: read a creator's posts with engagement numbers to judge reach before you reach out
- News and trend alerts: a scheduled run with
sort: latestandsincesends fresh posts to Slack, email or a sheet - Datasets: build clean text datasets of public posts for analytics dashboards
Why this one
- $0.70 per 1,000 posts, $0.001 per run start — no init fee per query, cheaper than other Bluesky actors
- Search and profiles in one run: mix search queries and handles; duplicates are removed
- Full search syntax: phrases, hashtags,
from:,mentions:,domain:,lang:operators work in queries - Useful columns ready to use: hashtags, links, image URLs, quoted-post URL, reply/repost flags, engagement counts
- Filters you don't pay for: date range, language, minimum likes, no replies, no reposts — only rows that pass are charged
- 256 MB memory, about 1,000 posts in under a minute
Input
| Field | What it does |
|---|---|
searchQueries | Keywords, "exact phrases", #hashtags or search operators — one search each |
profiles | Handles (bsky.app, @name.bsky.social) or profile URLs |
sort | Search order: latest or top |
since / until | Date range (YYYY-MM-DD or ISO time) |
language | Search language code (en, de, ja, ...) |
author | Limit search results to one author |
minLikes | Only posts with at least N likes |
excludeReplies / excludeReposts | Skip replies / reposts |
maxPostsPerSource / maxResults | Limits per query or profile, and for the run |
Example input:
{"searchQueries": ["#webdev", "\"open source\" lang:en"],"profiles": ["bsky.app"],"sort": "latest","since": "2026-10-01","minLikes": 5,"excludeReplies": true,"maxResults": 500}
Output
One row per post (real example):
{"url": "https://bsky.app/profile/digiwares.bsky.social/post/3myjtmmflzc2z","text": "New domain, same mission. 🎙️\n\nTalking Links has a new home: tlk.so\n\nOne link. Voice or text replies. Organised responses.\n\nWe're getting closer to launch.\n\nTalk. Speak Out.\n\n#BuildInPublic #SaaS #AITools #IndieDev #webdev #startup #talkinglinks #talkinglinks","createdAt": "2026-10-23T09:13:36.129Z","authorHandle": "digiwares.bsky.social","authorName": "DigiWares","likeCount": 4,"repostCount": 3,"replyCount": 0,"quoteCount": 0,"langs": ["en"],"hashtags": ["AITools","BuildInPublic","IndieDev","SaaS","startup","talkinglinks","webdev"],"links": ["https://tlk.so"],"images": [],"isReply": false,"isRepost": false,"source": "search:#webdev"}
Also included: uri, cid, indexedAt, authorDid, authorAvatar, mentions (DIDs), quotedPostUrl, replyToUri, repostedBy, labels.
How much does it cost?
Pay per event: $0.0007 per post ($0.70 per 1,000) and $0.001 per run start. Platform usage at 256 MB is a fraction of a cent per run.
- Daily brand monitor, ~200 new posts a day: about $0.14 a day
- A one-off study of 10,000 posts on a hashtag: about $7.00
- 20 creators' last 100 posts each (2,000 posts): about $1.40
Posts dropped by your filters are not charged.
FAQ
Is it legal? It reads public posts through Bluesky's own open API, which Bluesky provides for anyone to build on, and follows Bluesky's developer guidelines (read-only, polite rate, no automated interactions). Only public posts are read; nothing behind a login. As with any personal data, use it in line with privacy law where you work (for example GDPR) and honour deletion requests.
Do I need a Bluesky account? No.
How far back does search go?
Bluesky search covers the network's history; use since/until for a range and sort: top for the most-engaged posts.
Why are mentions DIDs rather than handles?
Bluesky stores mentions by permanent account ID (DID), which never changes even if the handle does. Open https://bsky.app/profile/<did> to see the profile.
Can it get replies to a post or followers? Not in this version; it focuses on posts from search and profiles.
Tips
- Put a phrase in quotes for exact matches; add
lang:ento a query or use thelanguagefield. - For monitoring, schedule hourly with
sort: latestandsinceset to yesterday. - Use
minLikesto keep only posts with real reach.
Integrations
Works with Google Sheets, Slack, Zapier, Make, Airtable, webhooks, the Apify API and the Python and JavaScript clients. Download as JSON, CSV, Excel, XML or HTML.
Changelog
- 2026-10-23 — First release: keyword/hashtag search (latest or top), profile posts, date, language, likes, reply and repost filters, hashtags, links, images and quoted posts.