Threads Replies Scraper avatar

Threads Replies Scraper

Pricing

from $3.40 / 1,000 result items

Go to Apify Store
Threads Replies Scraper

Threads Replies Scraper

Scrape every public reply to Threads posts, nested replies included, with author id, verified badge, likes, reposts and media. No login. Export to CSV, Excel, JSON or XML.

Pricing

from $3.40 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

🧡 Threads Replies Scraper

πŸš€ Export every public reply to a Threads post in seconds. Paste post links, get one row per reply with 43 fields: text, date, likes, replies, reposts, quotes, author id, username, verified badge, media, and the full conversation tree with depth and parent links. 700 replies in about a minute, no login.

Threads Replies Scraper reads the public conversation under any Threads post, the same replies a logged-out visitor can open on threads.com. It pages through the whole list instead of stopping at the first screen, follows replies to replies as deep as you ask, and tells you for every row where it sits in the conversation.

Each row carries 43 fields. In our tests one post returned 355 top-level replies plus their sub-threads, and a two-post run delivered 700 replies in 61 seconds. There is no cap on the number of post links per run and no cap on replies per post other than the ones you set.

🎯 Target AudienceπŸ’‘ Primary Use Cases
Social media managers, brand and community teams, PR agencies, market researchers, journalists, data scientistsComment analysis, sentiment and topic research, brand monitoring, audience research, crisis tracking, conversation datasets

πŸ“‹ What the Threads Replies Scraper does

  • πŸ’¬ Every public reply, not a first screen. Pages through the whole reply list, 50 replies per request.
  • 🌳 Nested replies with the full tree. Optional: replies to replies up to 10 levels deep, each row with depth, parentPostId, parentPostUrl and replyToUsername.
  • πŸ‘€ Author details on every row. Username, numeric account id (a stable join key), display name, verified badge, avatar and profile link.
  • πŸ“ˆ Engagement. Likes, replies, reposts and quotes on each reply, plus shares when Threads publishes them.
  • πŸ‘‘ Post author signals. Whether the post author wrote the reply, liked it or pinned it.
  • πŸ–Ό Media. Media type (text, image, video, carousel, GIF), every image and video URL, mentions, links, topic tag and detected language.
  • ↕️ Top or most recent. Threads' own ranking, or newest first with a date cutoff for daily monitoring.
  • 🧹 No duplicates, no surprises. A reply is delivered once per run, and a post that cannot be read gets a clear error row that is never charged.

πŸ’‘ Why it matters: the replies are where the audience actually reacts. Likes tell you how many people cared; the replies tell you what they think, who they are and which answer the conversation rallied behind.

🎬 Full Demo (🚧 Coming soon)

πŸ“Š Output

One row per reply. Values Threads does not publish read Not Disclosed, fields that do not apply read N/A, and empty lists are []. Error rows carry only source, scrapedAt and error.

FieldDescription
πŸ–Ό imageUrlFirst image or video cover in the reply, N/A for text replies
πŸ”— postUrlLink to the reply (valid input for this Actor)
πŸ”€ postCodeThreads short code of the reply
πŸ†” postIdNumeric id of the reply
πŸ’¬ textReply text
πŸ“… postedAtPosting time, ISO 8601 UTC
❀️ likeCountLikes
πŸ’¬ replyCountDirect replies to this reply
πŸ” repostCountReposts
πŸ—¨οΈ quoteCountQuote posts
πŸ“€ reshareCountShares, when Threads publishes the number
🌳 depth1 = reply to the post, 2 = reply to a reply, and so on
↩️ replyToUsernameAccount this reply answers
πŸ†” parentPostIdId of the post or reply this row answers
πŸ”€ parentPostCodeShort code of the parent
πŸ”— parentPostUrlLink to the parent
πŸ†” rootPostIdId of the post you asked for
πŸ”€ rootPostCodeShort code of the post you asked for
πŸ”— rootPostUrlLink to the post you asked for
πŸ‘‘ rootPostAuthorUsername of the post author
πŸ‘€ usernameReply author
πŸ†” authorIdNumeric account id of the reply author
πŸͺͺ authorFullNameDisplay name
βœ… authorIsVerifiedVerified badge (Yes/No)
πŸ–Ό authorProfilePicUrlAvatar
πŸ”— profileUrlAuthor profile
πŸ‘‘ isByPostAuthorThe post author wrote this reply
πŸ’– isLikedByPostAuthorThe post author liked this reply
πŸ“Œ isPinnedByPostAuthorThe post author pinned this reply
🎞 mediaTypeText, Image, Video, Carousel or GIF
πŸ“Ž hasMediaYes when the reply carries media
πŸ–Ό imageUrlsEvery image in the reply
🎬 videoUrlsEvery video in the reply
🏷 mentionsAccounts tagged in the text
πŸ”— linksLinks in the text and link cards
#️⃣ topicThreads topic tag
🌐 languageLanguage Threads detected
πŸ”— quotedPostUrlPost quoted inside the reply
✏️ isEditedThe text was edited
↕️ sortOrderTOP or RECENT
πŸ“₯ sourceThe input line the row came from
πŸ•’ scrapedAtCollection time
❌ errornull on success

