Skip to content
scrapeatlas.Dashboard

Get Bluesky profiles in a batch

Try in Playground

Retrieve public profiles for up to 25 handles or DIDs in one request, with full profile metadata and a result for each actor in input order.

POST/v1/bluesky/profiles/batchx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Content-Typestringrequiredheader

Must be application/json.

Request body
1
actorsstring[]requiredbody

Array of 1–25 unique domain-style handles or did:plc/did:web account identifiers. Handles are compared case-insensitively.

up to 25 items

Example["example.test","second.test"]
Response fields
14
requestIdstring

Request correlation identifier.

Source request count, decoded response bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when the batch contains usable records.

statusenum

success or partial for usable batches; failed or challenged for failures.

one of: success, partial

sourceUrlstring

Public Bluesky batch API endpoint.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

Batch completeness and named omission warnings.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

resultsobject[]

One result per requested identifier, in the same order.

up to 25 items

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.

Error codes
13
HTTPfailure.codeMeaning
200partialUsable data with restricted_posts_omitted, unavailable_replies_omitted, replies_incomplete, or reply_limit warnings. Batch omissions use unavailable_records or restricted_records_omitted warnings.
400invalid_requestMissing, duplicate, ambiguous, unsafe or unsupported parameters.
401unauthorizedMissing or invalid worker API key.
403restricted_pageThe primary account or post is restricted or unavailable.
404not_foundThe source reports a missing profile or post.
404unavailable_recordsNo requested batch record is available from the public source; no empty success is returned.
429upstream_rate_limitedSource throttling; no automatic retry.
502upstream_challengedSource rejected the unauthenticated request.
502unsupported_pageMalformed, missing or mismatched source data.
502response_too_large payload_too_complexResponse exceeded byte or parsing limits.
502unsafe_redirect request_limit upstream_errorBounded source retrieval could not complete.
503busyAll worker slots are occupied.
504timeoutTotal request deadline expired.