Bluesky Posts, Profile & Followers Scraper
Pricing
$1.00 / 1,000 result (post, profile, follower or follow)s
Bluesky Posts, Profile & Followers Scraper
Scrape Bluesky user posts, profiles, followers and follows from the public API. No login. Flat rows, $0.001 per result, failed requests free.
Pricing
$1.00 / 1,000 result (post, profile, follower or follow)s
Rating
0.0
(0)
Developer
Penny Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Scrape public Bluesky data without a login: a user's posts, profile details, followers and follows, as flat JSON rows. It calls Bluesky's public AT Protocol API (public.api.bsky.app), so there are no cookies, no browser and no API key. You are charged only for result rows that contain data; failed handles and empty feeds are free.
Built with AI assistance (Claude). Not affiliated with or endorsed by Bluesky Social PBC.
What you get
| Mode | Output rows (recordType) | Typical use |
|---|---|---|
posts | post: text, createdAt, like/repost/reply/quote counts, hashtags, mentions, links, image URLs, embed type, reply and repost flags, bsky.app URL | Monitor a brand, journalist or competitor account; archive posts; sentiment datasets |
profile | profile: handle, DID, display name, bio, avatar, banner, followers/follows/posts counts, createdAt | Enrich a list of handles, influencer lists, account research |
followers | follower: handle, DID, display name, bio, avatar, createdAt | Audience analysis, lead lists of public accounts |
follows | follow: same fields as followers | Map who an account follows |
starterPack | starterPackMember: handle, DID, display name, bio, avatar, plus starter pack name and URL; one row per member | Export a starter pack's member list to CSV, curation, outreach research |
searchPosts | post: same fields as posts mode, for any public post matching a keyword, hashtag or phrase | Brand and keyword monitoring, topic research, sentiment datasets |
Input examples
Search all public posts (no handles needed; sort is latest or top, since optional):
{ "mode": "searchPosts", "query": "bitcoin", "sort": "latest", "maxItems": 100 }
Latest 100 posts from three accounts:
{ "handles": ["bsky.app", "https://bsky.app/profile/jay.bsky.team", "@atproto.com"], "mode": "posts", "maxItems": 100 }
Only posts since a date (paging stops at the first older post):
{ "handles": ["bsky.app"], "mode": "posts", "maxItems": 5000, "since": "2026-10-01" }
One profile row per handle:
{ "handles": ["bsky.app", "jay.bsky.team"], "mode": "profile" }
Export every member of a starter pack:
{ "mode": "starterPack", "starterPacks": ["https://bsky.app/starter-pack/bsky.app/3lg3wkwlwef2z"], "maxItems": 150 }
First 1,000 followers of an account:
{ "handles": ["bsky.app"], "mode": "followers", "maxItems": 1000 }
Handles can be written as name.bsky.social, @name, a custom domain handle, a did:plc:... id or a https://bsky.app/profile/... URL. maxItems applies per handle. Posts mode skips reposts unless includeReposts is on, and replies unless postFilter is posts_with_replies.
Output example (posts mode)
{"recordType": "post", "source": "bsky.app", "handle": "bsky.app","url": "https://bsky.app/profile/bsky.app/post/3mycyypdrxc2s","text": "STREAMING LIVE NOW: ...", "createdAt": "2026-10-20T16:01:12.410Z","likeCount": 298, "repostCount": 67, "replyCount": 17, "quoteCount": 7,"isReply": false, "isRepost": false, "hashtags": [], "links": [], "images": []}
Results download as JSON, CSV or Excel from the Apify dataset, or via the Apify API.
Pricing
Pay per event, one event type:
| Event | Price |
|---|---|
result: one post, profile, follower or follow row | $0.001 |
The cost guard is maxItems (per handle). You can also set a maximum total charge on the run in Apify; the actor stops when it is reached. Rows with an error (handle not found, account suspended) are written as recordType: "error" and not charged. Apify's standard platform usage rules apply on top.
Limits and notes
- Public data only: private or deleted accounts, and content hidden by the account owner's settings, are not available.
- Keyword search of all posts is not included; it needs authentication on Bluesky's side.
- The actor paces itself at about 4 requests per second and backs off on HTTP 429, in line with Bluesky's published rate limits. Very large follower lists take proportionally longer.
- Data comes from Bluesky's public API; you are responsible for using it in line with Bluesky's terms and privacy law, including GDPR for personal data.
Related
Run it from the Apify API, schedule it, or connect it to Make, Zapier or n8n through Apify integrations. Use one saved Apify task per account list for daily monitoring.
Other languages
Español: Scraper de publicaciones y perfiles de Bluesky
Obtiene publicaciones, perfiles, seguidores y cuentas seguidas de Bluesky en JSON, por usuario o por búsqueda de texto. Sin inicio de sesión y sin clave de API. Precio: 0,001 USD por resultado con datos reales; los usuarios no encontrados y los feeds vacíos no se cobran.
Ejemplo de entrada:
{"handles":["bsky.app"],"mode":"posts","maxItems":25}
Português: Scraper de posts e perfis do Bluesky
Coleta posts, perfis, seguidores e contas seguidas do Bluesky em JSON, por usuário ou por busca de texto. Sem login e sem chave de API. Preço: US$ 0,001 por resultado com dados reais; usuários não encontrados e feeds vazios não são cobrados.
Exemplo de entrada:
{"handles":["bsky.app"],"mode":"posts","maxItems":25}
Deutsch: Bluesky-Beiträge und Profile abrufen
Ruft Beiträge, Profile, Follower und gefolgte Konten von Bluesky als JSON ab, nach Nutzer oder per Textsuche. Ohne Login und ohne API-Schlüssel. Preis: 0,001 USD pro Ergebnis mit echten Daten; nicht gefundene Nutzer und leere Feeds kosten nichts.
Beispieleingabe:
{"handles":["bsky.app"],"mode":"posts","maxItems":25}
I built this and earn from its runs. Written with AI assistance (Claude).