Bluesky Scraper β€” Posts, Profiles, Followers & Search avatar

Bluesky Scraper β€” Posts, Profiles, Followers & Search

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Bluesky Scraper β€” Posts, Profiles, Followers & Search

Bluesky Scraper β€” Posts, Profiles, Followers & Search

The most complete Bluesky scraper. Search posts, extract profiles, track followers, analyze engagement β€” all in one Actor. 8 modes, pagination up to 10K results, rate limiting built-in. No auth required. MCP server for AI agents. Pay per use: $1/1,000 results.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

s0rgCL

s0rgCL

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

2

Monthly active users

8 months ago

Last modified

Share

Bluesky Scraper β€” All-in-One Posts, Profiles, Followers & Search

The most complete Bluesky scraper on Apify. Search posts, extract profiles, track followers, analyze engagement β€” all in one Actor. No authentication required for public data. MCP server included for AI agents.

πŸš€ Why This Scraper?

Stop using 5 different scrapers for Bluesky. This single Actor replaces them all:

FeatureThis ActorOthers
Search posts by keywordβœ…βœ… (separate actor)
Search usersβœ…βœ… (separate actor)
Get user profilesβœ…βŒ
Get user posts/feedβœ…βœ… (separate actor)
Get followersβœ…βœ… (separate actor, $17.99/mo)
Get followingβœ…βŒ
Get post threadsβœ…βŒ
Get post engagement (likes, reposts, quotes)βœ…βŒ
Profile analyticsβœ…βŒ
MCP server for AI agentsβœ…βŒ (or $49/mo)
Price$1/1,000 results$17.99-$49/mo fixed

πŸ’° Pricing

Pay only for what you use. No monthly fees, no subscriptions.

  • $1.00 per 1,000 results β€” the cheapest Bluesky scraper on Apify
  • 100 results = $0.10
  • 10,000 results = $10.00
  • Free to try with Apify's free tier

πŸ“‹ Features

8 Scraping Modes

  1. Search Posts β€” Find posts by keyword, hashtag, or phrase with date/language filters
  2. Search Users β€” Find Bluesky users by name or keyword
  3. Get Profile β€” Extract complete profile data including bio, stats, and avatar
  4. Get User Posts β€” Extract a user's recent posts with engagement metrics
  5. Get Followers β€” Get the list of followers for any public account
  6. Get Following β€” Get the list of accounts a user follows
  7. Get Post Thread β€” Extract full conversation threads with all replies
  8. Get Post Engagement β€” Get the users who liked, reposted, or quoted a post

Key Capabilities

  • No authentication required β€” all public data, no API keys needed
  • Automatic pagination β€” get up to 10,000 results per run
  • Rate limiting built-in β€” respects Bluesky API limits automatically
  • Clean, consistent output β€” every result has the same structure
  • Batch support β€” process multiple handles or post URIs in one run
  • MCP server β€” connect directly to Claude, Cursor, or any MCP-compatible AI

πŸ“– Input Examples

Search Posts

{
"mode": "search-posts",
"query": "artificial intelligence",
"sort": "top",
"limit": 500,
"language": "en",
"since": "2025-01-01",
"until": "2025-12-31"
}

Get User Profile

{
"mode": "get-profile",
"handles": ["jay.bsky.team", "pfrazee.com"]
}

Get User Posts

{
"mode": "get-user-posts",
"handles": ["jay.bsky.team"],
"limit": 200,
"includeReplies": false
}

Get Followers

{
"mode": "get-followers",
"handles": ["jay.bsky.team"],
"limit": 1000
}

Get Following

{
"mode": "get-following",
"handles": ["jay.bsky.team"],
"limit": 500
}

Search Users

{
"mode": "search-users",
"query": "machine learning researcher",
"limit": 100
}

Get Post Thread

{
"mode": "get-post-thread",
"postUris": ["at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app.bsky.feed.post/3l2s5xxv2ze2c"],
"threadDepth": 20
}

Get Post Engagement

{
"mode": "get-post-engagement",
"postUris": ["at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app.bsky.feed.post/3l2s5xxv2ze2c"],
"limit": 500
}

πŸ“Š Output Examples

Post Output

