Bluesky Scraper - Posts, Search, Profiles, Followers & Replies avatar

Bluesky Scraper - Posts, Search, Profiles, Followers & Replies

Pricing

$1.50 / 1,000 results

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

Bluesky Scraper - Posts, Search, Profiles, Followers & Replies

Scrape Bluesky posts by keyword or profile, profiles, followers, follows, replies, reposts and quotes: text, author, likes, reposts, replies, quotes, images, links, hashtags and mentions. Official public API, no login.

Pricing

$1.50 / 1,000 results

Rating

0.0

(0)

Developer

Cobi Hilliard

Cobi Hilliard

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Bluesky Scraper: posts, search, profiles, followers, replies and quotes

Scrape Bluesky posts by keyword search or profile, plus profile details, followers, follows, replies, reposts and quote posts. For every post you get the text, author, date, like, repost, reply and quote counts, languages, images, video, link cards, quoted posts, hashtags and mentions. It uses Bluesky's official public API, so no login, no API key and no browser.

What data you get

Posts (search, profile posts, replies, quotes)

  • Post URI, CID, post ID and web link (https://bsky.app/profile/<handle>/post/<id>)
  • Full text, created and indexed dates (ISO 8601), languages
  • Author handle, display name, DID, avatar and profile link
  • Likes, reposts, replies, quotes and bookmarks
  • Hashtags, mentions (handle and DID) and all links in the post
  • Images (full size, thumbnail, alt text, size), video (HLS playlist, thumbnail), link card (URL, title, description)
  • Quoted post with its text, author and counts
  • Reply info: isReply, parent and thread root URIs; in replies mode also replyDepth
  • Reposts in profile feeds are flagged with isRepost, repostedBy, repostedAt

Profiles (profile details, followers, follows, reposted by)

  • DID, handle, profile link, display name, bio, avatar, banner, account creation date
  • Followers, follows and post counts, number of lists, feeds and starter packs, pinned post, verification
  • For followers, follows and reposters: relation (follower, follow, reposter) and relationTo

Sample result

{
"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3mxu3hsnebc2v",
"url": "https://bsky.app/profile/bsky.app/post/3mxu3hsnebc2v",
"postId": "3mxu3hsnebc2v",
"text": "saw some cool clouds today",
"createdAt": "2026-10-14T17:35:30.592Z",
"authorHandle": "bsky.app",
"authorDisplayName": "Bluesky",
"authorDid": "did:plc:z72i7hdynmk6r22z27h6tvur",
"likeCount": 7671,
"repostCount": 414,
"replyCount": 236,
"quoteCount": 44,
"langs": ["en"],
"hashtags": [],
"mentions": [],
"links": [],
"images": [{
"url": "https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:z72i7hdynmk6r22z27h6tvur/bafkreidvywlo2nyrizqs7vy7rl7e4m5hedt75lxq2xcpb4rlljvtyqhck4",
"alt": "Photo taken from a hill showing a cloud inversion in the valley below…",
"width": 1200, "height": 1600
}],
"video": null,
"externalLink": null,
"quotedPost": null,
"isReply": false,
"isRepost": false,
"source": "profilePosts:bsky.app"
}

How to use

Pick a mode, then fill the matching input.

ModeUsesReturns
searchPostssearchQueries + filtersPosts matching keywords
profilePostsprofilesPosts from each profile's feed
profilesprofilesProfile details with follower counts
followers / followsprofilesAccounts following / followed by each profile
postRepliespostUrlsAll replies in each post's thread
repostedBypostUrlsAccounts that reposted each post
quotespostUrlsPosts that quote each post
FieldWhat it does
searchQueriesKeywords or Bluesky search syntax, e.g. climate, "open source", #bookstodon
sortlatest or top
since, untilDate range (YYYY-MM-DD or ISO 8601). In profile posts mode since stops at older posts
lang, author, mentions, domain, tagsSearch filters: language, posted by, mentioning, linking to a domain, hashtags
profilesHandles, DIDs or profile URLs, e.g. bsky.app, @jay.bsky.team
authorFeedFilterProfile posts: no replies, with replies, media only, video only, or posts and own threads
includeRepostsProfile posts: also return reposts
postUrlshttps://bsky.app/profile/<handle>/post/<id> links or at:// URIs
replyDepthReplies mode: how deep to follow nested replies (default 10)
enrichProfilesFollowers, follows, reposted by: add follower, follows and post counts
maxItemsStop after this many results in total (default 50)

Example inputs:

{ "mode": "searchPosts", "searchQueries": ["artificial intelligence"], "sort": "latest", "lang": "en", "maxItems": 200 }
{ "mode": "profilePosts", "profiles": ["bsky.app", "https://bsky.app/profile/jay.bsky.team"], "authorFeedFilter": "posts_with_replies", "maxItems": 500 }
{ "mode": "postReplies", "postUrls": ["https://bsky.app/profile/bsky.app/post/3mxu3hsnebc2v"], "maxItems": 300 }

About search volume: Bluesky's public search returns at most 100 posts per search to logged-out clients (the next page needs an account). To collect more, use several queries or narrower filters (date range, language, author, domain, hashtags). Profile posts, followers, follows, reposts and quotes page through everything with no such cap.

Pricing

$1.50 per 1,000 results, charged only for results saved to your dataset. 2,000 posts cost about $3.00.

Use cases

  • Brand and keyword monitoring: track mentions of your company, product or competitors
  • Social listening and sentiment analysis on topics, hashtags and news domains
  • Influencer research: find accounts in a niche and compare follower counts and engagement
  • Audience analysis: export followers or follows of any public account
  • Collect reply threads and quote posts to measure how a post was received
  • Datasets for research, AI training and RAG pipelines

FAQ

Is it legal? The scraper only reads public data through Bluesky's official, open AppView API, the same data anyone can see on bsky.app without logging in. It does not log in or bypass any limits. Accounts that asked Bluesky to hide their content from logged-out visitors are skipped. You are responsible for how you use the data, including personal data under GDPR and similar laws.

Why are some posts or accounts missing? Deleted, blocked or moderation-hidden content is not returned, and accounts that opted out of logged-out visibility are skipped (the run log says how many).

Why can't I get the list of people who liked a post? Bluesky's public API does not serve likes to logged-out clients. Reposts and quotes are available.

Can I run it on a schedule? Yes. Use Apify Schedules to run a search daily (sort latest, since = yesterday) and send new posts to Google Sheets, Slack, Make, Zapier or a webhook with Apify integrations.

API

Call it from any language with the Apify API or client libraries (apify-client for JavaScript and Python), or connect it to an AI agent through the Apify MCP server.