Threads Replies Scraper avatar

Threads Replies Scraper

Pricing

from $4.00 / 1,000 public reply scrapeds

Go to Apify Store
Threads Replies Scraper

Threads Replies Scraper

Extract public Threads replies from post URLs: reply text, author, likes, nested reply counts, and parent post context. Provider-backed, cookieless, MCP-ready.

Pricing

from $4.00 / 1,000 public reply scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

Extract public replies from Threads post URLs into one dataset row per visible reply: author handle, profile URL, reply text, likes, nested reply count, and parent post context. Built for community, social-listening, and lead-gen teams that already have a post URL and need the people talking under it. Cookieless and MCP-ready — no Threads login, cookies, or session IDs.

This Actor is the get-replies-by-post-URL sibling in the Threads cluster.

Best fit for this Actor

  • You already have a public Threads /@user/post/CODE URL and want the visible reply layer as structured rows.
  • You need reply author identity fields (authorUsername, authorProfileUrl) next to text and likes for listening or outreach lists.
  • You want a cookieless, MCP-ready reply tool rather than a post-search or profile-feed crawl.

Start with a single post URL for agent calls. Continue with a compact batch when you are archiving known viral posts. Pair it with Threads Search Scraper when the next step is discovering posts by keyword first.

Sibling routing

Workflow story: from a pasted post URL to a reply shortlist

A community lead pastes a competitor’s viral Threads post URL, sets maxRepliesPerPost to bound cost, and starts the Actor. Each dataset row carries the reply author, text, likes, and profile URL. They export CSV, keep high-signal authors for a reply-first outreach list, and schedule the same input so fresh visible replies keep feeding the CRM.

Quick start input

{
"postUrls": ["https://www.threads.com/@zuck/post/DdCYWl7GktV"],
"maxRepliesPerPost": 10,
"providerOrder": "scrapecreators-first"
}

postUrls (or startUrls) is required. Accepts threads.com and threads.net post URLs. Unique post codes are processed up to fifty URLs per run.

Input reference

FieldTypeWhat it controls
postUrlsarrayPublic Threads post URLs
startUrlsarrayAlternative Apify request-list input
maxRepliesPerPostintegerCap reply rows saved per URL
providerOrderenumManaged provider priority (scrapecreators-first default)
includeRawDatabooleanAttach raw provider payload when debugging

What data you receive

One dataset item represents one public Threads reply from the provider preview.

FieldWhat it answers
authorUsername + authorProfileUrlWho replied
text + likeCount + publishedAtWhat they said, traction, and when
replyUrl + replyIdCanonical reply permalink and id
parentPostUrl + parentReplyCountWhich post, and how many replies Threads reports upstream
childReplyCount + replyToUsernameNested activity signals on that reply
provider + scrapedAtProvenance
{
"recordType": "reply",
"provider": "scrapecreators",
"parentPostUrl": "https://www.threads.com/@zuck/post/DdCYWl7GktV",
"parentPostCode": "DdCYWl7GktV",
"parentReplyCount": 12,
"replyId": "3981870302313911160",
"replyUrl": "https://www.threads.com/@demo_user/post/DdCcfFvGRN4",
"text": "Great point",
"authorUsername": "demo_user",
"authorProfileUrl": "https://www.threads.com/@demo_user",
"likeCount": 4,
"childReplyCount": 2,
"replyToUsername": "zuck",
"publishedAt": "2023-11-14T22:13:20.000Z",
"scrapedAt": "2026-09-15T12:00:00.000Z"
}

Download the dataset as JSON, CSV, Excel, or HTML. Every terminal run also writes OUTPUT and RUN_SUMMARY with outcome (COMPLETE / PARTIAL / VALID_EMPTY / INVALID_INPUT / UPSTREAM_FAILED / CONFIG_ERROR). Inspect that outcome, then read the dataset. Each row keeps parentPostUrl, provider, and scrapedAt as provenance.

Scope: public reply previews returned with each post by the managed providers. Treat parentReplyCount as an upstream total; saved rows are the preview sample capped by maxRepliesPerPost.

Best results guidance

  • Provide a public Threads post URL you can open while logged out.
  • Start with one URL for agent calls; schedule a compact batch of known post URLs for listening jobs.
  • Confirm the source is a /post/ URL. Profile and search URLs belong on the sibling scrapers above.
  • Validate OUTPUT.outcome before treating an empty dataset as a product issue: empty public previews report VALID_EMPTY with zero reply-scraped charges.
  • Cap cost with maxRepliesPerPost when agents paste large URL lists.

Why AI agents and MCP clients choose this Actor

  • Post URL in, reply rows out. One clear job for agents that already have Threads post links.
  • Predictable cost. Saved replies use the reply-scraped Pay per event unit; see the live Pricing tab.
  • Structured output. Stable keys plus a published dataset schema.
  • Honest outcomes. Inspect OUTPUT for INVALID_INPUT, VALID_EMPTY, PARTIAL, or UPSTREAM_FAILED, then read the dataset.

Use apify--threads-replies-scraper with postUrls set to public Threads post URLs. Cap with maxRepliesPerPost. Expect one row per visible reply preview; treat parentReplyCount as an upstream total for context. After the call, read the dataset and keep parentPostUrl / provider / scrapedAt.

MCP tool name: apify--threads-replies-scraper. Hosted setup lives at mcp.apify.com.

Pricing — Pay per event + platform usage

EventCharged when
Actor startOnce per run
reply-scrapedOne validated public reply row saved to the dataset

Pay per event plus Apify platform usage. When you need current event amounts, open the live Pricing tab. Empty public previews and invalid input skip the reply event. A bounded ten-reply job is about ten reply-scraped events plus the start event and a small usage component.

Use through the API

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~threads-replies-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"postUrls":["https://www.threads.com/@zuck/post/DdCYWl7GktV"],"maxRepliesPerPost":10}'

Integrations and chaining

Scope, data boundary, and recovery

Public, logged-out visible reply previews only. Nested reply trees deeper than the provider preview, private accounts, and login-only insights stay outside this contract. Dual-provider fallback uses owner-managed ScrapeCreators then SociaVault. Owner secrets, never caller API keys. Duplicate .com / .net variants of the same post are merged before fetch so PPE stays predictable.

Builder's note

I built this after probing both public-data providers on live Threads post URLs. Both return a public comments array with the parent post — so this SKU is intentionally reply-focused rather than a second post scraper. I found that SociaVault sometimes returns that array as a numeric-key object; the runtime unwraps it the same way as other social Actors in this portfolio. Deduplicating .com / .net variants before fetch keeps PPE predictable when agents paste messy URL lists.

FAQ

Are liker identities included? Like counts are public totals on each reply. This Actor returns reply authors, not likers.

Is Threads login required? Public post reply previews work without login or cookies.

What happens when a post has no visible replies? The Actor reports VALID_EMPTY with zero reply-scraped charges when every URL returns an empty preview.

What about mixed valid and invalid URLs? Valid posts still save reply rows; profile or junk URLs surface as warnings and the run outcome is PARTIAL.

This Actor retrieves publicly available data. You are responsible for complying with Threads / Meta Terms of Service, applicable data-protection laws (GDPR/CCPA), and Apify's Exclusion Policy when using the results.

Threads is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Threads or Meta.