Bluesky Posts Scraper avatar

Bluesky Posts Scraper

Pricing

from $0.70 / 1,000 posts

Go to Apify Store
Bluesky Posts Scraper

Bluesky Posts Scraper

Scrape Bluesky posts by keyword, hashtag or phrase, from any account or custom feed: text, author, date, likes, reposts, replies, quotes, images, video, links and hashtags. Latest search goes back in time; language, date, domain and engagement filters. No login.

Pricing

from $0.70 / 1,000 posts

Rating

0.0

(0)

Developer

BlueskyScraper

BlueskyScraper

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

an hour ago

Last modified

Share

Bluesky Posts Scraper collects public Bluesky posts as clean rows without a login: search by keyword, hashtag or exact phrase that pages back in time, all posts of any account, the posts of any custom feed, and the quote posts of a post. Every row has text, author, date, likes, reposts, replies, quotes, images, video, link card, hashtags, mentions and the reply context. $1 per 1,000 posts, no start fee, error rows free.

Tested head-to-head — 28 September 2026

Bluesky scrapers tested head-to-head: this Actor returns search results in 2.8 s, 300 of 300 posts, 43 fields per post, follower counts included, $1 per 1,000 posts and $0.50 per 1,000 followers

The same requests went to this Actor and to the six most-used Bluesky scrapers on the Apify Store: 20 latest posts for coffee, 20 posts of @nytimes.com, 20 followers of @nytimes.com, and a 300-post deep search.

This ActorThe six others
Keyword search, 20 posts2.8 s3.3–28.9 s
300 posts asked for one keyword30050–300 (three tested)
Fields in a post row4318–32
Followers export with each person's follower countyes, at no extra cost2 of 3 tested
Price per 1,000 followers$0.50$1.25–3.00
Price per 1,000 posts$1.00$1.00–3.00
Start fee per runnone3 of 6 charge $0.004–0.005

What is Bluesky Posts Scraper?

A Bluesky search API alternative for social listening, brand monitoring, trend research, sentiment analysis and AI datasets. Bluesky refuses to page search results for visitors who are not logged in; this Actor pages Latest results back by date instead, so one keyword can return thousands of posts. It needs no account, no app password and no cookies.

ModeYou giveYou get
Searchkeywords, #hashtags, "exact phrases", search operatorsposts, Latest paged back in time or Top ranked (first 100)
Postshandles or profile URLsthe account's posts, own threads, replies or media posts
Custom feedfeed URL in Bluesky URLsthe posts the feed shows
Quotespost URLsposts quoting the post

Search filters: language, date window, only posts by an account, only posts mentioning an account, linking to a domain or an exact URL, must have hashtags, minimum likes / reposts / replies, and only posts that contain the keyword.

What data do you get?

url, text, createdAt, language, handle, displayName, did, authorVerified, likeCount, repostCount, replyCount, quoteCount, engagement, mediaType, images[] (full size, alt text), video (playlist, thumbnail), externalLink (url, title, description), hashtags, mentions, links, isReply, replyToUrl, rootUrl, isQuote, quotedPost, isRepost, isPinned, labels, containsKeyword, query, source, scrapedAt.

How much does it cost?

RowPrice
Post$0.001 — $1 per 1,000 posts

No start fee, no proxy charge, no browser — and error rows are free. Maximum rows per run is a hard ceiling on the bill.

How to use it

  1. Choose Search and type keywords, hashtags or phrases — or choose Posts and paste handles.
  2. Set Results per account, keyword or URL and, for search, Latest or Top.
  3. Add filters, click Start, download JSON, CSV or Excel, or read the rows by API.

⬇️ Input

{
"mode": "search",
"keywords": ["coffee", "#specialtycoffee"],
"sort": "latest",
"languages": ["en"],
"minLikes": 1,
"maxResultsPerInput": 1000
}

⬆️ Output

{
"type": "post",
"url": "https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l",
"text": "👋 Bluesky is an open social network that gives creators independence from platforms…",
"createdAt": "2024-10-17T07:06:51.491Z",
"handle": "bsky.app",
"likeCount": 63700,
"repostCount": 9533,
"replyCount": 8596,
"quoteCount": 708,
"mediaType": "text",
"language": "en",
"source": "posts"
}

Use cases

  • Brand and competitor monitoring — mentions, keywords and links to your domain, scheduled hourly with Monitoring mode so each run returns only new posts.
  • Trend and news research — what a community is posting about a topic right now, filtered by language and engagement.
  • AI and NLP datasets — clean text with language tags, stable IDs and timestamps.

❓ FAQ

It reads only public posts Bluesky shows anyone without a login, and skips accounts that asked not to be shown to logged-out visitors. Posts can contain personal data protected by laws like the GDPR — have a lawful reason to process it.

Why does Top stop at 100 posts?

That is all Bluesky shows a visitor who is not logged in. Latest goes back as far as you ask.

Can I get only new posts on each run?

Yes — set Monitoring mode — store name and schedule the Actor.

You might also like

ActorWhat it does
Bluesky ScraperAll twelve modes in one Actor
Bluesky Profile ScraperProfiles with follower counts, bio e-mails and links
Bluesky Followers ScraperFollowers, following, likers, reposters, starter pack members
Bluesky Comments ScraperEvery reply under a post, plus quote posts