{
"uri": "at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app.bsky.feed.post/3l2s5xxv2ze2c",
"url": "https://bsky.app/profile/jay.bsky.team/post/3l2s5xxv2ze2c",
"author": {
"handle": "jay.bsky.team",
"displayName": "Jay Graber",
"did": "did:plc:ragtjsm2j2vknwkz3zp4oxrd",
"avatar": "https://cdn.bsky.app/img/avatar/...",
"followersCount": 350000,
"followsCount": 1200,
"postsCount": 5400
},
"text": "Excited to announce new features for Bluesky...",
"createdAt": "2025-06-15T10:30:00.000Z",
"likes": 4200,
"reposts": 890,
"replies": 312,
"quotes": 45,
"tags": ["bluesky", "atprotocol"],
"language": "en",
"hasImages": true,
"hasVideo": false,
"images": [
{
"url": "https://cdn.bsky.app/img/feed_fullsize/...",
"alt": "Screenshot of new feature"
}
],
"embed": null,
"isReply": false,
"isRepost": false
}

Profile Output

{
"did": "did:plc:ragtjsm2j2vknwkz3zp4oxrd",
"handle": "jay.bsky.team",
"displayName": "Jay Graber",
"description": "CEO @bluesky. Building decentralized social media.",
"avatar": "https://cdn.bsky.app/img/avatar/...",
"banner": "https://cdn.bsky.app/img/banner/...",
"followersCount": 350000,
"followsCount": 1200,
"postsCount": 5400,
"url": "https://bsky.app/profile/jay.bsky.team",
"createdAt": "2023-04-01T00:00:00.000Z",
"indexedAt": "2025-06-15T10:30:00.000Z",
"labels": []
}

Follower Output

{
"did": "did:plc:xyz123",
"handle": "user.bsky.social",
"displayName": "User Name",
"avatar": "https://cdn.bsky.app/img/avatar/...",
"followersCount": 1234,
"followsCount": 567,
"postsCount": 890,
"url": "https://bsky.app/profile/user.bsky.social",
"description": "Tech enthusiast and developer"
}

πŸ€– MCP Server Setup

This Actor includes a built-in MCP (Model Context Protocol) server, allowing AI agents like Claude and Cursor to interact with Bluesky data directly.

For Claude Desktop

Add to your claude_desktop_config.json:

{
"mcpServers": {
"bluesky": {
"type": "url",
"url": "https://bluesky-scraper.apify.actor/mcp"
}
}
}

For Cursor

Add to your MCP settings:

{
"mcpServers": {
"bluesky": {
"type": "url",
"url": "https://bluesky-scraper.apify.actor/mcp"
}
}
}

Available MCP Tools

ToolDescription
search_postsSearch Bluesky posts by keyword
get_profileGet a user's profile data
get_user_postsGet recent posts from a user
get_followersGet a user's followers
get_followingGet who a user follows
get_post_threadGet a full post thread
get_post_engagementGet likes, reposts, quotes
search_usersSearch for users
analyze_profileFull profile analysis with metrics

🎯 Use Cases

  • Social Listening β€” Monitor brand mentions, hashtags, and trending topics on Bluesky
  • Competitor Analysis β€” Track competitor accounts, their engagement, and content strategy
  • Lead Generation β€” Find potential customers by searching for relevant keywords and profiles
  • Market Research β€” Analyze sentiment and trends in specific industries or topics
  • Influencer Discovery β€” Find influential users by follower count and engagement rates
  • Content Research β€” Discover top-performing content in your niche
  • Trend Tracking β€” Monitor emerging trends on the decentralized social web
  • Academic Research β€” Study social dynamics on the AT Protocol ecosystem
  • Journalism β€” Monitor news, public figures, and breaking stories on Bluesky

βš™οΈ Technical Details

  • Uses the public Bluesky API (AT Protocol) β€” no authentication required for public data
  • Built-in rate limiting (token bucket algorithm) to respect API limits
  • Automatic retries with exponential backoff for transient errors
  • Cursor-based pagination for complete data extraction
  • Clean TypeScript codebase with strict type checking

πŸ“ Notes

  • This scraper only accesses publicly available data on Bluesky
  • No authentication credentials are needed or stored
  • Rate limits are respected automatically β€” the scraper throttles requests to avoid hitting API limits
  • Handles can be in the format user.bsky.social or custom domains like user.com
  • Post URIs use the AT Protocol format: at://did:plc:xxx/app.bsky.feed.post/xxx

πŸ”— Resources