Bluesky Scraper - Profiles, Posts, Followers & Leads avatar

Bluesky Scraper - Profiles, Posts, Followers & Leads

Pricing

$4.00 / 1,000 result scrapeds

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

Bluesky Scraper - Profiles, Posts, Followers & Leads

Scrape Bluesky (AT Protocol) with no login: search users by keyword, pull rich profiles with follower counts & verification, fetch posts, and map followers/following. Extracts bio emails & links for creator lead-gen. Monitor mode + JSON/CSV/Excel export.

Pricing

$4.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Bluesky Scraper — Profiles, Posts, Followers & Creator Leads

Extract complete Bluesky data from the AT Protocol — no login, no API key, no browser. Search users by keyword, pull rich profiles (follower/following/post counts, verification, account age), fetch posts with full engagement, and map any account's followers and following. Every profile is turned into a ready-to-contact lead: emails and links parsed straight from the bio, an optional website crawl, social handles, and a 0–100 lead score.

Fast JSON extraction from Bluesky's own public AppView with 99%+ reliability.

Why this Bluesky scraper?

Most Bluesky scrapers return a thin profile or a list of posts. This actor ships the richest dataset in the category and a real lead-gen layer on top:

DataTypical scrapersThis actor
Handle, display name, DID, avatar, banner
Followers / following / posts countspartial✅ always (auto-enriched)
Verification status & account age
Bio contact emails
Website / link-in-bio (incl. bare domains like name.me)
Emails crawled from the creator's website✅ opt-in
Social links (Instagram, YouTube, TikTok, X, …)
Lead score (0–100) per profile
Posts with likes / reposts / replies / quotes + linkspartial
Followers & following mapping (audience mining)
Keyword post search (social listening)rare✅ opt-in (app password)
Monitor mode — only new posts / followers / users

Use cases

  • Creator & influencer lead generation — find people by niche (searchUsersphotographer, crypto, ux designer), get their reach, verification, and contact email straight from the bio or their linked website. Score them by audience size and contactability.
  • Audience mining — pull the followers of a competitor, community, or thought leader and turn them into a targeted prospect list with followers mode.
  • Social listening & brand monitoring — track every post mentioning your brand, product, or topic with searchPosts, then schedule it in monitor mode to capture only new mentions.
  • Account & content tracking — watch specific accounts for new posts (userPosts + monitor mode) for competitive intelligence, PR, or newsletters.
  • Market & trend research — measure follower growth, engagement, and topic activity across the fastest-growing open social network.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Bluesky Scraper, pick a mode, and enter search terms or handles.
  3. Click Start and watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results via the Apify API.

Input

{
"mode": "searchUsers",
"searchTerms": ["photographer", "wedding photographer"],
"maxResultsPerQuery": 200,
"enrichProfiles": true,
"enrichEmails": true,
"includePosts": false
}
  • modesearchUsers (find profiles by keyword), profiles (details for specific handles), userPosts (an account's posts), followers / following (map an audience), or searchPosts (keyword post search — needs the optional login).
  • searchTerms — keywords for searchUsers and searchPosts.
  • actors — handles (bsky.app, @nasa.gov), DIDs (did:plc:…), or profile URLs for the profiles, userPosts, followers, and following modes.
  • maxResultsPerQuery — cap per search term / per account (the actor paginates to reach it).
  • enrichProfiles (default true) — fetch full profile detail (follower counts, verification) for every discovered/followed user.
  • includePosts / maxPostsPerUser / postFilter — optionally attach each user's recent posts.
  • enrichEmails (default false) — crawl each profile's website / link-in-bio for contact emails.
  • identifier + appPassword (optional) — a Bluesky App Password (never your main password) to unlock searchPosts keyword search.
  • monitorMode (default false) — output only records not seen in previous runs.

Output

One record per profile (type: "profile") and per post (type: "post"):

{
"type": "profile",
"did": "did:plc: ...",
"handle": "janedoe.bsky.social",
"url": "https://bsky.app/profile/janedoe.bsky.social",
"displayName": "Jane Doe Photography",
"description": "Wedding & portrait photographer ✷ NYC ✷ Bookings: hello@janedoe.com janedoe.com",
"createdAt": "2023-08-02T12:00:00.000Z",
"accountAgeYears": 2.9,
"followersCount": 18420,
"followsCount": 640,
"postsCount": 5123,
"isVerified": true,
"verifiedStatus": "valid",
"bioEmails": ["hello@janedoe.com"],
"bioLinks": ["https://janedoe.com"],
"website": "https://janedoe.com",
"socialLinks": { "instagram": "https://instagram.com/janedoephoto" },
"contactEmails": ["bookings@janedoe.com"],
"emails": ["hello@janedoe.com", "bookings@janedoe.com"],
"leadScore": 78,
"scrapedAt": "2026-06-16T01:00:00.000Z"
}
{
"type": "post",
"uri": "at://did:plc:.../app.bsky.feed.post/3xyz",
"url": "https://bsky.app/profile/janedoe.bsky.social/post/3xyz",
"text": "New gallery from last weekend's wedding ✷",
"createdAt": "2026-06-15T18:00:00.000Z",
"authorHandle": "janedoe.bsky.social",
"likeCount": 212,
"repostCount": 18,
"replyCount": 9,
"quoteCount": 3,
"langs": ["en"],
"externalLink": "https://janedoe.com/galleries/spring",
"hashtags": ["weddingphotography"],
"links": ["https://janedoe.com/galleries/spring"]
}

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it hourly/daily to track new mentions, new followers, or newly matching users; perfect for social listening and lead pipelines.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/bluesky-scraper').call({
mode: 'searchUsers',
searchTerms: ['indie game dev'],
maxResultsPerQuery: 200,
enrichEmails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} Bluesky profiles & leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new leads straight into your CRM.
  • Slack — get notified when a monitored search finds new posts or followers.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find Bluesky photographers with over 10k followers and list their contact emails" and let it run this scraper for you.

More scrapers from scrapesage

Build a complete creator & social lead-gen stack:

Tips

  • Discovery first, enrich second: searchUsers is the fastest way to build a niche list; turn on enrichEmails to add contact emails from each creator's website.
  • Audience mining: run followers on a competitor or community account to harvest a warm, targeted prospect list.
  • Keyword post search: searchPosts needs a Bluesky App Password — create one (never use your main password) and paste it into appPassword. All other modes need no login.
  • Monitoring: combine Schedules with monitorMode to capture only new posts, new followers, or newly matching users on every run.
  • Bare-domain bios: many creators write their site as name.me with no https:// — this actor still detects and (optionally) crawls it for emails.

FAQ

Do I need a Bluesky account or API key? No. Everything except keyword post search uses Bluesky's public AppView with no login. Only searchPosts needs an App Password (which Bluesky restricts on the anonymous API).

Where do the emails come from? From the public profile bio, and — with enrichEmails on — from the creator's own linked website (the same pages a human visitor sees). Bluesky itself doesn't hide them; this actor just parses and (optionally) follows the links.

Can I search posts by keyword? Yes — set mode: searchPosts and supply identifier + appPassword. Without login, the public post-search endpoint returns HTTP 403, so the actor will tell you to add an App Password.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor new mentions or followers automatically? Turn on monitorMode and create a Schedule; each run outputs only records not seen before. Add a webhook or Zapier zap to push them into your CRM.

Is scraping Bluesky legal? This actor collects publicly available data via Bluesky's own public API. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and Bluesky's terms.

A field is null — why? Some accounts genuinely don't set a website, email, or display name, and search results carry lighter data until enrichProfiles fills in the counts. Fields are null only when the data doesn't exist.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.