Threads Replies Scraper avatar

Threads Replies Scraper

Pricing

Pay per event

Go to Apify Store
Threads Replies Scraper

Threads Replies Scraper

Extract public Threads post replies with author profiles, text, engagement counts, media URLs, nesting metadata, and timestamps.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Extract public replies and comments from Threads post URLs.

Use this Apify Actor when you need structured reply data for a specific Threads conversation, launch announcement, creator post, brand mention, or community discussion.

The Actor is designed for public Threads content. It starts with an HTTP-first strategy to keep runs lightweight and affordable.


What does Threads Replies Scraper do?

Threads Replies Scraper reads public Threads post pages and saves reply/comment records to an Apify dataset.

It is focused on the conversation below a post, not on profile discovery or keyword search.

Typical use cases include:

  • πŸ’¬ Monitoring replies to brand announcements
  • πŸ“£ Tracking launch feedback below a creator post
  • πŸ§ͺ Collecting comment samples for sentiment analysis
  • πŸ§‘β€πŸ€β€πŸ§‘ Reviewing community engagement around public posts
  • πŸ“Š Exporting Threads replies to CSV, JSON, Excel, Google Sheets, or your own database

Who is it for?

This Actor is useful for teams and individuals who already know which Threads posts they want to analyze.

Social media managers

Track replies to campaign posts and identify questions, complaints, and high-value audience feedback.

Brand monitoring teams

Collect public comments from posts that mention your company, product, executives, or competitors.

Creator economy researchers

Analyze how audiences respond to creator content, launch posts, and collaborations.

Community managers

Export conversations for moderation review, issue triage, or recurring community reports.

Data teams

Feed Threads conversation data into downstream NLP, sentiment, BI, or warehouse pipelines.


Why use this Actor?

Threads conversations can move quickly. Manual copy-paste does not scale when you need repeatable exports.

This Actor gives you:

  • 🧡 Post-specific reply extraction
  • πŸ‘€ Author profile fields
  • βœ… Verified badge detection when present
  • ❀️ Engagement counts when present
  • πŸ–ΌοΈ Media URL collection when present
  • πŸͺœ Nested reply metadata when present
  • 🧾 Clean dataset rows for analysis

What data can you extract?

Each dataset row represents one Threads reply/comment.

FieldDescription
postUrlSource Threads post URL you submitted
replyIdInternal reply/post ID when available
replyUrlPublic URL for the reply when username and code are available
parentPostIdParent post/reply ID when exposed by Threads
authorUsernameThreads username
authorDisplayNameAuthor display name
authorProfileUrlPublic Threads profile URL
authorVerifiedWhether the author is verified, when available
textReply text
createdAtReply timestamp in ISO format when available
likeCountLike count when available
replyCountReply count when available
repostCountRepost count when available
quoteCountQuote count when available
mediaUrlsImage/video/media URLs discovered in the reply payload
quotedPostQuote/share metadata when present
depthInternal payload depth, useful for debugging nested data
threadLevelReply nesting level when Threads exposes it
scrapedAtTimestamp when the row was saved

How much does it cost to scrape Threads replies?

The Actor uses pay-per-event pricing.

You pay a small start event and then a per-reply event for saved dataset rows.

Current BRONZE reference pricing is $0.005 per run start plus about $0.00026162 per extracted reply. Higher/lower Apify plan tiers may see different per-reply rates on the Store page before running.

For testing, start with one post URL and a low maxRepliesPerPost value.


How to use Threads Replies Scraper

  1. Open the Actor on Apify.
  2. Paste one or more public Threads post URLs into postUrls.
  3. Set maxRepliesPerPost to the number of replies you need per post.
  4. Keep includeNestedReplies enabled if you want replies-to-replies when available.
  5. Run the Actor.
  6. Download the dataset as JSON, CSV, Excel, XML, or RSS.

Input

The main input is postUrls.

