Get a Threads post
Retrieve a public Threads post by permalink, with view count, replies, related posts and ancestor posts. Use trim for a compact projection.
/v1/threads/postx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
threads.com or threads.net post permalink (query strings and fragments ignored).
max 2048 chars
https://www.threads.com/@example/post/ExAmPlE0001true keeps the compact projection: id, pk, caption, code, like_count, taken_at, user (feed and search posts add url).
one of: true, false
Request correlation identifier.
HTTP attempts for the operation (profile, posts, post, comments: one page load, plus one canonical redirect hop for short, threads.net or wrongly attributed permalinks; search: a bodiless session probe (HEAD on the login route) plus one document, with the login page read only when the probe sets no cookie; user search: the index and one profile page per account, five by default and ten at most; each with the shared transient retry), decoded bytes and duration.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable data is returned; inspect status and coverage for omissions.
success, partial, failed, or challenged. HTTP 200 can be partial.
one of: success, partial
Canonical threads.com URL of the profile, post or search (user search: the web index endpoint, query excluded).
absolute HTTPS URL
UTC retrieval time.
Complete means every source field of the operation was returned; warnings name every omission or cap (private_account, posts_first_page_only, posts_truncated, comments_first_page_only, comments_truncated, related_posts_truncated, parent_posts_truncated, search_results_truncated, date_filter_applied, users_truncated, users_omitted). Source is public_web, or web_index for user search.
Always included.
one of: public_web, web_index
Always included.
Always included.
The permalinked post as the page carries it (field groups below) with view_counts appended.
Always included.
Always included.
min 1 chars
Author as the post carries it: pk, profile_pic_url, friendship_status (null logged out), username, id, interop_messaging_user_fbid, is_meta_ai_bot, full_name, transparency_label, transparency_product, transparency_product_enabled, is_verified, has_onboarded_to_text_post_app, text_post_app_is_private.
Always included.
Always included.
min 1 chars
Always included.
min 1 chars
Always included.
Always included.
View count Threads shows on the permalink page, taken from the page's logged-out gating define; null when the page carries none (very fresh posts).
Always included.
up to 50 items
Always included.
Always included.
min 1 chars
Always included.
Always included.
Always included.
min 1 chars
Always included.
min 1 chars
Always included.
Always included.
Always included.
up to 20 items
Always included.
Always included.
min 1 chars
Always included.
Always included.
Always included.
min 1 chars
Always included.
min 1 chars
Always included.
Always included.
Always included.
up to 50 items
Always included.
Always included.
min 1 chars
Always included.
Always included.
Always included.
min 1 chars
Always included.
min 1 chars
Always included.
Always included.
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 |
|---|---|---|
| 400 | invalid_request | Missing, duplicate, malformed or unsupported parameters, handles, dates or URLs. |
| 401 | unauthorized | Invalid API key. |
| 404 | not_found | Unknown handle (Threads redirects it to the login form) or unknown post code. |
| 403 | restricted_page | The page or document is restricted to signed-in viewers. |
| 503 | search_unavailable | User search was called without a configured search key. |
| 502 | search_failed | The web search index answered with an error, a non-JSON body or an unexpected shape. |
| 429 | upstream_rate_limited | Threads or the web index rate limited the request. |
| 502 | upstream_challenged | Threads answered the request with a challenge page instead of a document (status challenged). |
| 502 | operation_unavailable | Threads no longer serves the pinned document for this operation. |
| 502 | unsafe_redirect | Threads redirected the request somewhere other than the login form or the canonical permalink. |
| 502 | unsupported_page | The page or GraphQL result is missing, mismatched or structurally unsupported. |
| 502 | response_too_large | The decoded responses exceeded 8 MiB. |
| 502 | payload_too_complex | The response exceeded the JSON depth or node limits. |
| 502 | request_limit | The upstream request budget was exhausted. |
| 502 | upstream_error | Network failure or HTTP 5xx after the single retry. |
| 503 | busy | All retrieval slots are busy. |
| 504 | timeout | The 45-second deadline elapsed. |