Pricing
Pay per usage
Bluesky Omni Scraper
Extract posts, profiles, threads and followers from Bluesky via the official AT Protocol API. Search by keyword or hashtag, scrape author feeds, full threads and follower lists. No browser, no login. Export to JSON, CSV or Excel.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Actor stats
1
Bookmarked
2
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Share
Bluesky Scraper - Posts, Profiles & AT Protocol Data Extractor
Extract Bluesky posts, profiles, followers & threads via the public AT Protocol API. 7 scrape modes. No login required. No proxies. MCP-ready.
Try it free - click Try for free above. Most research tasks cost under $0.05.
What does Bluesky Scraper do?
This Actor connects directly to the public Bluesky AppView API (api.bsky.app) and supports seven scrape modes in one Actor:
| Mode | What it collects |
|---|---|
searchPosts | Posts matching a keyword, phrase, or hashtag |
authorFeed | Posts from one or more Bluesky accounts |
postThread | A full post thread including nested replies |
profile | Profile stats for one or more accounts |
followers | Follower lists |
follows | Following lists |
customFeed | Posts from any public Bluesky feed generator |
All modes support cursor-based pagination and export clean results to Apify datasets.
Why use Bluesky Scraper?
| Advantage | Why it matters |
|---|---|
| 7 modes in one Actor | Search, profile, feed, thread, followers, following, and custom feeds without switching tools |
| Direct AT Protocol API | Faster, cheaper, and more reliable than browser scraping |
| Structured hashtags and mentions | Extracted from AT Protocol facets instead of fragile text parsing |
| No login required | Uses public data only |
| Stable post IDs | Every post includes a permanent AT URI |
| MCP-ready | Easy to use from Claude, Codex, Cursor, VS Code, Windsurf, Zed, and other AI tools through Apify MCP |
Common use cases
- Brand monitoring across Bluesky
- Research and journalism workflows
- Influencer discovery and account analysis
- Academic datasets for NLP and social analysis
- Competitor intelligence
- Social listening and trend tracking
Real-World Workflow Examples
Brand Monitoring Pipeline
- Run
searchPostsdaily with your brand name as query - Filter results where
likeCount > 5for high-signal posts - Export to CSV and load into your monitoring dashboard
- Use
searchSort: "latest"to catch mentions in real time
Competitor Audience Analysis
- Run
followersmode on a competitor's Bluesky handle - Cross-reference follower handles with
profilemode for stats - Identify high-follower accounts for outreach targeting
Academic Dataset Collection
- Use
searchPostswith date range (searchSince,searchUntil) andsearchLang - Collect posts around a specific event or topic
- Export to JSON for NLP processing โ all text, hashtags, and mentions are pre-extracted
How to use Bluesky Scraper
- Click Try for free
- Choose a
mode - Enter a query, handle, post URL, or feed URI depending on the mode
- Set
maxItems - Start the run
- Download results as JSON, CSV, HTML, or Excel
Input
| Field | Required | Description |
|---|---|---|
mode | Yes | One of: searchPosts, authorFeed, postThread, profile, followers, follows, customFeed |
searchQuery | For searchPosts | Keyword, phrase, or hashtag such as #AI |
handles | For authorFeed, profile, followers, follows | One or more Bluesky handles |
postUrl | For postThread | Full Bluesky post URL or AT URI |
feedUri | For customFeed | AT URI of a public feed generator |
maxItems | No | Maximum items to collect. 0 means unlimited |
searchSort | No | latest or top |
searchSince | No | Start date such as 2024-01-01 |
searchUntil | No | End date such as 2024-12-31 |
searchLang | No | ISO 639-1 language code such as en or de |
includeReplies | No | Include replies in authorFeed |
includeReposts | No | Include reposts in authorFeed |
Example search input:
{"mode":"searchPosts","searchQuery":"#AI","searchSort":"latest","searchLang":"en","maxItems":500}
Example custom feed input:
{"mode":"customFeed","feedUri":"at://did:plc:z72i7hdynmchkltzmefcsowb/app.bsky.feed.generator/whats-hot","maxItems":100}
Output
Each item is pushed to the default Apify dataset.
Example post output:
{"postId":"at://did:plc:abc123/app.bsky.feed.post/3kwikpostabcde","url":"https://bsky.app/profile/alice.bsky.social/post/3kwikpostabcde","text":"Really enjoying the discourse around #AI safety this week.","authorHandle":"alice.bsky.social","authorDisplayName":"Alice","authorFollowerCount":3200,"likeCount":47,"repostCount":12,"replyCount":8,"quoteCount":3,"engagementRate":0.0192,"createdAt":"2024-11-15T14:22:30.000Z","lang":["en"],"hasMedia":false,"tags":["AI"],"scrapedMode":"authorFeed"}
Key output fields:
postId,url,textauthorHandle,authorDisplayName,authorDidlikeCount,repostCount,replyCount,quoteCountengagementRatecreatedAt,langtags,mentionedDidshasMedia,mediaUrls
Use with AI agents via Apify MCP
This Actor can be used from AI tools such as Claude, Codex, Cursor, VS Code, Windsurf, Zed, and other MCP-compatible clients through Apify's Actors MCP server.
Important: this Actor is not a standalone remote MCP server. Instead, you connect Apify's Actors MCP server once, then ask your assistant to use this Actor.
MCP setup
Add this MCP server configuration to your client:
{"mcpServers":{"apify":{"command":"npx","args":["-y","@apify/actors-mcp-server"],"env":{"APIFY_TOKEN":"your_apify_api_token_here"}}}}
Copy-paste prompt for Claude, Codex, Cursor, and similar tools
If your AI assistant can edit MCP settings for you, paste this:
Please set up Apify's Actors MCP server in my MCP configuration.Use this package:- command: npx- args: -y @apify/actors-mcp-serverSet my APIFY_TOKEN in the MCP environment.After setup, use the Apify actor "bluesky-scraper" and help me run it from chat.
Example prompts after setup
- Search for the 20 most recent Bluesky posts about
#climatepolicyin English and summarize the main arguments. - Fetch the full reply thread for this Bluesky post and identify the main discussion points.
- Find the top 50 followers of
atproto.comand list their display names and follower counts. - Run the
bluesky-scraperactor inprofilemode for these handles and compare their audience sizes.
Client notes
- Claude, Codex, Cursor, VS Code, Windsurf, and Zed can usually use the stdio MCP config above directly.
- n8n, LangChain, OpenAI Agents SDK, Gemini, and custom apps can use Apify actors too, but the exact MCP wiring depends on the client runtime you use around Apify's MCP server.
How much does it cost to scrape Bluesky?
| Run size | Estimated cost |
|---|---|
| 100 posts | ~$0.01-$0.05 |
| 1,000 posts | ~$0.10-$0.30 |
| 10,000 posts | ~$1.00-$2.00 |
New Apify accounts receive $5 in free monthly credits.
Bluesky's public API means no proxy costs are required โ making this one of the cheapest social scrapers on Apify.
Tips
- Use
searchSinceandsearchUntilto reduce noise in historical searches. - Use
searchLangfor multilingual topics. authorFeedis best when you need engagement metrics and account-level analysis.postThreadis best for journalism and conversation analysis.maxItems: 0enables unlimited collection, but use it carefully for large accounts.
Bluesky vs Twitter/X for research
If you need social data and want a reliable, open source of truth, Bluesky has real advantages:
- Public API with no authentication wall
- Consistent data structure via AT Protocol
- Permanent post IDs that do not disappear
- Chronological feed available without algorithmic filtering
- Growing user base especially in tech, academia, and journalism
For bulk historical data or brand monitoring, Bluesky is increasingly a viable complement or alternative to X/Twitter data pipelines.
FAQ
Is scraping Bluesky legal? This Actor accesses public Bluesky data through the public AT Protocol API. You are responsible for complying with Bluesky terms and applicable regulations.
Can I scrape private accounts? No. This Actor only accesses public data.
Why are some fields null in searchPosts mode?
The public search endpoint returns lighter author objects than other endpoints.
What rate limits apply? The Actor handles public API rate limits and honors retry headers where applicable.
How is this different from Twitter/X scrapers? Bluesky uses the open AT Protocol API which is publicly accessible and stable. There are no login walls, no CAPTCHAs, and no rate-limit workarounds needed. Data structure is clean and consistent by design.
Can I monitor hashtags in real time?
Use searchPosts mode with searchSort: "latest" and schedule the Actor to run every 15โ30 minutes on Apify. Each run picks up the newest posts matching your query.
What is the difference between an AT URI and a bsky.app URL?
A bsky.app URL like https://bsky.app/profile/alice.bsky.social/post/3kwik is the human-readable link. An AT URI like at://did:plc:abc123/app.bsky.feed.post/3kwik is the permanent protocol-level identifier. Both are included in the output.
What happens if a handle changes?
Bluesky handles can change but the underlying DID (authorDid) is permanent. Use the DID for long-term tracking instead of the handle.
Do you support custom pipelines or features? Yes. Contact us through the Apify platform if you need custom work.
