Threads Replies Scraper API avatar

Threads Replies Scraper API

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Threads Replies Scraper API

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

Rush

Maintained by Community

Actor stats

3

Bookmarked

122

Total users

33

Monthly active users

6 days ago

Last modified

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 it returns a row per reply, 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 to 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), 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, which reply it answers, whether the thread's author liked it, and who the author allows to reply

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.

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

  1. Open threads.com in your browser and log in
  2. Press F12 to open Developer Tools
  3. Go to ApplicationCookieshttps://www.threads.com
  4. Find the cookie named sessionid and copy its value
  5. Paste it into the Session ID field in the Actor input

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.
  • 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 not return everything in one run.

Input example

{
"postUrls": [
"https://www.threads.com/@zuck/post/DTa3-B1EbTp"
],
"sessionId": "your-session-id-here",
"maxReplies": 0,
"sortOrder": "top",
"includeChildReplies": false
}
FieldTypeDescription
postUrlsArrayThreads post links to collect replies from (1–50). threads.net links work too
sessionIdStringYour Threads sessionid cookie
maxRepliesNumberMax replies per post (0 = unlimited, default: 0)
sortOrderStringReply sort order: "top" (most popular, default) or "recent" (newest first)
includeChildRepliesBooleanAlso collect nested replies (replies to replies). Each nested reply carries a depth (2+) and the parentReplyId it answers. 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": [],
"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,
"mediaUrls": [],
"mediaUrl": null,
"mediaWidth": null,
"mediaHeight": null,
"accessibilityCaption": null,
"linkTitle": 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": "3808602587877435385",
"postCode": "DTa39_1EWf5",
"postUrl": null,
"replyUrl": "https://www.threads.com/@zuck/post/DTa39_1EWf5",
"text": "Santosh will continue to lead our technical architecture, software stack, silicon program...",
"hashtags": [],
"mentions": [],
"urls": [],
"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": 1055,
"replyCount": 116,
"repostCount": 55,
"quoteCount": 5,
"shareCount": 48,
"isLikedByAuthor": false,
"replyToUsername": "zuck",
"depth": 1,
"parentReplyId": null,
"mediaType": "text",
"isGif": false,
"mediaUrls": [],
"mediaUrl": null,
"mediaWidth": null,
"mediaHeight": null,
"accessibilityCaption": null,
"linkTitle": null,
"index": 1,
"scrapedAt": "2026-08-09T16:23:33.523Z"
}

Tips for best results

  • 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.
  • Refresh your Session ID if you see errors. Session IDs can expire at any time. If authentication fails, obtain a fresh one and start a new run.
  • Best suited to runs you start yourself. Because Session IDs expire unpredictably, a scheduled run may find its credentials no longer valid.
  • 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.

Frequently Asked Questions

Why does this Actor need a Session ID?

Threads requires authentication to return reply data. Without a valid session, the Actor cannot retrieve replies.

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. Follow the steps in How to get your Session ID to obtain a fresh one, then start a new run.

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. Both sort modes may return different sets of replies — 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. Enable Include Child 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 carry a parentReplyId naming the reply they answer; a direct reply answers the item_type: "post" row itself, so its parentReplyId is empty. 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