Threads Search API
Search public Threads posts by keyword or hashtag and get normalized post records: text, author, and engagement.
$1.20/1k req, pay per request, no subscription.
{"id": "3564012987011200772","code": "DZyRktjxAbc","text": "Trump announces new trade framework at press conference, markets react within minutes","username": "politicsnowdaily","fullName": "Politics Now","likeCount": 18400,"replyCount": 2210,"repostCount": 3890,... 5 more fields}
Pricing and providers
Threads Search API pricing: one API, 2 interchangeable providers
The cheapest provider serves first. If it fails, the next one takes over in the same call.
Try it
Get Threads search in one request
This sample shows 16 of 17 fields. See every field
{
"found": true,
"data": {
"posts": [
{
"id": "3564012987011200772",
"code": "DZyRktjxAbc",
"text": "Trump announces new trade framework at press conference, markets react within minutes",
"username": "politicsnowdaily",
"fullName": "Politics Now",
"likeCount": 18400,
"replyCount": 2210,
"repostCount": 3890,
"createdUtc": 1758931200,
"url": "https://www.threads.com/@politicsnowdaily/post/DZyRktjxAbc",
"quoteCount": 145,
"profilePicUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/politicsnow_profile.jpg",
"isVerified": true
},
{
"id": "3564013100221400893",
"code": "DZyStwVyDef",
"text": "so trump just walked back the tariff comment from yesterday, wild week",
"username": "morganreyesnews",
"fullName": "Morgan Reyes",
"likeCount": 640,
"replyCount": 88,
"repostCount": 52,
"createdUtc": 1758844800,
"url": "https://www.threads.com/@morganreyesnews/post/DZyStwVyDef",
"quoteCount": 6,
"profilePicUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/morganreyes_profile.jpg",
"isVerified": false
},
{
"id": "3564013244401600154",
"code": "DZyUxzAzGhi",
"text": "context on the trump interview clip going around, the full transcript tells a different story",
"username": "dailycontextlabs",
"fullName": "Daily Context",
"likeCount": 2980,
"replyCount": 340,
"repostCount": 410,
"createdUtc": 1758758400,
"url": "https://www.threads.com/@dailycontextlabs/post/DZyUxzAzGhi",
"quoteCount": 29,
"profilePicUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/dailycontext_profile.jpg",
"isVerified": true
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-31 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- querystring
trump
Keyword or hashtag to search public Threads posts for; the # prefix is optional (e.g. AI agents). Threads matches text in posts, so search a brand or topic rather than a URL - a query that is only a domain is searched by its name (wander.com is searched as wander).
- endDatestring
2026-09-28
Only return posts published on or before this date, format YYYY-MM-DD (e.g. 2026-08-07). Threads pages backwards in time from here, so narrowing this is how you walk older results.
- startDatestring
2026-09-01
Only return posts published on or after this date, format YYYY-MM-DD (e.g. 2026-08-01).
Response
JSON, one example value per field.
Matching public post records: text, author, engagement counts, timestamp, and URL. Populated whenever the provider has data for the entity.
- codestring
DZyRktjxAbc
Threads post shortcode.
- createdUtcnumber
1758931200
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
- fullNamestring
Politics Now
Display name of the author. Populated whenever the provider has data for the entity.
- idstring
3564012987011200772
Post identifier. Populated whenever the provider has data for the entity.
- isVerifiedboolean
true
True when the author's account carries a verified badge.
- likeCountinteger
18400
Number of likes on the post.
- profilePicUrlstring
https://scontent.cdninstagram.com/v/t51.2885-19/politicsnow_profile.jpg
Profile picture URL of the author.
- quoteCountinteger
145
Number of quote posts.
- replyCountinteger
2210
Number of replies to the post.
- repostCountinteger
3890
Number of reposts of the post.
- textstring
Trump announces new trade framework at press conference, markets react within minutes
Post text content. Populated whenever the provider has data for the entity.
- urlstring
https://www.threads.com/@politicsnowdaily/post/DZyRktjxAbc
Canonical URL of the post. Populated whenever the provider has data for the entity.
- usernamestring
politicsnowdaily
Username of the author. Populated whenever the provider has data for the entity.
- foundboolean
true
True when the search ran. An empty "posts" array means the search completed and nothing matched, which is an answer rather than a failure; false is reserved for a search the upstream could not run.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the Threads Search API
The AnyAPI Threads Search API returns Threads search data as normalized JSON from one POST call to /v1/run/threads.search. Search public Threads posts by keyword or hashtag and get normalized post records: text, author, and engagement. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Threads search calls through AnyAPI succeeded, with a median response time of 1.1 seconds across 19,204 measured calls.