Threads Replies Scraper - Comments, Likes, Authors
Pricing
from $1.40 / 1,000 replies
Threads Replies Scraper - Comments, Likes, Authors
Scrape every reply under any public Threads post: text, author, verified badge, likes, reply and repost counts, date, links, mentions, images and videos. Top, most recent or all, up to 10,000 per post, optional sub-replies. No login, no cookies. $2 per 1,000 replies.
Pricing
from $1.40 / 1,000 replies
Rating
0.0
(0)
Developer
Khandji Omar
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
Threads Replies Scraper — Comments, Likes, Authors
Paste a Threads post link. Get every reply as a clean row. Text, author, verified badge, likes, reply and repost counts, date, links, mentions, images and videos — top replies first or most recent first. No login, no cookies, no browser. 20 replies free on every run.
Free tier — 20 results free on every run
The first 20 results of every run are free, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.
What does this Threads replies scraper do?
It reads the replies (comments) under any public Threads post. You give post links; it returns one row per reply. It pages through long conversations on its own: 150 replies take about 10 seconds.
It reads the public post page and the same reply query the Threads website uses when you scroll. Nothing is posted, liked or followed, and no account is involved.
Why use it
- No login, no cookies. Nothing to paste from your browser, nothing that expires.
- Up to 10,000 replies per post, 200 posts per run. Measured on a post with 2,514 replies: 899 in top order, 1,822 in recent order, 1,848 with all.
- Top, most recent, or all. Most recent first is what you want for daily monitoring; all is for full exports.
- The post itself comes free, as one extra row with its own likes, reply count and media.
- Sub-replies in the same run, when you ask for them.
- One bad link never kills the run. A deleted or private post is reported in
RUN_SUMMARY.jsonand costs nothing. - You pay per reply delivered, not per run and not per page.
How to use it in 3 steps
- Click Try for free and paste one or more post links in Threads post links.
- Set Max replies per post and choose Top replies first or Most recent first.
- Click Start. Download the replies as JSON, CSV or Excel, or read them by API.
Input
| Field | What it does |
|---|---|
postUrls | Public Threads post links. threads.com and threads.net links and bare post codes all work. Max 200 per run. |
maxRepliesPerPost | 1 to 10,000. Default 100. |
sortOrder | top (as Threads shows them), recent (newest first) or all (both orders merged: the most replies Threads shows without an account). |
includeNestedReplies | Also return the replies-to-replies Threads shows inline under a reply. Each one counts as a reply. |
includePost | Adds one row for the post itself before its replies (on by default). Never billed. |
postedAfter | Keep only replies on or after this date. Filtered before billing. |
maxTotalChargeUsd | Optional hard cost cap for the run. |
{"postUrls": ["https://www.threads.com/@zuck/post/Dd1MqfcG0aH"],"maxRepliesPerPost": 200,"sortOrder": "recent"}
Output
One row per reply (type: "reply"), plus one free row per post (type: "post").
{"type": "reply","postUrl": "https://www.threads.com/@zuck/post/Dd1MqfcG0aH","postAuthorUsername": "zuck","postReplyCount": 2514,"postLikeCount": 2659,"rank": 1,"replyId": "3996157469408330454","url": "https://www.threads.com/@pom_mom_4/post/Dd1NAu-m4LW","text": "...","language": null,"createdAt": "2026-09-28T12:38:34Z","createdAtTimestamp": 1790599114,"repliedAfterSeconds": 182,"authorUsername": "pom_mom_4","authorFullName": "...","authorId": "63260732267","authorIsVerified": false,"authorProfileUrl": "https://www.threads.com/@pom_mom_4","authorProfilePicUrl": "https://...","likeCount": 107,"replyCount": 2,"repostCount": 0,"quoteCount": 0,"shareCount": 0,"engagement": 109,"replyToUsername": "zuck","isByPostAuthor": false,"isLikedByPostAuthor": false,"isDirectReply": true,"parentReplyId": null,"isEdited": false,"isPaidPartnership": false,"replyControl": "everyone","links": [],"linkTitle": null,"mentions": [],"hashtags": [],"emails": [],"mediaType": "text","hasMedia": false,"imageUrls": [],"videoUrls": [],"imageAltText": null,"isQuotePost": false,"quotedPostUrl": null,"isRepost": false,"repostedPostUrl": null}
Fields that save you work:
rank— position in the order you chose;engagement— likes + replies + reposts + quotes + shares, ready to sort on.isLikedByPostAuthorandisByPostAuthor— the replies the author liked, and the author answering in their own thread.repliedAfterSeconds— how long after the post the reply came. Early repliers are the real fans.mediaType—text,photo,video,carouselorgif;hashtags,emails,linksandmentionsare already extracted.- With Include sub-replies,
isDirectReplyisfalseandparentReplyIdpoints to the reply above. languageis filled only when Threads labels the reply, which is not often.
The post row has the same fields for the post itself, plus repliesCollected.
How much does it cost?
$2 per 1,000 replies ($0.002 per reply) on the free plan, less on paid Apify plans — the exact price for your plan is on the Pricing tab. No start fee. The first 20 replies of every run are free.
| Replies | You pay |
|---|---|
| 20 | $0 |
| 500 | about $0.96 |
| 5,000 | about $9.96 |
A post that cannot be read costs nothing. Replies removed by your date filter cost nothing.
Use cases
- Brand and community teams — read what people answer under your posts and your competitors' posts, every day, most recent first.
- Sentiment and AI analysis — feed reply text to a model; each row carries likes and the author.
- Lead generation — find the people who engage with a topic or a creator.
- Giveaways and research — export every reply of a post to a spreadsheet.
Use it from code (API)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("om_kh/threads-replies-scraper").call(run_input={"postUrls": ["https://www.threads.com/@zuck/post/Dd1MqfcG0aH"],"maxRepliesPerPost": 200,"sortOrder": "recent",})for reply in client.dataset(run["defaultDatasetId"]).iterate_items():print(reply["authorUsername"], reply["likeCount"], reply["text"])
curl -X POST "https://api.apify.com/v2/acts/om_kh~threads-replies-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"postUrls": ["https://www.threads.com/@zuck/post/Dd1MqfcG0aH"], "maxRepliesPerPost": 100}'
Integrations and MCP
- Make / n8n / Zapier — Apify › Run an Actor, then Get Dataset Items, then Google Sheets or Slack.
- Schedules — run it every hour or day with
sortOrder: recentto follow a post. - AI agents (MCP) — connect your client to
https://mcp.apify.comand addom_kh/threads-replies-scraperas a tool.
Tips and limits
- Only public posts. Private profiles and deleted posts are reported as not found.
- Threads decides how many replies it serves without an account. On very large posts the run stops when Threads stops returning new replies — use
sortOrder: allto get the most — and you pay only for what was delivered. - Include sub-replies returns the sub-replies Threads shows inline, not every level of a long conversation. To get all replies of one reply, pass that reply's own link as a post.
- Image and video links are signed by Threads and expire after some time; download them soon after the run.
FAQ
Do I need a Threads or Instagram account? No. The Actor never logs in.
Can I scrape the replies of a reply?
Yes. Every reply has its own url; pass it in postUrls.
Is it legal? It reads public replies that anyone can see without an account. Replies contain personal data (usernames, text), so use them in line with GDPR and your local law.
Can I export to CSV, Excel or Google Sheets? Yes: download any run as CSV, Excel or JSON, or add the Google Sheets integration.
Support
Found a bug or need a field? Use the Issues tab of this Actor. Every report gets a reply.
Your feedback
Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.