Threads Scraper - Posts by Keyword, Hashtag or Profile
Scrape public Threads posts by keyword, hashtag or profile. Text, author, likes, replies, reposts, timestamps and media URLs as JSON. No login. Platform usage included.
USD 2 per 1,000 results on Apify (pay per event)
Open in Apify StoreExample: Threads Posts by Keyword
Get public Threads posts as clean JSON: post text, author name and username, likes, replies, reposts, quotes, timestamp, image and video URLs, and the post link. Search by keyword or hashtag, or pull the latest posts from any public profile. No login and no Threads account needed.
What you get
One row per post:
| Field | What it is |
|---|---|
post_id |
Threads post ID |
post_url |
Link to the post on threads.com |
username |
Author's handle |
display_name |
Author's display name (falls back to the handle if they have none) |
is_verified |
Whether the author has a verified badge |
text |
Full post text |
like_count, reply_count, repost_count, quote_count |
Engagement numbers at the time of the run |
timestamp |
When the post was published (ISO 8601, UTC) |
media_urls |
Image and video URLs attached to the post |
is_reply, parent_post_id |
Whether the post is a reply or part of a thread |
source, source_value |
Which search or profile the post came from |
Input example
{
"searchQuery": "AI",
"searchQueries": ["startup", "#marketing"],
"profileUsernames": ["zuck", "https://www.threads.com/@mosseri"],
"maxResults": 100
}
- Search query / More search queries: keywords or hashtags. Each search returns the top posts Threads shows to logged-out visitors, usually about 20.
- Profile usernames: handles or profile URLs. Each profile returns its latest posts, usually about 10.
- Max results: stop after this many posts in total (up to 1,000).
To collect more posts in one run, add more search terms or profiles. Duplicates across searches are removed.
Output example
{
"post_id": "3992848258133212117",
"post_url": "https://www.threads.com/@zuck/post/DdpclX0ETvV",
"username": "zuck",
"display_name": "Mark Zuckerberg",
"is_verified": true,
"text": "Lots of announcements coming today at Meta Connect...",
"like_count": 981,
"reply_count": 101,
"repost_count": 73,
"quote_count": 9,
"timestamp": "2026-09-23T23:03:45.000Z",
"media_urls": ["https://..."],
"is_reply": false,
"parent_post_id": null,
"source": "profile",
"source_value": "zuck"
}
Pricing
You pay per post returned, plus a small fee when the run starts. Platform usage is included, so there are no extra compute or proxy charges. Searches or profiles that return nothing cost nothing beyond the start fee.
Common uses
- Track what people say about a brand, product or topic on Threads
- Collect posts for sentiment analysis or to feed an LLM or RAG pipeline
- Monitor competitors' or creators' latest posts and engagement
- Find active accounts and creators in a niche
Limits
- Only public posts are returned. Private profiles return nothing.
- Without a login, Threads shows a limited first page: about 20 posts per search and about 10 per profile. Use several search terms or profiles for bigger runs.
- Search results are the "Top" results Threads picks, not a full chronological feed.
- Engagement numbers are a snapshot from the moment of the run.
Use it from code
Call it from the Apify API, the JavaScript or Python client, Make, Zapier, n8n, or an MCP client. Results are in the run's default dataset as JSON, CSV or Excel.
Run it on Apify Apify's free plan includes monthly platform credit, so small runs cost little or nothing to try.