Get Bluesky posts in a batch
Retrieve up to 25 selected post views by canonical AT URI in one request, including authors, original records, media metadata and engagement counts, with a result for each URI in input order.
/v1/bluesky/posts/batchx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Must be application/json.
Array of 1–25 unique canonical at://<DID>/app.bsky.feed.post/<record-key> identifiers.
up to 25 items
["at://did:plc:abcdefghijklmnopqrstuvwx/app.bsky.feed.post/3abcdefghijkl","at://did:plc:abcdefghijklmnopqrstuvwx/app.bsky.feed.post/3abcdefghijklsecond"]Request correlation identifier.
Source request count, decoded response bytes and elapsed milliseconds.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when the batch contains usable records.
success or partial for usable batches; failed or challenged for failures.
one of: success, partial
Public Bluesky batch API endpoint.
absolute HTTPS URL
UTC retrieval time.
Batch completeness and named omission warnings.
Always included.
Always included.
Always included.
One result per requested identifier, in the same order.
up to 25 items
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 200 | partial | Usable data with restricted_posts_omitted, unavailable_replies_omitted, replies_incomplete, or reply_limit warnings. Batch omissions use unavailable_records or restricted_records_omitted warnings. |
| 400 | invalid_request | Missing, duplicate, ambiguous, unsafe or unsupported parameters. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 403 | restricted_page | The primary account or post is restricted or unavailable. |
| 404 | not_found | The source reports a missing profile or post. |
| 404 | unavailable_records | No requested batch record is available from the public source; no empty success is returned. |
| 429 | upstream_rate_limited | Source throttling; no automatic retry. |
| 502 | upstream_challenged | Source rejected the unauthenticated request. |
| 502 | unsupported_page | Malformed, missing or mismatched source data. |
| 502 | response_too_large payload_too_complex | Response exceeded byte or parsing limits. |
| 502 | unsafe_redirect request_limit upstream_error | Bounded source retrieval could not complete. |
| 503 | busy | All worker slots are occupied. |
| 504 | timeout | Total request deadline expired. |