{
"postUrls": [
{ "url": "https://www.threads.com/@nasa/post/DZceA72Drjf" }
],
"maxRepliesPerPost": 100,
"includeNestedReplies": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Input fields

postUrls

Public Threads post URLs to scrape.

Supported format:

https://www.threads.com/@username/post/POST_CODE

threads.net URLs are normalized to threads.com.

maxRepliesPerPost

Maximum replies saved per submitted post URL.

Use a small number for first tests.

includeNestedReplies

When enabled, the Actor keeps nested replies if Threads includes them in the public payload.

proxyConfiguration

Proxy settings.

Apify Proxy with the Residential group is enabled by default because Threads can return incomplete public payloads from some cloud datacenter IPs. Keep the default proxy setting enabled for cloud runs unless you have verified your own network path.


Output example

{
"postUrl": "https://www.threads.com/@example/post/POST_CODE",
"replyId": "1234567890",
"replyUrl": "https://www.threads.com/@reply_author/post/REPLY_CODE",
"parentPostId": "9876543210",
"authorUsername": "reply_author",
"authorDisplayName": "Reply Author",
"authorProfileUrl": "https://www.threads.com/@reply_author",
"authorVerified": false,
"text": "This is a public reply.",
"createdAt": "2026-06-14T10:00:00.000Z",
"likeCount": 12,
"replyCount": 1,
"repostCount": 0,
"quoteCount": 0,
"mediaUrls": [],
"quotedPost": null,
"depth": 14,
"threadLevel": 1,
"scrapedAt": "2026-06-14T10:05:00.000Z"
}

Tips for best results

  • Use direct post URLs, not profile URLs.
  • Keep first runs small while validating output.
  • Public posts with no replies may produce no rows.
  • Deleted, private, unavailable, or invalid posts are skipped.
  • Keep the default Apify Proxy setting enabled for reliable cloud runs.
  • Run the Actor regularly for recurring monitoring.

Limitations

Threads is a Meta property and can change its public page structure.

The Actor reads public HTML/JSON payloads. Some pagination data may only be available after browser-side requests.

If a post has more replies than are present in the initial public payload, the Actor may return the public initial subset.

Private content, account-only content, and login-gated content are not supported.


Integrations

You can connect the dataset to:

  • Google Sheets for social reporting
  • Slack alerts for high-priority replies
  • Airtable for community triage
  • BigQuery or Snowflake for analytics
  • OpenAI or Claude workflows for sentiment analysis
  • Zapier or Make for no-code automation
  • Apify webhooks for run-finished automation

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/threads-replies-scraper').call({
postUrls: [{ url: 'https://www.threads.com/@nasa/post/DZceA72Drjf' }],
maxRepliesPerPost: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/threads-replies-scraper').call(run_input={
'postUrls': [{'url': 'https://www.threads.com/@nasa/post/DZceA72Drjf'}],
'maxRepliesPerPost': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

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

MCP usage

Use this Actor from Apify MCP tools in Claude Desktop or Claude Code.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/threads-replies-scraper

Claude Code setup:

$claude mcp add apify-threads-replies https://mcp.apify.com/?tools=automation-lab/threads-replies-scraper

Claude Desktop JSON configuration:

{
"mcpServers": {
"apify-threads-replies": {
"url": "https://mcp.apify.com/?tools=automation-lab/threads-replies-scraper"
}
}
}

Example prompts:

  • "Scrape replies from this Threads post and summarize the top complaints."
  • "Export public comments from these Threads posts and group them by sentiment."
  • "Find verified users replying to this launch announcement."

FAQ

Can I scrape private Threads replies?

No. This Actor is for public Threads post pages only. It does not log in or collect private account-only content.

Why did a public post return fewer replies than I see in the app?

Threads may expose only an initial public payload anonymously. Browser-only pagination can show more replies than the public HTML payload includes.

Can I schedule recurring monitoring?

Yes. Use Apify schedules with the same postUrls input and export each run's dataset to your reporting workflow.


Legality and ethics

This Actor is intended for public Threads content only.

Do not use it to collect private, login-only, or restricted information.

Always follow applicable laws, platform terms, and privacy obligations in your jurisdiction.

If you process personal data, make sure you have a valid legal basis and retention policy.


Troubleshooting

The Actor returned no rows

Check that you submitted direct post URLs, not profile URLs. The post may also have no public replies or may be unavailable.

Threads returned an invalid post page

The URL may be deleted, typoed, private, or regionally unavailable. Open it in a browser without logging in to confirm it is public.

Should I enable proxies?

Keep the default Apify Proxy / Residential setting enabled for reliability. If you override proxy settings and receive empty output, restore the default proxy configuration before retrying.


These automation-lab Actors may be useful with this workflow:


Changelog

0.1

Initial version focused on public Threads post reply extraction from embedded page payloads.