Threads Scraper - Profiles, Posts, Replies, Search & Tags
Pricing
from $1.40 / 1,000 results
Threads Scraper - Profiles, Posts, Replies, Search & Tags
Scrape Threads (Meta) without login: profile stats, posts with likes and reply counts, full reply threads, keyword search and tags.
Pricing
from $1.40 / 1,000 results
Rating
0.0
(0)
Developer
Vladimir Trifonov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Threads Scraper
Extract public data from Threads (Meta) — profiles, posts with engagement counts, full reply threads, keyword search and topic tags.
No login. No access token. No doc_id.
Why the missing doc_id matters
Most Threads scrapers call Meta's private GraphQL endpoint, which requires a doc_id — an internal query identifier that Meta rotates without warning. When it changes, every tool holding a hardcoded copy breaks at once, and stays broken until someone ships an update. That is the single most common reason a Threads scraper that worked last month returns nothing today.
This Actor does not use GraphQL at all. It reads the server-rendered page, the same one your browser receives, and pulls the data Threads itself embeds there. There is no identifier to go stale.
What you get
Profiles — follower count, bio, display name, verification, private flag, avatar, external link, plus that account's recent posts.
Posts — text, publication time, permanent link, author, likes, replies, reposts, quotes, a combined engagement number, images, videos, link cards, hashtags, mentions and detected language.
Reply threads — give it a post URL and it returns the post together with its replies, each labelled with the account it answers. This is the richest view the Actor produces.
Search and tags — collect the posts Threads shows publicly for a keyword or a topic tag.
Example input
{"profiles": ["zuck", "mosseri"],"searchQueries": ["ai agents"],"postUrls": ["https://www.threads.com/@zuck/post/Dbq20Xaj8RL"],"tags": ["ai"]}
Any combination works; leave the lists you do not need empty.
Example output
{"type": "post","source": "profile","sourceValue": "zuck","postId": "3957216315664483403","code": "Dbq20Xaj8RL","url": "https://www.threads.com/@zuck/post/Dbq20Xaj8RL","username": "zuck","fullName": "Mark Zuckerberg","isVerified": true,"text": "Announcing Muse Code beta, our multi-agent coding harness...","publishedAt": "2026-08-04T09:49:27.000Z","likeCount": 2416,"replyCount": 243,"repostCount": 158,"quoteCount": 47,"engagementTotal": 2864,"hasMedia": false,"hashtags": [],"mentions": []}
And a profile row:
{"type": "profile","username": "zuck","fullName": "Mark Zuckerberg","biography": "Mostly superintelligence and MMA takes","followerCount": 5699793,"isVerified": true,"isPrivate": false,"profileUrl": "https://www.threads.com/@zuck"}
Ready-made views — Posts, Replies, Profiles and Media — let you export just the columns you need.
What people use it for
- Competitor tracking — follow what accounts in your niche post and which posts actually land
- Audience research — pull the replies under a popular post to read what people genuinely say
- Influencer vetting — compare follower counts against real per-post engagement before paying for a placement
- Brand and topic monitoring — search your brand or category on a schedule and catch mentions early
- Content research — rank posts by
engagementTotaland study what the top ones have in common
Honest limits
Read this before you buy — it will save you a disappointing run.
- A profile returns its most recent posts, not its whole history. Threads renders roughly the latest handful of posts into the page, and deeper paging requires the GraphQL path this Actor deliberately avoids. If you need thousands of posts from one account, this is not the right tool.
- Replies are the deep surface. A post URL typically yields around 30 rows — the post and its visible replies. That is where the volume is.
- Public accounts only. Private or removed profiles return a clear error rather than empty rows.
- Engagement counts are whatever Threads shows publicly and can lag the real numbers slightly.
Proxies
Threads throttles by IP, and it does not answer a throttled address with an error — it returns a page that looks fine but contains no data. The Actor detects this and retries on a fresh address, but that only works if it has addresses to rotate. Use residential proxies, which is the default configuration.
Pricing
Pay per result: you are charged for the rows you actually receive. A profile that turns out to be private or missing costs you nothing beyond the lookup.
Integrations
Results are available through the Apify API and export as JSON, CSV, Excel or XML, or flow onward through the standard Apify integrations — Google Sheets, Slack, Zapier, Make, Airtable and webhooks.
Is scraping Threads legal?
The Actor reads only pages Threads serves publicly, without logging in and without bypassing any access control — the same content any visitor sees. It collects no private posts and no contact details. How you use the data is your responsibility, particularly where it concerns identifiable people; check the rules that apply to you before collecting personal information at scale.