Bluesky Posts Scraper — Search & User Feed (No Auth)
Pricing
Pay per usage
Bluesky Posts Scraper — Search & User Feed (No Auth)
Scrape posts from Bluesky social network via the public AT Protocol API. Search by keyword, hashtag, or user handle. No API key required. Outputs post text, author, likes, reposts, replies, images, URLs, and tags. PPE $0.003/post.
Bluesky Posts Scraper
Keywords: Bluesky scraper · AT Protocol scraper · Bluesky posts · social media scraper · Bluesky keyword search · Bluesky hashtag · Bluesky API · decentralized social scraper
Scrape posts from Bluesky social network using the public AT Protocol API — no API key or login required.
Search by keyword, hashtag, or scrape any user's feed. Collect post text, engagement metrics, URLs, hashtags, image indicators, and language data.
Features
- Keyword & hashtag search — find posts matching any query (e.g.
bitcoin,#crypto,AI news) - User feed scraping — collect all recent posts from any public Bluesky account
- Language filtering — restrict results to specific languages (e.g.
en,ko,ja) - Date filtering — only collect posts on or after a specific date
- Sort control — sort search results by
latestortopengagement - No auth needed — uses the public
https://public.api.bsky.appAppView endpoint - Rate-limit safe — built-in semaphore (3 concurrent) + request delays stay under the 3000 req/5 min limit
Use Cases
- Social media monitoring and brand tracking
- Crypto / Web3 community sentiment analysis
- Research and journalism
- Competitive intelligence
- Trend detection and hashtag analysis
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search or user_feed |
searchQuery | string | — | Keyword or hashtag (mode=search) |
userHandle | string | — | Bluesky handle (mode=user_feed), e.g. bsky.app |
maxPosts | integer | 100 | Max posts to collect (up to 1000) |
lang | string | — | Language filter, e.g. en, ko |
since | string | — | Start date (YYYY-MM-DD) |
sort | string | latest | Sort search: latest or top |
Output
Each scraped post is stored in the dataset with the following fields:
{"uri": "at://did:plc:abc123/.../xyz","cid": "bafyrei...","author_handle": "user.bsky.social","author_display_name": "User Name","text": "Post content here #bluesky","created_at": "2026-09-01T12:00:00.000Z","likes": 42,"reposts": 10,"replies": 5,"has_image": false,"urls": ["https://example.com/article"],"tags": ["bluesky", "web3"],"language": "en"}
Pricing (Pay-Per-Event)
| Event | Price |
|---|---|
| Actor start | $0.005 (one-time) |
| Per post scraped | $0.003 |
Scraping 100 posts costs approximately $0.305 ($0.005 start + $0.30 posts).
API Reference
This actor uses the public Bluesky AppView API:
- Search:
GET https://public.api.bsky.app/xrpc/app.bsky.feed.searchPosts - User feed:
GET https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed
No authentication is required for public data. The public API allows ~3000 requests per 5 minutes.
Examples
Search for crypto posts in English
{"mode": "search","searchQuery": "#crypto","maxPosts": 200,"lang": "en","sort": "top"}
Scrape a user's recent posts
{"mode": "user_feed","userHandle": "jack.bsky.social","maxPosts": 100}
Search posts since a specific date
{"mode": "search","searchQuery": "ethereum ETF","maxPosts": 500,"since": "2026-08-01","sort": "latest"}
Related Keywords
Bluesky scraper, AT Protocol scraper, Bluesky posts API, Bluesky data extraction, social media scraper, decentralized social scraper, Bluesky search API, atproto scraper