Bluesky Scraper - Posts, Profiles, Followers & Engagement avatar

Bluesky Scraper - Posts, Profiles, Followers & Engagement

Pricing

Pay per usage

Go to Apify Store
Bluesky Scraper - Posts, Profiles, Followers & Engagement

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

BotFlowTech

Maintained by Community

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

ModeDescriptionUse Case
PostsSearch posts by keyword or get a user's feedSocial listening, trend tracking, content monitoring
ProfilesSearch users or get specific profile dataLead generation, audience research, influencer discovery
FollowersExtract follower lists of any public accountCompetitive analysis, audience overlap, growth tracking
FollowingGet accounts a user followsInterest mapping, network analysis, partnership research
ThreadGet full conversation threads with all repliesDiscussion analysis, sentiment tracking
EngagementGet who liked and reposted a specific postEngagement analysis, audience insights
BothPosts + Profiles combinedComprehensive 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

  1. Set Scrape Type to "Posts"
  2. Enter your Search Query (e.g., "artificial intelligence", "startup", "#tech")
  3. Set Max Results (up to 10,000)
  4. Click Start

Scrape a User's Profile & Posts

  1. Set Scrape Type to "Both"
  2. Add handles to Bluesky Handles (e.g., bsky.app, jay.bsky.team)
  3. Click Start

Get Followers of an Account

  1. Set Scrape Type to "Followers"
  2. Add the handle to Bluesky Handles
  3. Set Max Results to control how many followers to extract
  4. Click Start

Analyze Post Engagement

  1. Set Scrape Type to "Engagement"
  2. Add post URLs to Post URLs (e.g., https://bsky.app/profile/bsky.app/post/abc123)
  3. Click Start โ€” returns everyone who liked and reposted the post

Input Parameters

FieldTypeDescriptionDefault
scrapeTypeEnumWhat to scrape: posts, profiles, followers, following, thread, engagement, bothposts
searchQueryStringSearch keyword for posts/profiles, or handle for followers/followingโ€”
handlesArrayBluesky handles to scrape (e.g., bsky.app, @jay.bsky.team)[]
postUrlsArrayPost URLs for thread/engagement modes[]
maxItemsIntegerMax results per query/handle (1โ€“10,000)100
sortEnumSort order for post search: latest or toplatest

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 ApifyClient
client = 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().items
print(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)