Threads User posts API
List a Threads user's recent public posts by username: text, engagement counts, and post URLs.
$1.20/1k req, pay per request, no subscription.
{"id": "3564201110098700331","code": "DZzAbCdEfGh","url": "https://www.threads.com/@trendspider/post/DZzAbCdEfGh","text": "Volume is quietly confirming the breakout on the daily chart. Watching for a retest of the prior high before adding.","username": "trendspider","likeCount": 3120,"replyCount": 210,"repostCount": 340,... 4 more fields}
Pricing and providers
Threads User posts 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 user posts in one request
This sample shows 15 of 16 fields. See every field
{
"found": true,
"data": {
"posts": [
{
"id": "3564201110098700331",
"code": "DZzAbCdEfGh",
"url": "https://www.threads.com/@trendspider/post/DZzAbCdEfGh",
"text": "Volume is quietly confirming the breakout on the daily chart. Watching for a retest of the prior high before adding.",
"username": "trendspider",
"likeCount": 3120,
"replyCount": 210,
"repostCount": 340,
"quoteCount": 18,
"createdUtc": 1758844800,
"profilePicUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/trendspider_profile.jpg",
"isVerified": true
},
{
"id": "3564201230011200442",
"code": "DZzIjKlMnOp",
"url": "https://www.threads.com/@trendspider/post/DZzIjKlMnOp",
"text": "New scanner preset dropping this week: automatic detection of tightening Bollinger Bands across the S&P 500.",
"username": "trendspider",
"likeCount": 1980,
"replyCount": 96,
"repostCount": 140,
"quoteCount": 7,
"createdUtc": 1758758400,
"profilePicUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/trendspider_profile.jpg",
"isVerified": true
},
{
"id": "3564201340221300553",
"code": "DZzQrStUvWx",
"url": "https://www.threads.com/@trendspider/post/DZzQrStUvWx",
"text": "Reminder that earnings season starts picking up next week. We are flagging the names with the biggest historical average move.",
"username": "trendspider",
"likeCount": 890,
"replyCount": 44,
"repostCount": 61,
"quoteCount": 3,
"createdUtc": 1758672000,
"profilePicUrl": "https://scontent.cdninstagram.com/v/t51.2885-19/trendspider_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.
- handlestring
trendspider
The Threads username to list posts for, without the @ prefix.
Response
JSON, one example value per field.
The user's recent posts. Populated whenever the provider has data for the entity.
- codestring
DZzAbCdEfGh
Threads post shortcode.
- createdUtcnumber
1758844800
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
- idstring
3564201110098700331
Post identifier. Populated whenever the provider has data for the entity.
- isVerifiedboolean
true
True when the author's account carries a verified badge.
- likeCountinteger
3120
Number of likes on the post.
- profilePicUrlstring
https://scontent.cdninstagram.com/v/t51.2885-19/trendspider_profile.jpg
Profile picture URL of the author.
- quoteCountinteger
18
Number of quote posts.
- replyCountinteger
210
Number of replies to the post.
- repostCountinteger
340
Number of reposts of the post.
- textstring
Volume is quietly confirming the breakout on the daily chart. Watching for a retest of the prior high before adding.
Post text content. Populated whenever the provider has data for the entity.
- urlstring
https://www.threads.com/@trendspider/post/DZzAbCdEfGh
Canonical URL of the post. Populated whenever the provider has data for the entity.
- usernamestring
trendspider
Username of the author. Populated whenever the provider has data for the entity.
- foundboolean
true
True when the user's posts were found; false when the lookup returned nothing.
- 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 User posts API
The AnyAPI Threads User posts API returns Threads user posts data as normalized JSON from one POST call to /v1/run/threads.user_posts. List a Threads user's recent public posts by username: text, engagement counts, and post URLs. 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, 99.9% of Threads user posts calls through AnyAPI succeeded, with a median response time of 5.5 seconds across 942 measured calls.