Bluesky API endpoint
Returns a Bluesky post along with its nested replies (and, when the post is itself a reply, its parent chain), up to `depth` levels deep.
/bluesky/post-threadQuery parameters:
uri (required) — the post's at:// URI, e.g. from an
author-feed or
search-actors result's uri field.depth (optional) — reply-tree depth, 1-10. Defaults to 6.Notable response behavior:
uri must start with at://; otherwise 400 is returned before any
upstream request is made.replies rather than surfaced as an empty entry.404.| Field | Filled in, of 164 checked | Values in the sample |
|---|---|---|
| post | 164 | |
| replies | 28 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| uri | string | Yes | The post's at:// URI, e.g. from an author-feed or search-actors result's post uri field | at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l | |
| depth | integer | No | Reply-tree depth, 1-10 | 6 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/bluesky/post-thread?uri=at%3A%2F%2Fdid%3Aplc%3Az72i7hdynmk6r22z27h6tvur%2Fapp.bsky.feed.post%2F3l6oveex3ii2l" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"thread": {
"post": {
"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l",
"text": "Welcome to Bluesky!",
"reply_count": 1,
"repost_count": 9534,
"like_count": 63579,
"quote_count": 705
},
"replies": [
{
"post": {
"uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6ovfftinx2m",
"text": "A reply.",
"reply_count": 0,
"repost_count": 0,
"like_count": 10,
"quote_count": 0
},
"replies": []
}
]
}
}
}Request schema
No body schema
Response schema
#/definitions/bluesky.postThreadResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | bluesky.PostThreadResponse | No | ||||
| data.thread | bluesky.ThreadPost | No | ||||
| data.thread.post | bluesky.Post | No | Post record, 28 fields: author, cid, created_at, external, images, indexed_at, langs, like_count, quote_count, quoted_post_uri, reply_count, repost_count and 3 more. Described under Bluesky batch posts API. | |||
| data.thread.replies | array | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/bluesky/post-thread?uri=at%3A%2F%2Fdid%3Aplc%3Az72i7hdynmk6r22z27h6tvur%2Fapp.bsky.feed.post%2F3l6oveex3ii2l" \
-H "x-api-key: $CRAWLORA_API_KEY"