Bluesky

Bluesky Post Details API

Post thread via getPostThread — nested replies[], facet links/mentions/hashtags, rich author (1 credit).

Pass a Bluesky post URL and get the public thread (app.bsky.feed.getPostThread) — not a duplicate of a user-posts row. Beyond the list card you get: nested replies[] with per-reply author/text/engagement (depth, default 1, max 6), parentUri/rootUri/isReply so a reply is never mistaken for a root post, facet-derived links[] (full URIs — Bluesky truncates long URLs inside text), mentions[] with did, and hashtags[], post-level labels[] + langs[], and a rich author{handle,displayName,did,avatar,createdAt,labels[],verification{},verified} matching bluesky/profile (including !no-unauthenticated compliance labels). Embeds use the same normalized type namespace as user-posts (external | images | video | quote). Flat 1 credit. This is the only Captapi surface that returns Bluesky reply content.

Docs: https://captapi.com/apis/bluesky-post-details

get/v1/bluesky/post-details

Request

  • Base URL: https://api.captapi.com
  • URL: https://api.captapi.com/v1/bluesky/post-details
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Query parameters

urlstring required

Bluesky post URL, e.g. https://bsky.app/profile/handle/post/RKEY. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.

depthinteger

Reply nesting levels under the post (0 = post only with no replies[], default 1, max 6). Maps to Bluesky getPostThread depth.

cacheboolean

Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.

Response

Success. The data object for this endpoint.

successunknown required

Changes

No recorded changes to this operation across all 3 revisions of this API.