Extract Bluesky profile posts as clean JSON via the network open AppView - post text, timestamps, engagement counts, images, links. Multiple handles per run, no login, no bot-wall fights. Hourly monitoring, pay per result. Built for social listening and AI pipelines.
$1.99 / 1,000 · 92.3% success over 13 public runs in the last 30 days.
Run it on Apify → Free to try - runs bill per result on your own account.
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
authorHandles |
string | One or more Bluesky handles whose posts to scrape, comma-separated, e.g. "bsky.app" or "nasa.gov, bbc.com". The @ is optional. | bsky.app |
includeReplies |
boolean | Also include the profiles' replies, not only their own posts. | False |
postedAfter |
string | Only include posts created on or after this date (YYYY-MM-DD or a full ISO timestamp). Feeds are newest-first, so the run stops walking a profile once it reaches older posts. | - |
postedBefore |
string | Only include posts created on or before this date (YYYY-MM-DD or a full ISO timestamp). | - |
maxItems |
integer | Stop after this many posts. Free-plan runs are capped at 25 items. | 500 |
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
| Field | Type | Meaning |
|---|---|---|
postUri |
string | The post's AT-protocol URI - its stable identifier. |
url |
string | Direct link to the post on bsky.app. |
text |
string | Post text as published. |
authorHandle |
string | The author's public handle - the byline of the post. |
authorDisplayName |
['string', 'null'] | The author's public display name. |
createdAt |
['string', 'null'] | When the post was created (ISO timestamp). |
indexedAt |
['string', 'null'] | When the network indexed the post (ISO timestamp). |
langs |
array | Languages the author declared for the post. |
isReply |
boolean | True when the post is a reply. |
likeCount |
integer | Likes at scrape time. |
repostCount |
integer | Reposts at scrape time. |
replyCount |
integer | Replies at scrape time. |
quoteCount |
integer | Quote posts at scrape time. |
imageUrls |
array | Full-size image URLs attached to the post (up to 4). |
linkUrl |
['string', 'null'] | External link attached to the post, when present. |
linkTitle |
['string', 'null'] | Title of the attached external link. |
92.3% success over 13 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.