How to get Bluesky post details
GET request to /v1/bluesky/post-details with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Get a Bluesky post — text, author, likes, reposts, and replies as structured JSON.How to get Bluesky post details (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the Bluesky Post Details API
Send an authenticated GET request to /v1/bluesky/post-details with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/bluesky/post-details?url=https%3A%2F%2Fbsky.app%2Fprofile%2Fdanabra.mov%2Fpost%2F3mqjnjafz2s2k" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"platform": "bluesky",
"uri": "at://did:plc:fpruhuo22xkm5o7ttr2ktxdo/app.bsky.feed.post/3mqjnjafz2s2k",
"url": "https://bsky.app/profile/danabra.mov/post/3mqjnjafz2s2k",
"cid": "bafyreib46qdetrzwrcu35fqynwkiw6tscptkvlxcujk5f745jmzqox5jz4",
"text": "i want to do a little ✨ ama about atproto ✨ in this thread. no question is too simple\n\nif you’ve been curious about atproto but don’t know much (anything?) about it, ask any question and i’ll try to explain it in my own words.\n\n(+ would love to hear from friends who aren’t very active on bsky)",
"publishedAt": "2026-07-13T12:02:47.424Z",
"indexedAt": "2026-07-13T12:02:47.867Z",
"author": {
"handle": "danabra.mov",
"displayName": "dan",
"did": "did:plc:fpruhuo22xkm5o7ttr2ktxdo",
"avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:fpruhuo22xkm5o7ttr2ktxdo/bafkreif43mhqajnbnl62u3ezf37g6x22nd762im54thxbil4ga46eugcga"
},
"engagement": {
"likes": 340,
"reposts": 82,
"replies": 104,
"quotes": 9
},
"embed": null
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | 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. |
| cache | boolean | No | Set true to serve from the 24h response cache. Default false — always fetch fresh data. |
Frequently asked questions
What does the Bluesky Post Details API do?
The Bluesky Post Details API lets you fetch full metadata and key stats from a public Bluesky post using one GET request to /v1/bluesky/post-details. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Bluesky Post Details API cost?
Each successful call costs 1 credit. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh. Failed or empty results are never charged.
Do I need a Bluesky API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Is the Bluesky Post Details API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh. Use it for analytics, monitoring, and content automation.
Ready to get Bluesky post details?
Start free with 100 credits — no credit card required.
Get your free API key