Bluesky Scraper — Search Posts, Profiles & Threads avatar

Bluesky Scraper — Search Posts, Profiles & Threads

Pricing

from $4.00 / 1,000 result items

Go to Apify Store
Bluesky Scraper — Search Posts, Profiles & Threads

Bluesky Scraper — Search Posts, Profiles & Threads

Unofficial Bluesky data tool for searching posts and exporting public profiles, author feeds, and complete threads. Not affiliated with Bluesky Social PBC.

Pricing

from $4.00 / 1,000 result items

Rating

0.0

(0)

Developer

Jonathan Willburry

Jonathan Willburry

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does Bluesky Scraper do?

Unofficial and independent: This Actor is not affiliated with, sponsored by, or endorsed by Bluesky Social PBC or the Bluesky service.

Bluesky Scraper searches public Bluesky posts and exports structured posts, profiles, author feeds, and complete conversation threads. It uses official public AT Protocol APIs, requires no Bluesky login, and handles cursor pagination, handle resolution, thread traversal, and dataset formatting for you.

Run it manually, schedule recurring searches on Apify, call it through the API, or connect its dataset to Make, Zapier, Google Drive, webhooks, and other integrations.

Why use Bluesky Scraper?

  • Monitor public posts about a brand, product, industry, event, or research topic.
  • Export profile statistics and original posts for selected handles.
  • Collect a post together with its parent context and nested replies.
  • Build research datasets with stable AT URIs, public URLs, timestamps, and engagement counts.
  • Combine several search terms, profiles, and post URLs in one run.

Ready-to-run examples

Each example opens with a working configuration that you can copy and adjust.

How to use Bluesky Scraper

  1. Open the Actor and select Try for free.
  2. Keep the default search or replace it with your own terms.
  3. Choose whether search results should be ordered by latest or top.
  4. Optionally add profile handles, DIDs, or public bsky.app post URLs.
  5. Set the maximum number of results and start the run.
  6. Open the Dataset tab to preview or export the collected records.

The result budget is shared fairly across all supplied searches, profiles, and post URLs so one source does not consume the entire run.

Input

FieldDescription
searchQueriesTerms or phrases used to search public posts.
sortlatest or top search ordering.
profileHandlesHandles or DIDs whose profile and original posts should be collected.
includeRepliesInclude the selected authors' replies in their feeds.
postUrlsPublic bsky.app post URLs to expand into threads.
maxItemsTotal dataset limit across every source, from 1 to 10,000.

Example thread and profile input:

{
"searchQueries": [],
"sort": "latest",
"profileHandles": ["bsky.app"],
"includeReplies": false,
"postUrls": ["https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l"],
"maxItems": 20
}

Output

The Actor saves flat post and profile records. This post example came from a live default run and was verified against the public Bluesky API:

{
"type": "post",
"uri": "at://did:plc:xhrtfphu4gzqrztkpb3a63qf/app.bsky.feed.post/3mqvw7rjlpo2y",
"url": "https://bsky.app/profile/babygoldie.bsky.social/post/3mqvw7rjlpo2y",
"cid": "bafyreicdxflp2lnxtfixhp2trimh5bxoujq5skk6gvsfcutivp2wvihhfy",
"authorHandle": "babygoldie.bsky.social",
"authorDisplayName": "News by babygoldie",
"authorDid": "did:plc:xhrtfphu4gzqrztkpb3a63qf",
"text": "[5/5] the non-invasive diagnosis rate of gallbladder cancer has increased to 92%. Liu Yingbin said: \"After artificial intelligence penetrates into medicine, it has fundamentally changed the diagnosis and treatment model of malignant tumors. (CCTV Finance)",
"createdAt": "2026-07-18T09:10:30.279580+00:00",
"langs": ["en"],
"likeCount": 0,
"repostCount": 0,
"replyCount": 0,
"quoteCount": 0,
"imageUrls": [],
"externalUrl": null,
"isReply": true,
"parentUri": "at://did:plc:xhrtfphu4gzqrztkpb3a63qf/app.bsky.feed.post/3mqvw7qv3lo2c",
"rootUri": "at://did:plc:xhrtfphu4gzqrztkpb3a63qf/app.bsky.feed.post/3mqvw7oxdyw2c",
"query": "artificial intelligence",
"scrapedAt": "2026-07-18T09:10:52.282Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data table

RecordMain fields
Post identityuri, cid, url, authorHandle, authorDid
Post contenttext, createdAt, langs, imageUrls, externalUrl
EngagementlikeCount, repostCount, replyCount, quoteCount
Thread contextisReply, parentUri, rootUri
Profile identitydid, handle, displayName, url, avatarUrl
Profile statisticsfollowersCount, followsCount, postsCount, createdAt
Provenancequery, scrapedAt

Profile descriptions are retained for context, but email addresses and phone-number patterns are removed before storage.

How much does it cost to scrape Bluesky?

The Actor uses lightweight public API requests and no paid proxies. Pricing is pay-per-event: one start event plus one result event for each saved post or profile. Check the Pricing tab before starting a run; maxItems directly limits the maximum number of result charges.

Tips and advanced options

  • Use focused phrases instead of broad single words for more relevant searches.
  • Remove the default search query when you only want profiles or threads.
  • Set includeReplies to false when you only need an author's original posts.
  • Use DIDs when you need a stable identity that does not change with a handle.
  • Large threads can contain many replies; use maxItems to keep output and cost bounded.

FAQ, disclaimers, and support

Does this Actor need a Bluesky account?

No. It only reads public endpoints and does not request credentials.

Does profile mode include reposts?

No. The Actor filters author feeds to posts written by the selected profile. Use post search to discover reposted content separately.

How many posts can one search query return?

Bluesky's public search API currently rejects requests for follow-up result pages, so a single query returns roughly its first 100 posts. The Actor keeps everything it collected, logs a warning, and continues with the remaining sources. To gather more posts, add several narrower queries instead of one broad one.

What happens to deleted, blocked, or invalid posts?

Unavailable thread nodes are skipped. Invalid handles and URLs produce a warning while the remaining sources continue.

Bluesky content is user-generated and can be inaccurate, offensive, copyrighted, or later deleted. Collect and process it only where you have a lawful purpose, follow applicable privacy rules, and comply with Bluesky's terms and policies. For bugs, feature requests, or custom solutions, use the Actor's Issues tab.