Bluesky Scraper Suite (AT Protocol) avatar

Bluesky Scraper Suite (AT Protocol)

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Bluesky Scraper Suite (AT Protocol)

Bluesky Scraper Suite (AT Protocol)

Scrape Bluesky posts, profiles, account search and custom feeds via the free, open AT Protocol. No proxies, no anti-bot. Four of five modes need no login.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Technical Dost Solutions

Technical Dost Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape Bluesky posts, profiles, account search, and custom feeds straight from the free, open AT Protocol — no proxies, no headless browser, no anti-bot games. Four of the five modes need no login at all.

What it does

ModeWhat you getLogin needed?
postsAll posts from one or more authors (author feed)No
profileFull profile data for one or more handles/DIDsNo
search + accountsAccount/handle search resultsNo
search + postsFull-text post searchYes (free app password)
feedPosts from any Bluesky feed generatorNo

Input

{
"mode": "posts",
"handles": ["bsky.app", "news.bsky.team"],
"maxItems": 100
}
{ "mode": "profile", "handles": ["bsky.app"] }
{ "mode": "search", "searchTarget": "accounts", "query": "journalist", "maxItems": 50 }
{
"mode": "feed",
"feedUrl": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot",
"maxItems": 100
}

For search + posts, add a free Bluesky app password (Settings → App Passwords — never your main password):

{ "mode": "search", "searchTarget": "posts", "query": "apify",
"identifier": "you.bsky.social", "appPassword": "xxxx-xxxx-xxxx-xxxx", "maxItems": 50 }

Fields

  • mode (required) — posts | profile | search | feed
  • handles[] — for posts and profile
  • query — for search
  • searchTargetaccounts (no login) or posts (needs app password)
  • feedUrl — AT-URI for feed
  • maxItems — caps results (and your cost). Default 100.
  • identifier / appPassword — only for post search; stored as secrets.

Output

Post row:

{
"scrapedMode": "posts", "type": "post",
"uri": "at://did:plc:.../app.bsky.feed.post/3l...",
"cid": "bafy...",
"authorHandle": "bsky.app", "authorDid": "did:plc:...", "authorDisplayName": "Bluesky",
"text": "Hello from Bluesky", "createdAt": "2026-05-30T12:00:00Z",
"likeCount": 1234, "repostCount": 56, "replyCount": 12, "quoteCount": 3,
"langs": ["en"], "embedType": "app.bsky.embed.images#view",
"postUrl": "https://bsky.app/profile/bsky.app/post/3l..."
}

Profile row:

{
"scrapedMode": "profile", "type": "profile",
"did": "did:plc:...", "handle": "bsky.app", "displayName": "Bluesky",
"description": "...", "followersCount": 1500000, "followsCount": 50, "postsCount": 900,
"avatar": "https://cdn.bsky.app/...", "createdAt": "2023-04-01T00:00:00Z",
"profileUrl": "https://bsky.app/profile/bsky.app"
}

Pricing

Pay per result — $0.002 per item. You only pay for rows actually returned; maxItems is a hard cap on cost.

Reliability

  • Exponential backoff on rate limits (429) and server errors (5xx).
  • Cursor pagination — pulls exactly up to maxItems.
  • One malformed record is logged and skipped; the run never crashes on a single bad item.
  • Built directly on the official AT Protocol XRPC API.

Data usage & compliance

This actor reads only public data exposed by the Bluesky AppView / AT Protocol public API (public.api.bsky.app), the same data a logged-out visitor sees on bsky.app. Post search uses your own Bluesky session via a revocable app password. Use the output in accordance with Bluesky's Terms of Service and applicable privacy law; do not use it to harass, deanonymize, or spam users.