Bluesky Scraper ⚡ Posts, Profiles, Search, Followers, Trending avatar

Bluesky Scraper ⚡ Posts, Profiles, Search, Followers, Trending

Pricing

from $1.00 / 1,000 posts

Go to Apify Store
Bluesky Scraper ⚡ Posts, Profiles, Search, Followers, Trending

Bluesky Scraper ⚡ Posts, Profiles, Search, Followers, Trending

Scrape Bluesky without login or API key: search posts by keyword or hashtag, profile posts with a free summary (posts/week, avg likes, engagement rate), followers, post threads with replies, likers, reposters and trending topics. Empty results and failures are never charged.

Pricing

from $1.00 / 1,000 posts

Rating

0.0

(0)

Developer

Pulse Lab

Pulse Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Bluesky Scraper – Posts, Profiles, Search, Followers, Threads, Trending

Scrape Bluesky through its official public API – no login, no API key, no proxy. One run can:

  • Search posts by keyword or #hashtag, newest or top, with date range and language filters
  • Scrape profiles: bio, follower / following / post counts, the latest posts, and a free summary row (posts per week, average likes / reposts / replies, engagement rate, reply & media share, top 3 posts)
  • Followers and following of any profile
  • Post threads: a post plus all its replies (nested, with depth), and who liked or reposted it
  • Trending topics on Bluesky right now

Typical run: 2 searches + 2 profiles + 1 thread + trending = about 3 seconds. Empty results and failures are never charged.

Input

FieldDescription
searchQueriesKeywords or hashtags, one per line (chatgpt, #ai).
sort / since / until / langSearch options: latest or top, date range YYYY-MM-DD, language code (en, ko, ja…).
maxPostsPerQueryPosts per search (default 50).
profilesHandles or profile URLs: bsky.app, @user.bsky.social, https://bsky.app/profile/nytimes.com.
maxPostsPerProfileLatest posts per profile (default 50, 0 = summary only). includeReplies, includeReposts to widen.
maxFollowers / maxFollowingAccounts to list per profile (default 0 = off).
postUrlshttps://bsky.app/profile/<handle>/post/<id> links. Returns the post and its replies.
maxRepliesPerPostReplies per post URL (default 100). maxLikersPerPost, maxRepostersPerPost list who liked / reposted (default 0 = off).
includeTrendingSave the current trending topics.
includeProfileSummarySummary row per profile (default on).
{
"searchQueries": ["chatgpt", "#ai"],
"profiles": ["bsky.app", "https://bsky.app/profile/nytimes.com"],
"postUrls": ["https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l"],
"includeTrending": true,
"maxPostsPerQuery": 100,
"since": "2026-10-01",
"lang": "en"
}

Output

Every row has a type: post, reply, profile, follower, following, liker, reposter or trending. Each type has its own tab in the Output view and its own export (?view=posts, ?view=profiles, …).

Post

{
"type": "post",
"url": "https://bsky.app/profile/bsky.app/post/3lzqk5v2vqk2a",
"authorHandle": "bsky.app",
"authorName": "Bluesky",
"text": "Now you can opt out of having your posts shown to non-followers…",
"createdAt": "2026-08-27T19:03:40.000Z",
"likes": 9641, "reposts": 3365, "replies": 344, "quotes": 1617,
"isReply": false, "isRepost": false,
"images": ["https://cdn.bsky.app/img/feed_fullsize/…"], "imageCount": 1,
"externalUrl": null, "quotedAuthor": null,
"hashtags": [], "mentions": [], "links": [], "langs": ["en"],
"query": null, "profile": "bsky.app"
}

Profile summary (calculated from the posts fetched in the same run)

{
"type": "profile",
"handle": "bsky.app", "displayName": "Bluesky",
"followers": 35221525, "following": 17, "posts": 867,
"postsSampled": 20, "postsPerWeek": 1.3,
"avgLikes": 5357, "avgReposts": 1040, "avgReplies": 244,
"engagementRate": 0.0204, "replyShare": 0, "mediaShare": 45,
"latestPostDate": "2026-10-09T15:53:59.000Z",
"topPosts": [{ "text": "Bluesky launched in February 2023…", "url": "https://bsky.app/profile/bsky.app/post/…", "likes": 29872 }]
}

Reply rows add rootUri, parentUri and depth; follower / liker rows carry the account's handle, display name, bio and which profile or post they belong to; trending rows have rank, topic, description and a feed url.

Pricing (pay per event)

EventCharged for
postone post row (search result, profile post or the post behind a post URL)
replyone reply in a thread
accountone follower / following / liker / reposter row
profileone profile summary row
trendingthe trending-topics list (once per run)

Searches with no results, unknown handles, missing posts and errors are not charged. Platform usage is included.

Notes

  • Uses only Bluesky's public AppView API (AT Protocol). Only public data; accounts that hide themselves from logged-out viewers are skipped by the API.
  • Hashtag searches use Bluesky's tag filter, so #ai matches posts tagged ai, not just the text.
  • Engagement rate = average (likes + reposts + replies + quotes) per post ÷ followers × 100.
  • Large accounts: Bluesky caps reply threads and like lists at what its API returns; counts on the post itself are always exact.