Bluesky Scraper - Profiles, Posts, Followers & Search avatar

Bluesky Scraper - Profiles, Posts, Followers & Search

Pricing

Pay per usage

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

Bluesky Scraper - Profiles, Posts, Followers & Search

Scrape public Bluesky accounts with no login: profile stats, recent posts with engagement (likes/reposts/replies/quotes), and account discovery search.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

aki ra

aki ra

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Bluesky Scraper — Profiles, Posts, Followers & Account Search (No Login)

Scrape public Bluesky data without an API key, app password, or login. Get profile stats, recent posts with full engagement metrics (likes, reposts, replies, quotes), and discover accounts by search query. Export results to JSON, CSV, or Excel in one click.

No authentication. No anti-bot challenges. No credentials to rotate. Just pass a list of handles (or a search term) and get clean, structured data.

What you can scrape

  • Bluesky profile stats — followers count, follows count, posts count, bio, display name, avatar, account created date
  • Recent posts — text, timestamp, and per-post engagement (likes, reposts, replies, quotes, bookmarks), each with a direct bsky.app post URL
  • Followers & following lists — export every follower of an account, or every account it follows (handle, display name, bio)
  • Account discovery / search — find Bluesky accounts matching a query (handle, display name, or bio)

Common use cases

  • Lead generation — build lists of Bluesky accounts in a niche and pull their bio + reach
  • Competitor & brand monitoring — track what specific accounts post and how it performs
  • Influencer research — rank accounts by followers and engagement before outreach
  • Social listening — watch a fixed set of accounts for new posts
  • AI / LLM datasets — feed clean Bluesky text + engagement into your models or agents

How to use it

  1. Enter one or more Bluesky handles (without @), e.g. bsky.app — or a search query to discover accounts
  2. Optionally set how many recent posts to fetch per account (0–1000)
  3. Run the Actor and download the results as JSON, CSV, or Excel

At least one of handles or searchQuery is required.

Input

FieldTypeDefaultDescription
handlesarray["bsky.app"]Bluesky handles to scrape (without @)
maxPostsPerAccountinteger50Recent posts per handle (0–1000)
includeProfilebooleantrueEmit one profile record per handle
searchQuerystringOptional: find accounts matching this text
searchLimitinteger25Max accounts from the search query
includeFollowersbooleanfalseAlso scrape each handle's followers
includeFollowsbooleanfalseAlso scrape the accounts each handle follows
maxRelationsinteger100Cap on followers / follows fetched per handle

Output (dataset records)

Records are tagged by type: profile, post, account_hit, or error. Every dataset can be exported to JSON, CSV, Excel, XML, or HTML from the Apify console or API.

Example post record:

{
"type": "post",
"account": "bsky.app",
"authorHandle": "bsky.app",
"text": "This officially makes Bluesky the best-smelling social media platform",
"createdAt": "2026-06-26T20:36:12.809Z",
"likeCount": 104, "repostCount": 5, "replyCount": 3, "quoteCount": 1,
"postUrl": "https://bsky.app/profile/bsky.app/post/3mp7sbnuyu22b"
}

Why it stays fast and low-maintenance

All data comes from Bluesky's public AppView XRPC API (public.api.bsky.app) — an open, documented REST API with no authentication, no app password, and no anti-bot challenge. There are no credentials to rotate and the schema is stable, so the Actor rarely breaks (unlike HTML scrapers that constantly fight anti-bot systems). It also paces requests politely and retries on rate limits (HTTP 429) with backoff.

Pricing

Pay per result — you only pay for the records you actually get. No monthly subscription. See the live price on the Store page; a generous free tier lets you test before you commit.

FAQ

Do I need a Bluesky account, app password, or API key? No. This Actor only reads Bluesky's public data, so there is nothing to log in to.

What output formats are supported? Any Apify dataset can be exported to JSON, CSV, Excel, XML, or HTML, or pulled via the API.

Can it search posts by keyword across all of Bluesky? Not currently. Bluesky's full-text post search endpoint (app.bsky.feed.searchPosts) requires authentication, so this Actor is intentionally account-centric to stay credential-free. A logged-in keyword-search variant is a possible future add-on.

How many posts can I get per account? Up to 1000 recent posts per handle (set with maxPostsPerAccount).

Is it legal to scrape Bluesky? This Actor accesses only public data through Bluesky's official public API. You are responsible for complying with Bluesky's terms and any applicable laws and privacy regulations in your use.

Local development

The core client (bluesky_client.py) uses only the Python standard library:

$python3 -c "from bluesky_client import scrape; print(list(scrape(['bsky.app'], max_posts_per_account=3)))"

The Actor wrapper (src/) additionally needs the apify SDK and the Apify CLI to run via apify run and to publish via apify push.