Bluesky Scraper avatar

Bluesky Scraper

Pricing

from $1.00 / 1,000 post or replies

Go to Apify Store
Bluesky Scraper

Bluesky Scraper

Scrape Bluesky profiles, posts and reply threads with likes, reposts and replies. Keyword search with your own Bluesky app password.

Pricing

from $1.00 / 1,000 post or replies

Rating

0.0

(0)

Developer

Rafiullah Siddiq

Rafiullah Siddiq

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Collect data from Bluesky: profiles (followers, following, post count, bio), their latest posts, and full reply threads, with likes, reposts, replies, quotes, hashtags, links and images. Keyword search is available with your own Bluesky app password.

Profiles and posts use Bluesky's open public API, so no login is needed for them.

What can this Bluesky scraper do?

  • 👤 Profiles. Followers, following, total posts, bio and avatar for any handle.
  • 📝 Posts. A profile's latest posts with full engagement numbers, optionally including their replies to others.
  • 🧵 Reply threads. Every reply under a post, with nesting depth, to analyze conversations.
  • 🔎 Search (optional). Search all of Bluesky by keyword or hashtag. Bluesky requires a signed-in account for search, so add your handle and an app password.

How to scrape Bluesky

  1. Add profiles (handles like bsky.app or profile URLs) and/or post URLs.
  2. Set Max posts per profile and Max replies per post.
  3. For search: add search queries, your Bluesky handle and an app password (Bluesky → Settings → Privacy and security → App passwords).
  4. Click Start and download the results.

Input example

{
"profiles": ["bsky.app", "https://bsky.app/profile/jay.bsky.team"],
"maxPostsPerProfile": 100,
"postUrls": ["https://bsky.app/profile/bsky.app/post/3myi2ihquwk26"],
"maxRepliesPerPost": 200
}

Output example

{
"resultType": "post",
"query": "bsky.app",
"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3myi2ihquwk26",
"url": "https://bsky.app/profile/bsky.app/post/3myi2ihquwk26",
"authorHandle": "bsky.app",
"authorName": "Bluesky",
"text": "v1.136 is live! \n\nIntroducing: Profile links\n\nWe want independent writers, artists, developers, and creators to be able to build and fund sustainable projects on Bluesky...",
"createdAt": "2026-10-22T16:11:13.754Z",
"likeCount": 5827,
"repostCount": 1588,
"replyCount": 313,
"quoteCount": 740,
"languages": ["en"],
"hashtags": [],
"links": [],
"imageUrls": [],
"isRepost": false
}

Profile rows (resultType: "profile") include handle, displayName, description, followersCount, followsCount, postsCount and profileUrl. Reply rows (resultType: "reply") add threadDepth.

Use it from AI agents (Claude, ChatGPT, Cursor)

AI assistants can run this Actor as a tool through Apify's MCP server. Add this server URL to any MCP client:

https://mcp.apify.com?tools=rsiddiq95/bluesky-scraper

Then just ask, for example: "Get the 50 most recent Bluesky posts from bsky.app and summarise what they talk about." Agent runs cost the same per result as runs from the console.

How much does it cost?

Pay per profile and per post or reply collected. See the Pricing tab. Lookups that fail are free.

Limitations

  • Search needs your own Bluesky login (an app password, never your main password). It is stored encrypted and only used to search.
  • Profile feeds include reposts by default; they're marked with isRepost: true.

FAQ

Is this allowed? Bluesky's data is public by design and its API is open. Use it responsibly and respect people's privacy.

Something isn't working. Open an issue on the Issues tab with your input.