Threads Public Data API — Try the interactive demo
A guided live test. Prefer the raw endpoints? See the API reference & playground →
Enter an API key from your Dashboard to enable the examples below. Requests send it to this platform for authentication.
Log in / Sign up · Dashboard →
Please paste your API key first.
Endpoints
Your API key is attached automatically to each call.
/api/project/threads-scraper/search-posts Search Public Threads Posts by Keyword
Details
Pass a required query string to find public Threads posts matching a keyword or phrase. The response includes status, request_id and data.results; to read individual posts, iterate data.results[], follow node.thread, then iterate thread_items[] and read each post. Observed post fields include string pk and id, code, user.username, caption.text when available, taken_at as Unix seconds and like_count. One result wrapper can contain more than one post, so flatten all thread_items before counting or exporting matches. Use returned text and author metadata to assess relevance rather than treating a match as a verified brand mention. Results can change between requests and do not represent every matching post. data.cursor may be returned, but this operation accepts only query: no cursor, page, date-range or sort input is supported. Deduplication, polling schedules, alerts and sentiment classification are application logic, not built-in API features.
| Parameter | In | Value |
|---|---|---|
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/threads-scraper/list-user-posts Retrieve Available Posts for a Threads Username
Details
Provide a required Threads username, not a display name or numeric account ID, to retrieve the available public account posts. The response includes status, request_id and data.posts. Iterate data.posts[], then node.thread_items[], and read each post; the observed account collection contained threads with multiple items. Post fields include pk and id as strings, code, user.username, caption.text when available, taken_at as Unix seconds and like_count. A collection id may contain an account suffix, so preserve it intact rather than coercing it to a number. This is an available content sample, not a complete posting history. data.cursor was present, but username is the only supported input; there is no cursor, page, limit, date-range or sort parameter. Store retrieval times and deduplicate identifiers when comparing repeated account observations. Content visibility and availability can change, and absent metrics must remain unknown.
| Parameter | In | Value |
|---|---|---|
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/threads-scraper/get-post-details Look Up a Threads Post by URL or Shortcode
Details
Retrieve one public Threads post by code or url. Supply at least one selector: code is the post shortcode, not its numeric ID; url must be an HTTPS Threads post URL on threads.com or threads.net. If both are supplied, url takes precedence. URL-encode a full URL when passing it as a query value. The response includes status, request_id and data.post with string id, code, username, text, taken_at as Unix seconds, url, like_count, reply_count, repost_count, quote_count and view_count. The observed shortcode lookup preserved the author, text and timestamp of the same post returned by the account-post collection. view_count was explicitly null: unavailable views must remain unknown, not be converted to zero. Engagement values are observations, not private analytics. Reply and quote counts do not include reply or quote records. Only public, available posts are in scope; invalid or unavailable inputs can fail.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/threads-scraper/search-users Search Threads Accounts by Name or Username
Details
Pass a required query containing a name, username or account-search keyword. The response includes status, request_id and data.results, with candidate profiles at data.results[].node. Observed fields include username, string pk and id, full_name, is_verified, follower_count and profile_pic_url. Select the intended username before requesting its full profile or account posts: a similar display name is not proof of identity. A query for a nonexistent random username returned a successful response with data.results:[]. Treat an empty result array as no matches for that query, not as an outage or definitive proof that a particular account was deleted. Results are not an exhaustive account directory, and no pagination parameter is exposed.
| Parameter | In | Value |
|---|---|---|
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/threads-scraper/get-user-details Get a Public Threads Profile by Username
Details
Provide a required Threads username to retrieve its public profile. The response includes status, request_id and data.user. Observed profile fields include string pk and id, username, full_name, is_verified, follower_count, biography and profile_pic_url. The public zuck account resolved consistently to Mark Zuckerberg with pk and id 63055343223. Preserve account identifiers as strings, and treat the follower count as an observation that can change between requests. A tested nonexistent username returned status:ok with data.user:null. Keep that as an unavailable profile observation, not proof of deletion. This operation does not return follower identities, private activity or audience demographics. Use the separate bio-link profile lookup when optional public links are needed, or the account-post operation for available content.
| Parameter | In | Value |
|---|---|---|
| query |
Request cost is temporarily unavailable. No price is assumed.
/api/project/threads-scraper/get-user-details-with-bio-link Get a Threads Profile with Optional Bio Links
Details
Provide a required Threads username to retrieve the public profile variant that includes optional bio-link information. The response includes status, request_id and data.user. Observed fields include string pk and id, username, full_name, is_verified, follower_count, biography, profile_pic_url and bio_links. The tested zuck profile returned the expected account identity and an empty bio_links array. No nonempty bio-link item schema was established by that result. Treat bio links as optional: an empty array is valid, not an instruction to infer a website or contact address. Preserve any returned links as supplied and review destinations before using them. Public links do not establish contact permission, email availability or account ownership. This operation does not expose private profile activity, and its public follower count is not a follower list.
| Parameter | In | Value |
|---|---|---|
| query |
Request cost is temporarily unavailable. No price is assumed.