Bluesky Scraper - Posts, Profiles, Followers & Engagement
Pricing
Pay per usage
Bluesky Scraper - Posts, Profiles, Followers & Engagement
The most powerful and affordable Bluesky scraper. Extract posts, profiles, followers, following lists, threads, and engagement data via AT Protocol API. No login needed. 7 modes. Export JSON/CSV. Built-in rate limiting and pagination up to 10K results.
Pricing
Pay per usage
Rating
5.0
(1)
Developer
BotFlowTech
Actor stats
3
Bookmarked
6
Total users
4
Monthly active users
12 days ago
Last modified
Categories
Share
Bluesky Scraper - Posts, Profiles, Followers & Engagement ๐ฆ
The most powerful and affordable Bluesky scraper on Apify. Extract posts, profiles, followers, following lists, threads, and engagement data from Bluesky's decentralized social network โ all via the official AT Protocol API.
No login required. No API key needed. No browser overhead. Pure HTTP API calls = fast, reliable, and cheap to run.
What Can This Bluesky Scraper Do?
7 Scraping Modes
| Mode | Description | Use Case |
|---|---|---|
| Posts | Search posts by keyword or get a user's feed | Social listening, trend tracking, content monitoring |
| Profiles | Search users or get specific profile data | Lead generation, audience research, influencer discovery |
| Followers | Extract follower lists of any public account | Competitive analysis, audience overlap, growth tracking |
| Following | Get accounts a user follows | Interest mapping, network analysis, partnership research |
| Thread | Get full conversation threads with all replies | Discussion analysis, sentiment tracking |
| Engagement | Get who liked and reposted a specific post | Engagement analysis, audience insights |
| Both | Posts + Profiles combined | Comprehensive data collection |
Why Choose This Bluesky Scraper?
- โก Lightning fast โ Pure HTTP API, no browser needed. Runs in seconds, not minutes.
- ๐ฐ Cheapest on Apify โ Minimal compute costs since no browser is used.
- ๐ No authentication โ Uses Bluesky's public API. No login, no API keys.
- ๐ Rich data โ Full post metadata, engagement metrics, images, links, quotes.
- ๐ Auto-pagination โ Get up to 10,000 results per run automatically.
- โฑ๏ธ Built-in rate limiting โ Respects Bluesky API limits, no bans.
- ๐ Schedulable โ Run hourly, daily, or weekly for continuous monitoring.
How to Use
Scrape Posts by Keyword
- Set Scrape Type to "Posts"
- Enter your Search Query (e.g., "artificial intelligence", "startup", "#tech")
- Set Max Results (up to 10,000)
- Click Start
Scrape a User's Profile & Posts
- Set Scrape Type to "Both"
- Add handles to Bluesky Handles (e.g.,
bsky.app,jay.bsky.team) - Click Start
Get Followers of an Account
- Set Scrape Type to "Followers"
- Add the handle to Bluesky Handles
- Set Max Results to control how many followers to extract
- Click Start
Analyze Post Engagement
- Set Scrape Type to "Engagement"
- Add post URLs to Post URLs (e.g.,
https://bsky.app/profile/bsky.app/post/abc123) - Click Start โ returns everyone who liked and reposted the post
Input Parameters
| Field | Type | Description | Default |
|---|---|---|---|
scrapeType | Enum | What to scrape: posts, profiles, followers, following, thread, engagement, both | posts |
searchQuery | String | Search keyword for posts/profiles, or handle for followers/following | โ |
handles | Array | Bluesky handles to scrape (e.g., bsky.app, @jay.bsky.team) | [] |
postUrls | Array | Post URLs for thread/engagement modes | [] |
maxItems | Integer | Max results per query/handle (1โ10,000) | 100 |
sort | Enum | Sort order for post search: latest or top | latest |
Output Data
Post Output
{"uri": "at://did:plc:.../app.bsky.feed.post/...","text": "This is a Bluesky post about AI","createdAt": "2024-01-15T10:30:00.000Z","author": {"did": "did:plc:...","handle": "user.bsky.social","displayName": "User Name","avatar": "https://..."},"likeCount": 42,"repostCount": 12,"replyCount": 5,"quoteCount": 3,"images": [{"url": "https://...", "alt": "Image description"}],"links": ["https://example.com"],"language": "en","postUrl": "https://bsky.app/profile/user.bsky.social/post/..."}
Profile Output
{"did": "did:plc:...","handle": "user.bsky.social","displayName": "User Name","description": "Bio text here","avatar": "https://...","followersCount": 1500,"followsCount": 300,"postsCount": 850,"createdAt": "2023-04-15T10:00:00.000Z","isVerified": false,"profileUrl": "https://bsky.app/profile/user.bsky.social"}
Use Cases
- Social Media Monitoring โ Track brand mentions, competitors, and industry trends on Bluesky
- Lead Generation โ Find potential customers by searching posts and profiles by keyword
- Influencer Discovery โ Identify top accounts in any niche with follower/engagement data
- Academic Research โ Study decentralized social network dynamics and content spread
- Content Analysis โ Analyze post engagement patterns, trending topics, and sentiment
- Competitive Intelligence โ Monitor competitor accounts, their followers, and content strategy
- OSINT & Journalism โ Track public conversations and information spread
- Network Analysis โ Map follower/following relationships between accounts
API Usage
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('BOTFLOWTECH/bluesky-scraper').call({scrapeType: 'posts',searchQuery: 'artificial intelligence',maxItems: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Scraped ${items.length} Bluesky posts`);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('BOTFLOWTECH/bluesky-scraper').call(run_input={'scrapeType': 'profiles','searchQuery': 'data science','maxItems': 200,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(f'Found {len(items)} Bluesky profiles')
FAQ
Is this scraper free? You get free credits when signing up on Apify. After that, pay-per-result pricing starts at just $0.40 per 1,000 results โ the lowest price on Apify Store.
Do I need a Bluesky account? No. This scraper uses the public AT Protocol API which requires no authentication.
How fast is it? Very fast. Since it uses pure HTTP API calls (no browser), most runs complete in seconds to minutes depending on data volume.
What's the data limit? Up to 10,000 results per run. For larger datasets, schedule multiple runs with different queries.
Can I schedule it? Yes. Apify supports hourly, daily, or weekly scheduling. Perfect for continuous social media monitoring.
Is it legal? This scraper only accesses publicly available data through Bluesky's official AT Protocol API โ the same API that Bluesky's own apps use.
Technical Details
- Built with Apify SDK 3.3.0 (latest)
- Uses public AT Protocol API at
public.api.bsky.app - No browser or Playwright needed โ pure Node.js HTTP requests
- Built-in rate limiting and automatic retry on 429 errors
- Cursor-based pagination for complete data extraction
- Minimal memory usage (~256 MB)