Threads Replies Scraper API
Pricing
from $1.00 / 1,000 results
Threads Replies Scraper API
Fetch replies from Threads posts. Get reply text, engagement metrics, author info, and media details. Requires a Threads Session ID.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
Rush
Maintained by CommunityActor stats
3
Bookmarked
131
Total users
31
Monthly active users
3 days ago
Last modified
Categories
Share
Collect the replies under any Threads post — with each reply's author, engagement, media and place in the conversation.
What does Threads Replies Scraper API do?
Give it up to 50 post links and your Threads Session ID (how to get one), and it returns a row for every reply it collects, ready to open in a spreadsheet or feed into your own tools.
What you get
One row for the item you submitted, then one row for each reply collected under it. Every row carries the same columns:
- Content — full text, its link, shortcode, hashtags, mentions, any links in the text, and the title of an attached link card
- Author — username, display name, user ID, profile link, profile picture, verified badge
- Engagement — likes, replies, reposts, quotes, and shares where Threads reports them
- Media — type (text, photo, video, carousel or GIF, and blank in the rare case Threads uses a format we do not recognise), a GIF flag, the main media link, every media link (one per slide for a carousel), pixel size, and the image description Threads provides where there is one. Media and profile picture links are time-limited by Threads, so download anything you want to keep soon after the run
- Timing — when it was posted, when it was collected, and whether the text has been edited
- Conversation — who it is replying to, how deep it sits in the thread, whether the thread's author liked it, and who the author allows to reply. Turn on nested replies and each row also names the reply it answers
Replies also carry their position in the results. The submitted item is marked item_type: "post" and everything else item_type: "reply", so you can filter by type.
Because the two row types describe different things, some columns belong to one or the other: postId and postUrl are filled on the post row, replyId and replyUrl on reply rows, and postCode is always the shortcode of whatever that row itself is.
How to get your Session ID
This Actor requires a Threads Session ID for authentication. Here's how to get it:
Option 1: Browser Developer Tools
- Open threads.com in your browser and log in
- Press F12 to open Developer Tools
- Go to Application → Cookies →
https://www.threads.com - Find the cookie named
sessionidand copy its value - Paste it into the Session ID field in the Actor input
Option 2: Cookie Editor Extension
You can also use a browser extension like Cookie-Editor to quickly view and copy cookies. Simply install the extension, visit threads.com, and search for the sessionid cookie.
Disclaimer: Cookie-Editor is a third-party extension not affiliated with this Actor. As with any browser extension that accesses cookie data, please review its permissions and use at your own discretion.
Important notes
- Use a secondary account. Automated access may cause Threads to flag your account or temporarily restrict it. We strongly recommend using a secondary account rather than your primary one.
- Session IDs have no guaranteed lifetime. They expire on logout, password change, new device login, or when Threads invalidates them for security reasons — which can happen unpredictably regardless of usage. If you receive authentication errors, obtain a fresh Session ID before retrying.
- The reply count on a post is not a target. Threads does not serve every reply a post displays a count for, in either ordering, so a finished run normally saves fewer than that number. The run tells you how many it saved.
- Busy accounts. Threads limits how much can be read in a short period, so a very large job on an account that is already busy may be cut short.
Input example
{"postUrls": ["https://www.threads.com/@zuck/post/DTa3-B1EbTp"],"sessionId": "your-session-id-here","maxReplies": 0,"sortOrder": "top","includeChildReplies": false}
| Field | Type | Description |
|---|---|---|
postUrls | Array | Threads post links to collect replies from (1–50). threads.net links work too |
sessionId | String | Your Threads sessionid cookie |
maxReplies | Number | Max replies per post (0 = unlimited, default: 0). Nested replies count towards the same limit |
sortOrder | String | Reply sort order: "top" (most popular, default) or "recent" (newest first) |
includeChildReplies | Boolean | Also collect nested replies (replies to replies). Each nested reply carries a depth (2+), and names the reply it answers in parentReplyId wherever Threads identifies it. Default: false |
Output example
The item you submitted (item_type: "post"):
{"item_type": "post","sourceUrl": "https://www.threads.com/@zuck/post/DTa3-B1EbTp","postId": "3808602590024938729","replyId": null,"postCode": "DTa3-B1EbTp","postUrl": "https://www.threads.com/@zuck/post/DTa3-B1EbTp","replyUrl": null,"text": "Today we're establishing a new top-level initiative called Meta Compute...","hashtags": [],"mentions": [],"urls": [],"linkTitle": null,"username": "zuck","userId": "63055343223","profileUrl": "https://www.threads.com/@zuck","profilePicUrl": "https://scontent.cdninstagram.com/...","isVerified": true,"displayName": "Mark Zuckerberg","timestamp": "2026-01-12T18:00:30.000Z","isEdited": false,"replyControl": "everyone","likeCount": 2944,"replyCount": 967,"repostCount": 150,"quoteCount": 39,"shareCount": 245,"isLikedByAuthor": false,"replyToUsername": null,"depth": 0,"parentReplyId": null,"mediaType": "text","isGif": false,"mediaUrl": null,"mediaUrls": [],"mediaWidth": null,"mediaHeight": null,"accessibilityCaption": null,"index": null,"scrapedAt": "2026-08-09T16:23:33.519Z"}
Reply (item_type: "reply"):
{"item_type": "reply","sourceUrl": "https://www.threads.com/@zuck/post/DTa3-B1EbTp","postId": null,"replyId": "3809329519388273025","postCode": "DTddQPjjCmB","postUrl": null,"replyUrl": "https://www.threads.com/@gheorghe.sarbu/post/DTddQPjjCmB","text": "How much will you invest in new energy production facilities?","hashtags": [],"mentions": [],"urls": [],"linkTitle": null,"username": "gheorghe.sarbu","userId": "63750870858","profileUrl": "https://www.threads.com/@gheorghe.sarbu","profilePicUrl": "https://scontent.cdninstagram.com/...","isVerified": false,"displayName": "Gheorghe Sârbu","timestamp": "2026-01-13T18:04:47.000Z","isEdited": false,"replyControl": "everyone","likeCount": 8,"replyCount": 0,"repostCount": 0,"quoteCount": 0,"shareCount": null,"isLikedByAuthor": false,"replyToUsername": "zuck","depth": 1,"parentReplyId": null,"mediaType": "text","isGif": false,"mediaUrl": null,"mediaUrls": [],"mediaWidth": null,"mediaHeight": null,"accessibilityCaption": null,"index": 20,"scrapedAt": "2026-08-24T17:39:30.865Z"}
After a run
- Results appear as they are collected. You do not have to wait for the run to finish before opening the dataset, and whatever has been collected is kept even if a run is interrupted.
- Check the last line of the log. It says how many replies were collected and how many rows were saved. If the run stopped early, or if any post could not be collected in full, it says so there instead of reporting the job complete — so you know when it is worth running again.
- Automating? Read the run summary instead. Every run saves a short summary you can open from the Run Summary link on the run's Output tab: how many posts you submitted, how many were collected, how many replies were saved, and whether anything is missing. It says the same thing as that last log line, in a form a schedule, a spreadsheet sync or a webhook can act on.
Frequently Asked Questions
Why does this Actor need a Session ID?
This Actor reads replies as a signed-in viewer, which is why it needs your Session ID. It will not start without one.
Is it safe to enter my Session ID?
Your Session ID grants access to your Threads account, so we strongly recommend using a secondary account. It is treated as a secret — stored encrypted as part of your run's private input, used only to make authenticated requests to Threads, and never written to logs or shared with anyone else.
I'm seeing authentication errors — what should I do?
Your Session ID has most likely expired. Replies already collected stay in that run's results. Follow the steps in How to get your Session ID to obtain a fresh one, then start a new run to collect the rest.
What does item_type mean in the output?
Each link you submit normally produces one row marked "item_type": "post" — the item you asked for — followed by one row per reply to it, marked "item_type": "reply". Filtering on that column separates the two. In the rare case where the submitted item itself cannot be read, only its reply rows are returned for that link.
What is the difference between "Top" and "Recent" sort?
"Top" is Threads' default view, which surfaces the most popular replies first. "Recent" returns replies in chronological order, starting from the newest.
Each ordering is its own selection rather than a different arrangement of the same replies, so the two do not return the same set, and neither returns every reply the post displays a count for. Choose based on whether you want the most popular responses or the latest ones.
Can I paste the link to a reply instead of a post?
Yes. On Threads a reply has its own link in the same shape as a post link, and either one works here: you get the replies underneath whatever you paste, not the wider thread it belongs to.
The item_type: "post" row is always the item you asked for. When that item is itself a reply it still carries depth: 0, and replyToUsername tells you who it was answering.
Can I scrape replies from multiple posts at once?
Yes. You can add up to 50 post URLs per run. Results are kept separate per post, and every result is labeled with the sourceUrl that produced it — the standard https://www.threads.com/@user/post/CODE form of the link you submitted — making it easy to filter and compare by post.
Can I also get replies to replies (nested threads)?
Yes. Turn on Include Nested Replies to follow each reply thread and collect the nested replies beneath it, around five levels below the item you submitted — a conversation that runs on inside one thread can reach a little deeper, and each row's depth tells you exactly where it sits. Each row includes a depth (0 = the item you submitted, 1 = a direct reply to it, 2+ = nested). Rows at depth 2 and below also name the reply they answer in parentReplyId; a direct reply answers the item_type: "post" row itself, so its parentReplyId is empty — as it is in the rare case where Threads does not identify the parent. Select direct replies with depth = 1 rather than by an empty parent. Together they let you reconstruct the conversation tree.
A few nested replies come through even with the option off; they are labelled with their real depth and parent rather than being passed off as direct replies. Turning it on is what makes them complete rather than incidental.
Integrations
Connect Threads Replies Scraper API with other apps and services using Apify integrations. Export data to Google Sheets, Slack, Zapier, Make, and many more.
More scrapers
Explore more social media and web scrapers on our Apify profile.
Disclaimer
This Actor is intended for learning, research, and personal use. You are responsible for using it responsibly and ethically, and for ensuring your use complies with the laws and regulations that apply to you.
Threads may update its platform at any time, which could temporarily affect this Actor's functionality. While we actively maintain compatibility, occasional disruptions are possible.
Using a Session ID involves providing authentication credentials to the Actor. We strongly recommend using a secondary account, as automated access may result in account restrictions or temporary bans. You are solely responsible for how you use this tool and any consequences that may arise from its use.
Threads replies scraper, Threads comments scraper, Threads reply API, Threads reply extractor, Threads post replies, social media scraper, Threads analytics, Threads engagement analysis, Threads reply tracker, Apify actor, Claude Code, OpenClaw, Gemini, Antigravity, Codex, ChatGPT