Skip to content
scrapeatlas.Dashboard

Search Threads users

Try in Playground

Discover public Threads accounts by keyword, including identity, display name, profile pictures, verification, biography, follower count and privacy flag.

GET/v1/threads/search/usersx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
2
querystringrequiredquery

Keywords or a handle fragment, 1–200 characters.

min 1 chars · max 200 chars

Exampleexample
limitintegerquery

Most accounts to return, 1–10 (default 5; each account is one profile page read). The index is asked for 20 profile pages; permalinks beyond the limit set users_truncated.

1 – 10

Response fields
26
requestIdstring

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.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed, or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

Canonical threads.com URL of the profile, post or search (user search: the web index endpoint, query excluded).

absolute HTTPS URL

fetchedAtstring

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.

coverage.sourceenum

Always included.

one of: public_web, web_index

coverage.completeboolean

Always included.

coverage.warningsenum[]

users_truncated when the index listed more profiles than limit; users_omitted when a listed profile no longer resolves.

querystring

Keywords or a handle fragment, 1–200 characters.

min 1 chars

Always included.

up to 10 items

users.usernamestring

Always included.

min 1 chars

users.pkstring

Always included.

users.full_namestringnullable

Always included.

users.profile_pic_urlstring

Always included.

users.is_verifiedboolean

Always included.

users.has_onboarded_to_text_post_appbooleannullable

Always included.

users.idstring

Always included.

users.biographystringnullable

Always included.

users.follower_countintegernullable

Always included.

users.hd_profile_pic_versionsobject[]nullable

Always included.

users.text_post_app_is_privatebooleannullable

Always included.

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.

Error codes
17
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, malformed or unsupported parameters, handles, dates or URLs.
401unauthorizedInvalid API key.
404not_foundUnknown handle (Threads redirects it to the login form) or unknown post code.
403restricted_pageThe page or document is restricted to signed-in viewers.
503search_unavailableUser search was called without a configured search key.
502search_failedThe web search index answered with an error, a non-JSON body or an unexpected shape.
429upstream_rate_limitedThreads or the web index rate limited the request.
502upstream_challengedThreads answered the request with a challenge page instead of a document (status challenged).
502operation_unavailableThreads no longer serves the pinned document for this operation.
502unsafe_redirectThreads redirected the request somewhere other than the login form or the canonical permalink.
502unsupported_pageThe page or GraphQL result is missing, mismatched or structurally unsupported.
502response_too_largeThe decoded responses exceeded 8 MiB.
502payload_too_complexThe response exceeded the JSON depth or node limits.
502request_limitThe upstream request budget was exhausted.
502upstream_errorNetwork failure or HTTP 5xx after the single retry.
503busyAll retrieval slots are busy.
504timeoutThe 45-second deadline elapsed.