User Posts
GET/v1/bluesky/user/posts1 credit
Returns an account's posts, newest first, with text, embeds, author, and reply, repost, like, quote and bookmark counts.
01Query parameters
| Name | Type | Description |
|---|---|---|
| handleoptional | string | The Bluesky handle, e.g. `bsky.app`. One of `handle` or `user_id` is required; `handle` wins when both are given. |
| user_idoptional | string | The account's DID, e.g. `did:plc:z72i7hdynmk6r22z27h6tvur`. One of `handle` or `user_id` is required. |
| cursoroptional | string | The `cursor` value from the previous page, passed back unchanged to get older posts. |
02Request
curl "https://api.scrapesocial.ai/v1/bluesky/user/posts?handle=bsky.app" \ -H "x-api-key: $SCRAPESOCIAL_KEY"
03Responses
Real answers from the API. Lists are shortened to 2 items.
GET /v1/bluesky/user/posts?handle=bsky.app
{
"success": true,
"credits_remaining": 4980,
"credits_charged": 1,
"feed": [
{
"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l",
"cid": "bafyreicnt42y6vo6pfpvyro234ac4o6ijug6adwwrh7awflgrqlt4zibxq",
"author": {
"did": "did:plc:z72i7hdynmk6r22z27h6tvur",
"handle": "bsky.app",
"displayName": "Bluesky",
"avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:z72i7hdynmk6r22z27h6tvur/bafkreihwihm6kpd6zuwhhlro75p5qks5qtrcu55jp3gddbfjsieiv7wuka",
"associated": {
"chat": {
"allowIncoming": "none"
},
"activitySubscription": {
"allowSubscriptions": "followers"
}
},
"labels": [],
"createdAt": "2023-04-12T04:53:57.057Z",
"verification": {
"verifications": [],
"verifiedStatus": "none",
"trustedVerifierStatus": "valid"
},
"status": {
"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.actor.status/self",
"cid": "bafyreihkojqw7p22odgjcbzjh5sh4vrntow24sd4nvntpqnddrd5pqma44",
"record": {
"$type": "app.bsky.actor.status",
"createdAt": "2026-10-20T16:00:37.680Z",
"durationMinutes": 60,
"embed": {
"$type": "app.bsky.embed.external",
"external": {
"$type": "app.bsky.embed.external#external",
"description": "Elon Take The Wheel Livestream: Alex Gibney, Director of \"MUSK\"",
"thumb": {
"$type": "blob",
"ref": {
"$link": "bafkreifbiu2m3dnnhmzq4dk6u4227p3xuq3zzqhhzvibhuojnz6unengny"
},
"mimeType": "image/jpeg",
"size": 195438
},
"title": "e.w. niedermeyer is live on Streamplace",
"uri": "https://stream.place/niedermeyer.online"
}
},
"status": "app.bsky.actor.status#live"
},
"status": "app.bsky.actor.status#live",
"embed": {
"external": {
"uri": "https://stream.place/niedermeyer.online",
"title": "e.w. niedermeyer is live on Streamplace",
"description": "Elon Take The Wheel Livestream: Alex Gibney, Director of \"MUSK\"",
"thumb": "https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:z72i7hdynmk6r22z27h6tvur/bafkreifbiu2m3dnnhmzq4dk6u4227p3xuq3zzqhhzvibhuojnz6unengny"
},
"$type": "app.bsky.embed.external#view"
},
"labels": [],
"expiresAt": "2026-10-20T17:00:37.680Z",
"isActive": false
}
},
"record": {
"$type": "app.bsky.feed.post",
"createdAt": "2024-10-17T07:06:51.491Z",
"langs": [
"en"
],
"text": "👋 Bluesky is an open social network that gives creators independence from platforms, developers the freedom to build, and users a choice in their experience. We're so excited to have you here! \n\nWe share Bluesky updates & news from this account. A quick orientation thread: 🧵✨"
},
"bookmarkCount": 272,
"replyCount": 8688,
"repostCount": 9551,
"likeCount": 63746,
"quoteCount": 723,
"indexedAt": "2024-10-17T07:06:51.491Z",
"labels": [],
"threadgate": {
"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.threadgate/3l6oveex3ii2l",
"cid": "bafyreiahvvhl554rdiddx5ek73qpbpldhb5wjbxaddudnnjs4qkutj6tqe",
"record": {
"$type": "app.bsky.feed.threadgate",
"createdAt": "2026-10-18T03:32:10.106Z",
"hiddenReplies": [
"at://did:plc:ao2vyokzaegtw37bh72kjk62/app.bsky.feed.post/3my2i2k3uyk2t"
],
"post": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l"
},
"lists": []
}
},
{
"uri": "at://did:plc:xrr5j2okn7ew2zvcwsxus3gb/app.bsky.feed.post/3mymxa653fs27",
"cid": "bafyreihmah6ovckzd3xht5qjoobiys6utfvegtvdmaqilvit3m7jg36xsu",
"author": {
"did": "did:plc:xrr5j2okn7ew2zvcwsxus3gb",
"handle": "catsofyore.bsky.social",
"displayName": "Cats of Yore",
"avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:xrr5j2okn7ew2zvcwsxus3gb/bafkreig6pljjdx7aekpetnwdxmjzhcbiwsoph72wjhjzjqsey2bzrj4pz4",
"associated": {
"chat": {
"allowIncoming": "following"
},
"activitySubscription": {
"allowSubscriptions": "followers"
}
},
"labels": [],
"createdAt": "2023-04-28T06:40:27.997Z"
},
"record": {
"$type": "app.bsky.feed.post",
"createdAt": "2026-10-24T14:56:12.679Z",
"embed": {
"$type": "app.bsky.embed.images",
"images": [
{
"alt": "Black-and-white photo of a long-haired white cat standing on a snowbank next to a snowy road or driveway. The snow is very deep. It looks like this might be a driveway because it seems to lead to a ramshackle garage with a house on the right.",
"aspectRatio": {
"height": 1308,
"width": 1302
},
"image": {
"$type": "blob",
"ref": {
"$link": "bafkreifbrlsxlwxlggg6jhqlizlwfsexlnnene6bl2kmuutcnb4y2jjzbu"
},
"mimeType": "image/jpeg",
"size": 781910
}
}
]
},
"langs": [
"en"
],
"text": "Snow puff! Photo from my collection, 1960."
},
"embed": {
"images": [
{
"thumb": "https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:xrr5j2okn7ew2zvcwsxus3gb/bafkreifbrlsxlwxlggg6jhqlizlwfsexlnnene6bl2kmuutcnb4y2jjzbu",
"fullsize": "https://cdn.bsky.app/img/feed_fullsize/plain/did:plc:xrr5j2okn7ew2zvcwsxus3gb/bafkreifbrlsxlwxlggg6jhqlizlwfsexlnnene6bl2kmuutcnb4y2jjzbu",
"alt": "Black-and-white photo of a long-haired white cat standing on a snowbank next to a snowy road or driveway. The snow is very deep. It looks like this might be a driveway because it seems to lead to a ramshackle garage with a house on the right.",
"aspectRatio": {
"height": 1308,
"width": 1302
}
}
],
"$type": "app.bsky.embed.images#view"
},
"bookmarkCount": 147,
"replyCount": 50,
"repostCount": 549,
"likeCount": 6823,
"quoteCount": 7,
"indexedAt": "2026-10-24T14:56:15.940Z",
"labels": []
}
],
"cursor": "2026-10-11T16:59:27.675Z"
}Common to every endpoint
Any route can answer these: a missing or wrong key, no credits left, the platform not answering, or a failure on our side. None of them costs credits.
GET /v1/cosmos/profile?handle=design
{
"success": false,
"message": "Invalid API key"
}04Notes
Posts come in `feed`, up to 30 per page; a pinned post comes first. Reposts of other accounts appear as plain posts. Pass `cursor` (a timestamp) back as `cursor` for older posts; it is null on the last page, and a page past the end returns an empty `feed` for 0 credits. An unknown account is a free 404; a cursor that is not from a previous answer is a free 400.
05Errors & credits
Every error has success: false, a real HTTP status and costs no credits.
400missing_parameter
A required parameter is missing or invalid.
403private_account
The account is private or age-restricted.
404not_found
No such account.
503upstream_error
The platform did not answer; retry shortly.