Home › Monitoring and research › Bluesky Scraper API

Bluesky Scraper API: Posts, Profiles, Followers

How it works

Scrape Bluesky posts by keyword or hashtag, author feeds, profiles, followers and follows from the public API. Engagement counts, links, media and dates. No login.

Input options

FieldNameRequiredWhat it does
modeWhat to scrapenoSearch posts and Search profiles use Search terms. The other modes use Handles.
searchTermsSearch termsnoKeywords, phrases ("exact phrase") or hashtags (#python). One search per term. Used by Search posts and Search profiles.
handlesHandlesnoBluesky handles or profile URLs, e.g. bsky.app, @apify.com or https://bsky.app/profile/bsky.app. Used by Author feed, Profiles, Followers and Follows.
maxItemsMax resultsnoTotal rows to return across all terms or handles (shared evenly). You are charged per row returned.
sortSearch ordernoApplies to Search posts.
sincePosted sincenoOnly posts at or after this date/time, e.g. 2026-10-01 or 2026-10-01T12:00:00Z. Search posts only.
untilPosted untilnoOnly posts before this date/time. Search posts only.
languageLanguagenoTwo-letter language code such as en, pt or ja. Search posts only.
fromAuthorOnly from this authornoRestrict a keyword search to one handle, e.g. apify.com. Search posts only.
linkDomainOnly posts linking to domainnoOnly posts that link to this domain, e.g. github.com. Search posts only.
minLikesMinimum likesnoSkip posts with fewer likes than this (skipped posts are never charged). Search posts and Author feed.
feedFilterAuthor feed contentsnoApplies to Author feed.
includeRepostsInclude repostsnoIn Author feed, include posts the account reposted (marked source = repost).

Output fields

One row per result. These are the 46 fields declared in the actor's dataset schema (field list from the schema, not a sample run).

FieldTypeMeaning
recordTypestring
uristring
cidstring
urlstring
textstring
createdAtstring
indexedAtstring
authorDidstring
authorHandlestring
authorDisplayNamestring
authorAvatarstring
authorProfileUrlstring
likeCountinteger
repostCountinteger
replyCountinteger
quoteCountinteger
bookmarkCountinteger
languagesarray
isReplyboolean
replyParentUristring
replyRootUristring
quotedPostUristring
hashtagsarray
mentionedDidsarray
linksarray
mediaTypestring
imageUrlsarray
videoPlaylistUrlstring
externalLinkUrlstring
externalLinkTitlestring
labelsarray
querystring
sourcestring
scrapedAtstring
didstring
handlestring
displayNamestring
descriptionstring
avatarstring
bannerstring

Limits, stated plainly

Public data only, no login. Fields a source does not publish come back empty rather than guessed. Coverage and freshness follow the underlying public source.

Price

Pay on Apify, no subscription: $0.00093 per record returned on the free plan, down to $0.00056 on higher plans (pay per event, tiered). The live price is on the actor page.

Run it on Apify

Disclosure: we build and maintain this actor.

Related

More in monitoring and research