Three real rows from a cloud run (post authors' replies and audience replies to posts by @zuck and @mosseri):

[
{
"imageUrl": "N/A",
"postUrl": "https://www.threads.com/@zuck/post/DTa39_1EWf5",
"postCode": "DTa39_1EWf5",
"postId": "3808602587877435385",
"text": "Santosh will continue to lead our technical architecture, software stack, silicon program, developer productivity, and building and operating our global datacenter fleet and network.Β \n\nDaniel will lead a new group responsible for long-term capacity strategy, supplier partnerships, industry analysis, planning, and business modeling.",
"postedAt": "2026-01-12T18:00:30.000Z",
"likeCount": 1068,
"replyCount": 113,
"repostCount": 56,
"quoteCount": 4,
"reshareCount": 48,
"depth": 1,
"replyToUsername": "zuck",
"parentPostId": "3808602590024938729",
"parentPostCode": "DTa3-B1EbTp",
"parentPostUrl": "https://www.threads.com/@zuck/post/DTa3-B1EbTp",
"rootPostId": "3808602590024938729",
"rootPostCode": "DTa3-B1EbTp",
"rootPostUrl": "https://www.threads.com/@zuck/post/DTa3-B1EbTp",
"rootPostAuthor": "zuck",
"username": "zuck",
"authorId": "63055343223",
"authorFullName": "Mark Zuckerberg",
"authorIsVerified": "Yes",
"authorProfilePicUrl": "https://scontent-fra5-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=1&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=hn9Fqadlj3YQ7kNvwGmu2y-&_nc_oc=Ado_-G7J1bMPt3GtgO67stCVlN54YUoUUoOKta9xmoeUUGv7Ul5ufYjokWf9KRECIRg&_nc_zt=24&_nc_ht=scontent-fra5-1.cdninstagram.com&_nc_gid=TXRm1S5RvvbU-f9v40BoZw&_nc_ss=70289&oh=00_AQNkHdsb1lRZFivIaee7l8ofn3DNaPw9xXCS6lqTTAxVvw&oe=6AC0F8AB",
"profileUrl": "https://www.threads.com/@zuck",
"isByPostAuthor": "Yes",
"isLikedByPostAuthor": "No",
"isPinnedByPostAuthor": "No",
"mediaType": "Text",
"hasMedia": "No",
"imageUrls": [],
"videoUrls": [],
"mentions": [],
"links": [],
"topic": "N/A",
"language": "Not Disclosed",
"quotedPostUrl": "N/A",
"isEdited": "No",
"sortOrder": "TOP",
"source": "https://www.threads.com/@zuck/post/DTa3-B1EbTp",
"scrapedAt": "2026-09-29T01:10:15.999Z",
"error": null
},
{
"imageUrl": "N/A",
"postUrl": "https://www.threads.com/@cristi.baluta/post/DZ7oMqfCHKV",
"postCode": "DZ7oMqfCHKV",
"postId": "3925908292295488149",
"text": "Like a true tv channel, you don’t control what you see",
"postedAt": "2026-06-23T14:26:00.000Z",
"likeCount": 2,
"replyCount": 0,
"repostCount": 0,
"quoteCount": 0,
"reshareCount": "Not Disclosed",
"depth": 2,
"replyToUsername": "felixrussellsaw",
"parentPostId": "3925262670353820991",
"parentPostCode": "DZ5VZoMim0_",
"parentPostUrl": "https://www.threads.com/@felixrussellsaw/post/DZ5VZoMim0_",
"rootPostId": "3925258114057363671",
"rootPostCode": "DZ5UXU0G-DX",
"rootPostUrl": "https://www.threads.com/@mosseri/post/DZ5UXU0G-DX",
"rootPostAuthor": "mosseri",
"username": "cristi.baluta",
"authorId": "62975343842",
"authorFullName": "Cristian Băluță",
"authorIsVerified": "No",
"authorProfilePicUrl": "https://scontent-fra5-1.cdninstagram.com/v/t51.2885-19/459425776_1936223956897713_7098825868278646217_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=100&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy4xMDgwLkMzIn0%3D&_nc_ohc=0EZ-YASXuAgQ7kNvwE30Lfh&_nc_oc=Adp4ayqxKkWXujnAbj1AvjMfYDMUqfe_xSpZU9OsDm7zLk-Uf5sFgWe1aZ8jgUqczgA&_nc_zt=24&_nc_ht=scontent-fra5-1.cdninstagram.com&_nc_ss=70289&oh=00_AQOmlSi3iLcVEAZwtz3AL4HylpZtXrccQUly2LIMrYigzg&oe=6AC0C6ED",
"profileUrl": "https://www.threads.com/@cristi.baluta",
"isByPostAuthor": "No",
"isLikedByPostAuthor": "No",
"isPinnedByPostAuthor": "No",
"mediaType": "Text",
"hasMedia": "No",
"imageUrls": [],
"videoUrls": [],
"mentions": [],
"links": [],
"topic": "N/A",
"language": "Not Disclosed",
"quotedPostUrl": "N/A",
"isEdited": "No",
"sortOrder": "TOP",
"source": "https://www.threads.com/@mosseri/post/DZ5UXU0G-DX",
"scrapedAt": "2026-09-29T01:10:19.921Z",
"error": null
},
{
"imageUrl": "https://scontent-fra5-1.cdninstagram.com/v/t51.82787-15/728772483_17976946917106359_4419315912946230678_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=110&ig_cache_key=MzkyNTI3MjM2MTc2Mzk3OTQwMA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuNDQ3LnNkci5yZWd1bGFyX3Bob3RvLkMzIn0%3D&_nc_ohc=3vP3jYdJbOsQ7kNvwGM5iFT&_nc_oc=Adr39Huefs8yQmOzUmLmQ5eNH7bJ98vWMHEH8dJG7CZ-VdlfqCZIcC9x2IZ5d8llYYA&_nc_zt=23&_nc_ht=scontent-fra5-1.cdninstagram.com&_nc_gid=xbtXlbWzbz8khNR5ZfPfcw&_nc_ss=70289&oh=00_AQNWhHWoms-lgCRnmYZ3yM_TYMBlCv1eRki88YSckED9rQ&oe=6AC0EED1",
"postUrl": "https://www.threads.com/@kkareraisu/post/DZ5XmqBmcCI",
"postCode": "DZ5XmqBmcCI",
"postId": "3925272361763979400",
"text": "icon ready youre welcome",
"postedAt": "2026-06-22T17:22:31.000Z",
"likeCount": 0,
"replyCount": 0,
"repostCount": 0,
"quoteCount": 0,
"reshareCount": "Not Disclosed",
"depth": 1,
"replyToUsername": "mosseri",
"parentPostId": "3925258114057363671",
"parentPostCode": "DZ5UXU0G-DX",
"parentPostUrl": "https://www.threads.com/@mosseri/post/DZ5UXU0G-DX",
"rootPostId": "3925258114057363671",
"rootPostCode": "DZ5UXU0G-DX",
"rootPostUrl": "https://www.threads.com/@mosseri/post/DZ5UXU0G-DX",
"rootPostAuthor": "mosseri",
"username": "kkareraisu",
"authorId": "63245826358",
"authorFullName": "成恩",
"authorIsVerified": "No",
"authorProfilePicUrl": "https://scontent-fra3-1.cdninstagram.com/v/t51.2885-19/358074380_1323672554896573_3174209065845170378_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=109&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy40NDcuQzMifQ%3D%3D&_nc_ohc=dpu8loDA0ZUQ7kNvwEK09Se&_nc_oc=Adp68dMARgfxfoiMA-KM7Wh55vD68exnm2lPbews4TQCMsWgD6ONmqyb4zcQIvGBkus&_nc_zt=24&_nc_ht=scontent-fra3-1.cdninstagram.com&_nc_ss=70289&oh=00_AQOs8d_FrXFAjdQYGFar4tHfMAep8cWQzcySZS5LW3cG7w&oe=6AC0EEAF",
"profileUrl": "https://www.threads.com/@kkareraisu",
"isByPostAuthor": "No",
"isLikedByPostAuthor": "No",
"isPinnedByPostAuthor": "No",
"mediaType": "Image",
"hasMedia": "Yes",
"imageUrls": [
"https://scontent-fra5-1.cdninstagram.com/v/t51.82787-15/728772483_17976946917106359_4419315912946230678_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=110&ig_cache_key=MzkyNTI3MjM2MTc2Mzk3OTQwMA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuNDQ3LnNkci5yZWd1bGFyX3Bob3RvLkMzIn0%3D&_nc_ohc=3vP3jYdJbOsQ7kNvwGM5iFT&_nc_oc=Adr39Huefs8yQmOzUmLmQ5eNH7bJ98vWMHEH8dJG7CZ-VdlfqCZIcC9x2IZ5d8llYYA&_nc_zt=23&_nc_ht=scontent-fra5-1.cdninstagram.com&_nc_gid=xbtXlbWzbz8khNR5ZfPfcw&_nc_ss=70289&oh=00_AQNWhHWoms-lgCRnmYZ3yM_TYMBlCv1eRki88YSckED9rQ&oe=6AC0EED1"
],
"videoUrls": [],
"mentions": [],
"links": [],
"topic": "N/A",
"language": "Not Disclosed",
"quotedPostUrl": "N/A",
"isEdited": "No",
"sortOrder": "TOP",
"source": "https://www.threads.com/@mosseri/post/DZ5UXU0G-DX",
"scrapedAt": "2026-09-29T01:10:22.315Z",
"error": null
}
]

✨ Why choose this Actor

  • 🧾 The whole conversation. No 20-link or 300-reply ceiling: page through everything Threads shows, or cap it per post with Max replies per post.
  • 🌳 A real tree. Depth, parent id, parent URL and the post you asked for on every row, so you can rebuild each sub-thread.
  • πŸ†” Account ids included. The numeric author id is on every row, so replies join cleanly with profile data and survive username changes.
  • πŸ”— Chains with our other Threads Actor. The postUrl column of Threads Search Scraper is valid input here, and the username of any replier can go into its Threads usernames input to read that account's latest posts.
  • πŸ›‘ Fails loudly. A run where nothing could be read ends as FAILED with the reason, never as a green run with an empty table. Error rows are never charged.
  • ⚑ Light and fast. Plain HTTP, no browser, no login: about 700 replies a minute.

πŸ“ˆ How it compares to alternatives

This ActorTypical Threads reply tools
Replies per postβœ… Every public reply, optional per-post capOften capped (for example 300)
Post links per runβœ… No limit, paste or link a listOften capped (for example 20)
Nested replies with depth and parentβœ… Up to 10 levelsSometimes, without the tree
Numeric author idβœ…Often missing
Top or most recent order, date cutoffβœ…Rarely
Post author liked or pinned the replyβœ…Rarely
Replies hidden from logged-out visitors❌ Threads does not show them without an account❌
View counts on replies❌ Threads does not publish them for replies❌

Honest ceilings: Threads hides some replies from logged-out visitors (restricted accounts, removed or limited replies). On one post that shows 455 replies, 355 top-level replies were public, and the log says when a post has hidden replies. Nested replies are collected as Threads exposes them: in our tests 52 of 54 announced sub-replies were returned.

πŸš€ How to use

  1. Create a free Apify account with $5 of credit: sign up here.
  2. Open Threads Replies Scraper and paste one or more post links into Post URLs (or upload a text file of links, or paste the postUrl column of a Threads Search Scraper export).
  3. Set Max Items, and optionally Max replies per post, Reply order, Include nested replies and Only replies posted after.
  4. Click Start and download the dataset as CSV, Excel, JSON or XML.

Example:

{ "postUrls": [{ "url": "https://www.threads.com/@mosseri/post/DZ5UXU0G-DX" }], "maxItems": 1000, "includeNestedReplies": true, "maxReplyDepth": 4, "sortOrder": "TOP" }

πŸ’Ό Business use cases

πŸ“£ Campaign and launch feedback

Collect every reply under your launch post and your competitors' launch posts, then run sentiment and topic analysis on the text.

πŸ›‘ Brand monitoring and crisis tracking

Schedule the Actor daily with Most recent first and Only replies posted after to capture only new replies under the posts you watch.

πŸ‘₯ Audience research

See who answers a creator or a brand: verified accounts, repeat repliers and the replies the author liked or pinned.

🧠 Conversation datasets

Export complete reply trees with depth and parent links for research on discussion structure, moderation or AI training data curation.

πŸ”Œ Automating Threads Replies Scraper

  • Make and Zapier: run it on a schedule and push new replies into Google Sheets, Airtable or your CRM.
  • Slack: post new replies to the posts you watch into a team channel.
  • Airbyte: sync the dataset into BigQuery, Snowflake or Postgres.
  • GitHub Actions: trigger runs from your data pipeline through the Apify API.
  • Google Drive: save each run's CSV or Excel export to a shared folder.

🌟 Beyond business use cases

  • πŸŽ“ Research: study how conversations branch and which replies draw the most engagement.
  • πŸ™‹ Personal: archive the replies to your own posts.
  • 🀝 Non-profit: understand how people respond to public health or civic posts.
  • πŸ§ͺ Experimentation: build labelled comment datasets for classification experiments.

πŸ€– Ask an AI assistant about this scraper

Paste this page into ChatGPT, Claude or Gemini and ask things like "How do I get only the replies from the last 7 days under these 20 posts?" or "Which fields let me rebuild the reply tree?".

❓ Frequently Asked Questions

πŸ”‘ Do I need a Threads or Instagram account?

No. The Actor reads only publicly available replies, the ones a logged-out visitor can open, and needs no login or cookie.

Post links on threads.com or threads.net, in the forms https://www.threads.com/@user/post/CODE and https://www.threads.com/t/CODE, with or without extra parameters. A reply's own link works too and returns the replies to that reply.

πŸ“š How many replies can one post return?

Every reply Threads shows logged-out visitors. There is no built-in ceiling: set Max replies per post if you want one.

πŸ™ˆ Why do I get fewer replies than the post shows?

Threads counts replies it does not show logged-out visitors (restricted accounts, removed or limited replies). The log says when a post has hidden replies. In our tests about 78% of the announced top-level replies were public on a busy post.

🌳 How do nested replies work?

Switch on Include nested replies. The Actor collects the direct replies first, then the replies under each of them, level by level up to Max reply depth. Every row has depth, parentPostId, parentPostUrl and rootPostUrl.

↕️ What is the difference between Top and Most recent?

Top follows Threads' own ranking, the order a visitor sees. Most recent returns the newest replies first and, with Only replies posted after, stops as soon as it reaches older replies.

πŸ‘‘ Are the post author's own follow-ups included?

Yes. When the author continues the thread or answers in the replies, those rows read isByPostAuthor: Yes so you can keep or drop them.

πŸ”„ Can I use the output of Threads Search Scraper?

Yes. Its postUrl column is valid input: paste the links here. In the other direction, Threads Search Scraper only takes usernames (without the @), so send it the username column from this Actor to read those accounts' latest posts.

🧹 Are error rows or duplicates charged?

No. A reply is delivered once per run even if it appears under two of your posts, and error rows are never charged.

πŸ›‘ What happens if a post is deleted or private?

That link gets an error row explaining why and the other links keep going. If no link could be read at all, the run ends as FAILED with the reason.

πŸ›‘ Do I need a proxy?

No. Threads answers Apify's servers directly. You can switch the Apify proxy on for very large runs.

πŸ†“ What does a free account get?

Free accounts get a 10-reply preview per run. Paid accounts can collect up to 1,000,000 replies per run.

πŸ”Œ Integrate with any app

Use the Apify API, the JavaScript and Python clients, webhooks or the Make, Zapier and n8n integrations to send reply data wherever you work.

➑️ Next step

πŸ’‘ Pro Tip: browse the complete ParseForge collection.

πŸ†˜ Need Help? Open our contact form

⚠️ Disclaimer: this is an independent tool, not affiliated with Threads, Instagram or Meta. It collects only publicly available data.