Bluesky Scraper - Posts, Profiles & Search avatar

Bluesky Scraper - Posts, Profiles & Search

Pricing

from $2.00 / 1,000 post scrapeds

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

Bluesky Scraper - Posts, Profiles & Search

Scrape Bluesky posts by keyword search and by user handle, with full author profiles, engagement stats, images and hashtags.

Pricing

from $2.00 / 1,000 post scrapeds

Rating

0.0

(0)

Developer

Long Li

Long Li

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Share

Bluesky Scraper Lite πŸ¦‹

Scrape Bluesky posts and profiles β€” keyword search, user timelines and full author stats in one Actor. Search any keyword, or list handles like @apify.com, and get clean JSON with post text, hashtags, engagement counts, images, link cards and complete author info (followers, following, post counts). No login required β€” built on Bluesky's open AT Protocol, so it's fast, reliable and cheap.

The all-in-one alternative to buying separate post and user scrapers: search + profiles + author feeds in a single run.

πŸ”Ž What you can scrape

  • Keyword search β€” all posts matching a query, newest (latest) or most engaging (top) first, with optional date range (since/until) and language filters
  • Profile timelines β€” every post by any handle, with or without replies
  • Full profiles β€” follower/following/post counts, display name, description, avatar
  • Per-post extras β€” hashtags (extracted), images with alt text, embedded link cards, reply/repost/like/quote counts, web URL for every post

πŸ“₯ Input

FieldTypeDefaultDescription
searchQueriesArrayβ€”Keywords to search posts for.
profileHandlesArrayβ€”Handles to scrape (with or without @), e.g. apify.com. Saves the profile + their posts.
postsPerQueryInteger25Max posts per query/handle.
sortSelectlatestlatest or top (search only).
since / untilDateβ€”Only posts in this date range, YYYY-MM-DD (search only).
langStringβ€”Language filter like en, de (search only).
includeAuthorInfoBooleantrueAttach follower/following/post counts to every post.
includeRepliesBooleanfalseInclude replies when scraping profiles.
maxConcurrencyInteger5Parallel API requests.
proxyConfigObjectβ€”Optional; Bluesky's API is open so usually not needed.

At least one of searchQueries / profileHandles is required.

Example input

{
"searchQueries": ["web scraping"],
"profileHandles": ["@bsky.app"],
"postsPerQuery": 25,
"sort": "top"
}

πŸ“€ Output

One item per post (and one per profile) in the default dataset β€” export to JSON, CSV, Excel, HTML, XML:

{
"itemType": "post",
"id": "3l7vlkxhqxs2c",
"uri": "at://did:plc:.../app.bsky.feed.post/3l7vlkxhqxs2c",
"url": "https://bsky.app/profile/bsky.app/post/3l7vlkxhqxs2c",
"text": "We just shipped something #bluesky",
"createdAt": "2026-10-01T12:00:00.000Z",
"hashtags": ["bluesky"],
"langs": ["en"],
"authorDid": "did:plc:...",
"authorHandle": "bsky.app",
"authorName": "Bluesky",
"authorAvatar": "https://...",
"authorFollowers": 250000,
"authorFollows": 100,
"authorPosts": 5000,
"images": [{ "fullsize": "https://...", "thumb": "https://...", "alt": "..." }],
"link": { "uri": "https://...", "title": "...", "description": "..." },
"replyCount": 12,
"repostCount": 45,
"likeCount": 300,
"quoteCount": 8,
"query": "web scraping"
}

Profile items have itemType: "profile" with the same author fields plus text = bio.

βš™οΈ How it works

Built directly on Bluesky's public AT Protocol endpoints (app.bsky.feed.searchPosts, app.bsky.feed.getAuthorFeed, app.bsky.actor.getProfile) β€” the same API the official app uses. No browser, no login, no blocked accounts. Handles cursor pagination automatically until your postsPerQuery limit, deduplicates posts across queries, and caches author lookups so popular authors cost one request, not hundreds.

❓ FAQ

How do I scrape Bluesky without an API key?

Just enter a keyword and run β€” no key, no login. Bluesky's AT Protocol exposes post search, author feeds and profiles publicly. One caveat this Actor handles for you: the public.api.bsky.app host returns 403 for unauthenticated keyword search (known upstream issue), so it calls api.bsky.app, where the same endpoint works freely. An optional app password only raises rate limits.

How do I scrape Bluesky posts for free?

Enter a keyword in searchQueries (or a handle in profileHandles) and click Start. Your Apify account includes free monthly platform credits β€” because this Actor uses Bluesky's open API instead of a browser, each run costs only fractions of a credit.

Can I scrape posts from a specific Bluesky user?

Yes β€” put their handle (e.g. @bsky.app or bsky.app) into profileHandles. You get their profile with follower counts plus their latest posts. Enable includeReplies to also capture replies.

Can I search Bluesky posts by keyword with a date range?

Yes β€” fill searchQueries, set sort (latest or top), and optionally since/until (YYYY-MM-DD) and lang to filter by language.

Does it need my Bluesky login or password?

No. All data comes from Bluesky's public API β€” no account, cookies or credentials required. You only see public data.

Can I get the data as Excel or CSV?

Yes β€” every run produces a dataset exportable to JSON, JSONL, CSV, XLSX, HTML, XML and RSS from the Console, or via GET /v2/datasets/{id}/items?format=xlsx.

Can I run it via API from my app?

Yes: POST https://api.apify.com/v2/acts/liver0914~bluesky-scraper-lite/run-sync-get-dataset-items with your input and token returns the scraped data directly in the response.

πŸ’‘ Tips

  • Trend monitoring: run on a schedule with sort: "top" and since set to yesterday.
  • Influencer research: list up to 1000 handles in profileHandles β€” profiles include follower counts for ranking.
  • Cheapest runs: keep postsPerQuery tight; every item is one API page or less.

πŸ› οΈ Local development & testing

npm install
npm test # boots a local mock of the Bluesky XRPC API and runs 16 end-to-end assertions

Built by the same developer as Contact Info Scraper Lite, Rumble Scraper Lite, Mastodon Scraper Lite, Cloudflare Bypasser Lite and GitHub Email Scraper Lite β€” a full open-web scraping toolkit.