Threads Posts Scraper
Pricing
from $2.40 / 1,000 results
Threads Posts Scraper
Threads Post Scraper extracts complete data from any public Threads.net post, including caption text, media, engagement metrics, author details, and all replies. giving you accurate and structured output ideal for research, analytics, monitoring conversations, and building datasets at scale.
Pricing
from $2.40 / 1,000 results
Rating
4.4
(9)
Developer
Goldmine
Maintained by CommunityActor stats
28
Bookmarked
1.6K
Total users
265
Monthly active users
9.7 hours
Issues response
21 hours ago
Last modified
Categories
Share
π§΅ Threads Post Scraper β Extract Threads Posts and Replies

This Threads scraper turns any public post on Threads into structured data. Give it a post URL and it returns the post's text, images, videos, like and reply counts and author details, together with the replies shown on the post page. People use it to track reactions to announcements, collect conversation data for research, and monitor brand mentions in reply threads.
Paste one or more post links from threads.com or threads.net and get back one dataset item per post, ready for Threads data export to JSON, CSV or Excel. No login, cookies or API key are needed.
π Key Features
- π Any public post URL β works with both
threads.comandthreads.netpost links - π§Ύ Full post data β text, publish time, post ID and code, images, videos, like count and reply count
- π€ Author details β username, profile picture, verification status and user IDs
- π¬ Replies included β the replies shown on the post page, including replies to replies, with the same fields as the post
- π‘οΈ No login required β reads only what Threads shows to logged-out visitors; Apify residential proxies by default
- π€ Multiple export formats β JSON, CSV, Excel, XML via the Apify dataset
- π Schedulable runs β re-run on a schedule to watch like and reply counts change over time
π₯ Who Is This Actor For?
- π£ Social media and marketing teams β measuring how an announcement landed and what people replied
- π§ Researchers and analysts β building datasets of public conversations for sentiment or discourse analysis
- π° Journalists β archiving a post and its replies as a record at a point in time
- π§° Developers β feeding Threads post data into dashboards, alerts or internal tools
- π€ AI builders β giving an agent or RAG pipeline the text of a post and its discussion
π‘ Common Use Cases
- Extract Threads posts and their replies for sentiment analysis
- Track like and reply counts on a brand's launch post over several days
- Collect customer feedback left in replies to a company's post
- Archive a public post and its discussion before it is edited or deleted
- Export a list of post URLs to a spreadsheet with author and engagement data
π Supported URL Types
| URL Type | Example |
|---|---|
| Post on threads.com | https://www.threads.com/@openai/post/DW7RXR7EnRC |
| Post on threads.net | https://www.threads.net/@openai/post/DW7RXR7EnRC |
π₯ Input
| Field | Type | Description | Default |
|---|---|---|---|
startUrls | Array | The URLs of the Threads posts to scrape. One dataset item is produced per URL. | Required |
proxyConfiguration | Object | Specifies proxy servers that will be used by the scraper in order to hide its origin. | { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] } |
Example Input
{"startUrls": [{ "url": "https://www.threads.com/@openai/post/DW7RXR7EnRC" }],"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
π€ Output
Each dataset item has a thread object for the post and a replies array. Every post and reply has these fields:
| Field | Type | Description |
|---|---|---|
text | String | The post text. Posts whose body is a text attachment return that text here. |
attachment_text | String | The text of an attachment the app shows as a collapsed snippet, or null when the post has none. |
published_on | Number | Publish time as a Unix timestamp in seconds |
id | String | Full post ID |
pk | String | Numeric post ID |
code | String | Post shortcode, as used in the post URL |
username | String | Author's username |
user_pic | String | Author's profile picture URL |
user_verified | Boolean | Whether the author is verified |
user_pk | String | Author's numeric user ID |
user_id | String | Author's user ID |
has_audio | Boolean | Whether attached video has audio, when present |
reply_count | Number | Number of direct replies to the post |
like_count | Number | Number of likes |
images | Array | Image URLs attached to the post |
image_count | Number | Number of images, including carousel items |
videos | Array | Video URLs attached to the post |
url | String | Link to the post |
Example Output
A real item from a run on the example input, with image URL query strings removed and the replies list shortened to one entry:
{"thread": {"text": "Thereβs a new Pro tier in town. \n\nTo celebrate the launch, weβre increasing Codex usage for a limited time through May 31st so that Pro $100 subscribers get up to 10x usage of ChatGPT Plus on Codex to build your most ambitious ideas.\n\nOur existing $200 Pro tier still remains our highest usage option. And as a thank you to our existing Pro users on the $200 tier, weβre extending our 2x Codex usage promo (until May 31st) and weβve reset your Codex rate limits (yes, again).","attachment_text": null,"published_on": 1775770338,"id": "3871764671238403138_63299409527","pk": "3871764671238403138","code": "DW7RXR7EnRC","username": "openai","user_pic": "https://scontent.cdninstagram.com/v/t51.82787-19/788716177_18115256264517701_8401817653356104064_n.jpg","user_verified": true,"user_pk": "63299409527","user_id": "63299409527","has_audio": null,"reply_count": 27,"like_count": 217,"images": ["https://instagram.fadd2-1.fna.fbcdn.net/v/t51.82787-15/661617063_18096549797517701_8389667311012176678_n.jpg"],"image_count": 1,"videos": [],"url": "https://www.threads.net/@openai/post/DW7RXR7EnRC"},"replies": [{"text": "Aw shit MIGHT have to downgrade Claude for that 10x plus. @openai help convince me haha. Make it irrefutable","attachment_text": null,"published_on": 1775770627,"id": "3871767105461481006_76614717151","pk": "3871767105461481006","code": "DW7R6s-Eu4u","username": "griffinlong.dev","user_pic": "https://scontent.cdninstagram.com/v/t51.82787-19/790319655_17943256095321890_5618796657983618003_n.jpg","user_verified": true,"user_pk": "76614717151","user_id": "76614717151","has_audio": null,"reply_count": 0,"like_count": 5,"images": [],"image_count": 0,"videos": [],"url": "https://www.threads.net/@griffinlong.dev/post/DW7R6s-Eu4u"}]}
You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML from the Apify Console or via the Apify API.
π° Pricing
This Actor is pay per event. Each post and each reply saved counts as one result at $0.0025 per result, so 1,000 results cost $2.50 plus Apify platform usage. A post returned with 11 replies counts as 12 results. A free Apify account is enough to try it.
β FAQ
What is the Threads Post Scraper?
It is a Threads.net scraper that takes public post URLs and returns each post and its replies as structured data. You can run it from the Apify Console, the API, or on a schedule.
Do I need an account, cookies or an API key?
No. The Actor reads only what Threads shows to visitors who are not logged in.
Do I need a proxy?
The input defaults to Apify residential proxies, which keep runs reliable. You can switch to another proxy group, use your own proxy, or turn it off.
How many replies do I get per post?
You get the replies Threads shows on the post page to a logged-out visitor, including replies to those replies. On busy posts that is the first set of reply threads, not every reply, so reply_count can be higher than the number of replies returned.
A post shows a long recipe or list in the app. Why was its text missing before?
Threads lets a post carry its body as a text attachment, shown in the app as a collapsed snippet, instead of as a caption. That text now comes back in text, and also in attachment_text so you can tell the two apart.
Why did a post return no data?
Threads does not show some posts to logged-out visitors, and deleted or private posts cannot be read. The run log notes each URL where the post was not found, and nothing is charged for it.
Can I extract Threads posts from a profile, hashtag or search?
This Actor takes individual post URLs. To collect posts from a profile or a hashtag, use the other Actors in the Threads Scraper Suite listed below.
Can I schedule it or integrate it with my app?
Yes. Every Apify Actor exposes a REST API, webhooks, and integrations with Zapier, Make, Google Sheets and Slack, and can be called from an AI agent via the Apify MCP server.
Is it legal to scrape Threads?
This Actor accesses only publicly available pages. You are responsible for making sure your use complies with Threads' terms of service and the laws in your jurisdiction.
What if Threads changes and the Actor breaks?
Open an issue on the Actor's Issues tab with a post URL that fails, so the problem can be reproduced.
π§© Part of the Threads Scraper Suite
Actors that turn public Threads pages into structured data. Also try:
- Threads Profile Scraper β profile details, follower stats and recent posts for any public Threads user
- Threads Hashtag Scraper β posts published under a Threads hashtag
See every Goldmine Actor at apify.com/logical_scrapers.
π· Image Credit
Image credit: threads.com
π¬ Contact & Support
- Issues & feature requests: use the Issues tab on this Actor's page. Include a post URL that fails so it can be reproduced.
- Email:
coredev.dan@gmail.com - If this Actor saved you time, please leave a β rating on the Apify Store. It helps us keep it maintained.