Bluesky Scraper API — Posts, Profiles, Threads & Followers
Pricing
from $1.00 / 1,000 post scrapeds
Bluesky Scraper API — Posts, Profiles, Threads & Followers
Scrape Bluesky posts, profiles, threads, and follower graphs by keyword, hashtag, or handle. No login required. Fast AT Protocol API, JSON/CSV export, pay only per result.
Pricing
from $1.00 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
subimpact
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Bluesky Scraper API — Posts, Profiles, Threads & Follower Graph
A lightning-fast, keyless Bluesky (AT Protocol) scraper. Extract public posts by keyword or hashtag, crawl user feeds, download entire conversation threads, and scrape follower graphs.
No login or API keys required.
⚡ Why Use This Bluesky Scraper?
- Pay-Per-Event Pricing: $1.00 per 1,000 posts and $2.00 per 1,000 profiles. Zero Account Bans & No Login: Uses the public AT Protocol directly without risking personal accounts.
- WAF & Rate-Limit Resilient: Built-in TLS fingerprinting bypass and residential proxy fallback to ensure 99.9% uptime.
- AI-Ready Structured Output: Clean JSON with engagement metrics (likes, reposts, quotes), hashtags, full URLs, and timestamped metadata. Posts carrying media or quoted embeds are flagged with the boolean
hasEmbedfield.
🚀 Supported Modes
| Mode | Description | Required Input |
|---|---|---|
search | Search posts by keyword, query, or hashtag with chronological or engagement sort | query (e.g. "artificial intelligence", "#buildinpublic") |
author_feed | Scrape recent posts published by any Bluesky handle or DID | handle (e.g. "bsky.app", "jay.bsky.team") |
thread | Scrape a post and recursively resolve all nested replies | postUri (AT URI or bsky.app web URL) |
profile | Retrieve profile metadata, bio, avatar, and follower/post counts | handle |
followers | Scrape the follower list of any account | handle |
follows | Scrape the following list of any account | handle |
💰 Pay-Per-Event Pricing
You only pay for successful items extracted to the dataset:
| Event | Price (USD) | Description |
|---|---|---|
| Post Extracted | $0.001 ($1.00 / 1,000) | Each post returned with author, text, metrics, and hashtags. |
| Profile Extracted | $0.002 ($2.00 / 1,000) | Each profile or graph node returned. |
| Actor Start | $0.00005 | Minimal one-time initialization fee. |
Volume discounts apply automatically on Silver, Gold, Platinum, and Diamond Apify subscription tiers.
How this compares
Keyless access to the public AT Protocol with no login, so no account of yours is at risk, and the TLS-fingerprint and proxy fallback paths are in the code. One actor covers keyword and hashtag search, author feeds, whole threads with nested replies, profiles, follower and following lists, with one row shape per item type. At $1.00 per 1,000 posts and $2.00 per 1,000 profiles it is below lexis-solutions/bluesky-posts-scraper ($1.10 per 1,000 posts), fatihtahta/All-In-One-Bluesky-Scraper ($1.49) and cryptosignals/bluesky-scraper ($3.00). automation-lab/bluesky-scraper matches the post price at $1.00 per 1,000 but lists $3.00 per 1,000 profiles and a $0.005 actor-start event (this actor charges $0.00005).
| Actor | Price per 1,000 posts | Platform usage |
|---|---|---|
| subimpact/bluesky-scraper-api | $1.00 ($2.00 per 1,000 profiles) | paid by you |
| lexis-solutions/bluesky-posts-scraper | $1.10 | see listing |
| automation-lab/bluesky-scraper | $1.00 ($3.00 per 1,000 profiles) | see listing |
| fatihtahta/All-In-One-Bluesky-Scraper | $1.49 | see listing |
| cryptosignals/bluesky-scraper | $3.00 | see listing |
Prices are Apify Store list prices on the Free plan, checked 24 October 2026. Competitor prices can change; check their listings.
💻 Code Integration Examples
Node.js / JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('subimpact/bluesky-scraper-api').call({mode: 'search',query: 'artificial intelligence',maxItems: 50,sort: 'latest'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Fetched ${items.length} posts!`);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("subimpact/bluesky-scraper-api").call(run_input={"mode": "search","query": "#ai","maxItems": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"@{item['authorHandle']}: {item['text']} (Likes: {item['likeCount']})")
cURL
curl "https://api.apify.com/v2/acts/subimpact~bluesky-scraper-api/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "search", "query": "startup", "maxItems": 20}'