Threads
Threads User Search API
Search Threads PROFILES by name or handle and get back the numeric user_id, handle, display name, avatar and verified flag as JSON. Costs 2 credits. This is the only search Threads exposes - there is no post, keyword or hashtag search on the platform - and it is where a Threads workflow starts, because the id it returns is what makes every other Threads endpoint run at the cheap 2-credit rate instead of 4.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonquerystringrequiredThe name or handle to look for, 1 to 200 characters. Matching is Threads' own ranked, fuzzy match on both handle and display name: a search for natgeo also returns natgeoanimals, natgeo.media and an unrelated account called natgeoo_. Compare username exactly before you chain on an id.
Example: natgeo
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Step 1: handle -> user_id (2 credits)
matches = client.threads.search_users("natgeo")
user_id = next(
u["user_id"] for u in matches["data"]["users"] if u["username"] == "natgeo"
)
# Step 2: every user-keyed Threads endpoint now runs at 2 credits, not 4
profile = client.threads.profile(user_id=user_id)
posts = client.threads.user_posts(user_id=user_id)
print(profile["data"]["follower_count"], len(posts["data"]["posts"]))Response