Threads Scraper - Posts, Profiles, Search & Replies
Pricing
from $1.90 / 1,000 results
Threads Scraper - Posts, Profiles, Search & Replies
Scrape public Threads posts, profiles, keyword search and post replies: text, media, likes, replies, reposts, dates and follower counts. Up to 200 posts per profile. No login. Export to CSV, JSON or Excel, schedule runs or use the API.
Pricing
from $1.90 / 1,000 results
Rating
0.0
(0)
Developer
Automly
Maintained by CommunityActor stats
0
Bookmarked
27
Total users
12
Monthly active users
8 days ago
Last modified
Categories
Share
What is Threads Scraper?
Threads Scraper is a tool that lets you scrape public posts, profiles, keyword search results and replies from Meta Threads (threads.com, formerly threads.net): post text, publish time, exact like, reply, repost, quote and share counts, images, videos, hashtags, mentions and links, plus profile bios, display names, exact follower counts and verified badges. Add usernames, post links or keywords, click Start, and download the data as Excel, CSV or JSON.
- ๐ Deep profile history: up to about 200 posts per profile, going back years for accounts that post less often (Mark Zuckerberg's reach back to July 2023)
- โก Fast: about 10 seconds per 100 profile posts, a search or a single post in about 3 seconds (our tests)
- ๐ข Exact numbers: likes, replies, reposts, quotes, shares and followers as exact integers, not "1.6K" labels
- ๐ No login: no Threads or Instagram account, cookies or developer app needed
- ๐ธ Free to try: the $5 of free usage every Apify account gets each month covers about 500 posts, replies or profiles
What can Threads Scraper do?
- Scrape Threads posts from any public profile: text, post URL and ID, author and display name, publish time (UTC), likes, replies, reposts, quotes, shares, image and video URLs, hashtags, mentions and full link URLs. Pinned posts and replies are flagged
- Scrape Threads profiles: username, display name, bio, exact follower count, verified badge and HD profile picture URL
- Search Threads posts by keyword: Threads' Top results for a brand, product, hashtag or topic, filtered so every post actually contains your keywords (you don't pay for off-topic posts)
- Scrape a single Threads post by URL: fetch the exact posts you already have links for
- Scrape replies to a Threads post: each reply is its own row, linked back to the post with
replyToUrl - Filter Threads posts by date: keep only posts published inside a UTC date range
- Use it as a Threads API alternative: get posts back in the response of one HTTP request, without starting a run
- Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more
What data can you extract from Threads?
| ๐ Post text | ๐ Publish time (UTC) | ๐ Post URL and ID |
| โค๏ธ Likes | ๐ฌ Replies | ๐ Reposts |
| ๐จ๏ธ Quotes | ๐ค Shares | ๐ผ๏ธ Image and video URLs |
| #๏ธโฃ Hashtags | @ Mentions | ๐ Links in the post |
| ๐ Pinned and reply flags | โฉ๏ธ Post a reply answers | ๐ค Author and display name |
| ๐งพ Profile bio | ๐ฅ Exact follower count | โ Verified badge |
How to scrape Threads
- Create a free Apify account (no credit card needed).
- Open Threads Scraper.
- Add usernames such as
zuckto Public profiles (posts), keywords such ascoffeeto Search keywords, or post links to Individual post URLs. - Set Max posts per source (20 is a good default), then click Start. A typical run finishes in 5 to 30 seconds.
- When the run finishes, download the data as Excel, CSV, JSON, HTML or XML.
How much does it cost to scrape Threads posts?
You pay only for the rows you get: each post, reply or profile is one row. The price per 1,000 depends on your Apify plan:
| Apify plan | Posts, replies or profiles per 1,000 |
|---|---|
| Free, Starter (Bronze) and Scale (Silver) | $10.00 |
| Business (Gold) and higher | $7.50 |
Each run also has a start fee of $0.001 per run at the default settings ($0.00075 on Business and higher). Platform usage is included in these prices, so you pay nothing extra for it.
From 16 October 2026: $2.50 per 1,000 on Free, Starter (Bronze) and Scale (Silver), and $1.90 per 1,000 on Business (Gold) and higher. The start fee stays the same.
Example: 1,000 posts cost $10.00 on the Free plan and $7.50 on Business, plus the start fee. From 16 October 2026 the same 1,000 posts cost $2.50 on Free and $1.90 on Business.
Every Apify account gets $5 of free usage each month, enough for about 500 posts at today's prices. Max posts per source keeps the cost of a run under control, and you can also set a maximum cost per run. See the Pricing tab for details.
โฌ๏ธ Input
| Setting | What it does |
|---|---|
| Public profiles (posts) | Usernames (zuck, @zuck) or profile URLs on threads.com or threads.net. Returns their latest public posts |
| Profile metadata only | Usernames or profile URLs. Returns profile details only, no posts |
| Search keywords | Keywords to search public Threads posts |
| Individual post URLs | Public Threads post URLs to fetch directly |
| Include replies to post URLs | Also return the replies shown under each post URL (off by default) |
| Require keyword text match | Drop search results whose text does not contain every keyword (on by default) |
| Include profile metadata | Also output one profile row for each account in Public profiles (posts) (off by default) |
| Posted at or after (UTC) / Posted before (UTC) | Date window in UTC. The first is inclusive, the second exclusive. A plain date such as 2026-09-01 means midnight UTC |
| Max posts per source | Maximum posts per profile, search or URL, 1 to 300 (default 20) |
| Fail the run when a source fails | Fail the whole run if any one source returns nothing (off by default) |
Example: two profiles with their profile rows, plus a keyword search, posts since 1 September 2026:
{"profiles": ["zuck", "https://www.threads.net/@nasa"],"queries": ["coffee"],"includeProfile": true,"maxPostsPerSource": 20,"postedAfter": "2026-09-01T00:00:00Z"}
Example: one post and the replies under it:
{"postUrls": ["https://www.threads.com/@zuck/post/DdZ7sQvkTFn"],"includeReplies": true}
โฌ๏ธ Output
Each post is one row with type: "post":
{"url": "https://www.threads.com/@zuck/post/DdZ7sQvkTFn","id": "DdZ7sQvkTFn","author": "zuck","fullName": "Mark Zuckerberg","isVerified": true,"postedAt": "2026-09-17T22:27:44Z","text": "Muse for Mac is out today! It works across apps, files, calendar, notes, and messages on your computer. You control what it can access. The team is shipping fast. Download at ai.meta.com/muse/download","hashtags": [],"mentions": [],"urls": ["http://ai.meta.com/muse/download"],"likes": 1776,"replies": 306,"reposts": 147,"quotes": 32,"shares": 88,"isReply": false,"isPinned": true,"mediaUrls": [],"source": "profile","platform": "threads","type": "post"}
Profile rows use type: "profile":
{"type": "profile","username": "nasa","fullName": "NASA","biography": "Making the seemingly impossible, possible. โจ","followerCount": 12739278,"isVerified": true,"profilePicUrl": "https://scontent.cdninstagram.com/...","url": "https://www.threads.com/@nasa","source": "profileOnly","platform": "threads"}
Reply rows (from Include replies to post URLs) have the same fields as posts plus replyToUrl, the post they answer, and source: "reply". mediaUrls holds one URL per image or video, including every slide of a carousel.
Each run also saves a short report: how many sources were requested, how many posts and profiles were saved, which inputs failed and why, which keywords had no posts, and whether the run stopped at its cost limit. It is written even when a run fails, which makes scheduled monitoring runs easy to check.
How can I use Threads data?
- Brand monitoring on Threads: search your brand or product name on a schedule and collect the posts that mention it
- Influencer and creator research: compare follower counts, posting frequency and engagement across Threads accounts
- Competitor tracking: pull the latest posts from competitor accounts and see which topics get the most likes and replies
- Social listening and sentiment analysis: feed post text into a spreadsheet, BI tool or language model
- Academic and market research: build small, timestamped datasets of public Threads conversations
How many posts can you get?
Threads Scraper never logs in, so it gets what Threads shows to visitors without an account. In our tests (rechecked on 24 September 2026):
| Source | Posts returned per source | Run time |
|---|---|---|
Public profile (zuck, nasa) | up to 170 to 215 of the most recent posts (Mark Zuckerberg's go back to July 2023) | about 10 s per 100 posts |
Keyword search (coffee) | 10 to 19 keyword-matching posts out of about 25 shown | about 3 s |
| Single post URL | 1 | about 3 s |
| Single post URL with replies | the post plus about 9 to 10 replies | about 3 s |
| Profile details only | 1 profile row | about 1 s |
Threads stops showing a profile's posts to visitors at roughly 170 to 215 posts, so Max posts per source above that returns the same. For a search, Threads shows visitors about 25 Top posts per keyword, and about 10 replies under a post; past that point it asks visitors to log in. That applies to every scraper that does not log in. Add more keywords, or related keywords and hashtags, for more coverage.
Real-time Threads API
Need posts right away inside your app? Send one HTTP request and get the rows back in the response, with the same fields as the dataset. Each returned row is charged like a row from a normal run.
| Request | What it returns |
|---|---|
GET /profile?username=zuck&limit=20&includeProfile=true | Latest posts of a profile, optionally with its profile row |
GET /post?url=<post URL>&includeReplies=true | One post, optionally with the replies under it |
GET /search?q=coffee&limit=20 | Posts for a keyword |
curl -H "Authorization: Bearer <YOUR_API_TOKEN>" \"https://automly--threads-public-posts-scraper.apify.actor/profile?username=nasa&limit=5"
The response is {"count": 5, "items": [...]}. Errors use normal HTTP codes: 400 for an invalid username or URL, 404 when nothing was found, 502 when Threads could not be reached.
Scrape more social media posts
| Actor | What it gets |
|---|---|
| X (Twitter) Scraper - Profile Tweets & Posts | Tweets from any public X profile: text, views, likes, reposts, replies, quotes, media and dates |
| X (Twitter) Profile Scraper - Users & Followers | X user profiles in bulk: followers, following, tweet count, bio, location and website |
| Instagram Posts & Reels Scraper | Posts and reels from any public Instagram profile: captions, likes, comment counts, hashtags, images and videos |
| Reddit Scraper - Posts, Comments, Users, Subreddits & Search | Reddit posts, comments, subreddits, user profiles and keyword search results |
| LinkedIn Post Search Scraper (No Login) | Public LinkedIn posts by keyword: text, author, date, likes and comment count |
โFAQ
How much does it cost to scrape Threads?
$10.00 per 1,000 posts, replies or profiles on the Free plan today, and $2.50 per 1,000 from 16 October 2026. See the cost section above for every plan.
Do I need a Threads or Instagram account to scrape Threads?
No. Threads Scraper reads the public posts and profiles anyone can see without logging in. You don't provide cookies, passwords or a developer app.
Is there an official Threads API for scraping posts?
Meta's Threads API is designed for managing your own account and needs an approved developer app. Threads Scraper collects public posts and profiles from any account or keyword search without that setup.
Can I scrape all posts from a Threads profile?
Up to roughly the 170 to 215 most recent posts. That is the full history for many accounts (Mark Zuckerberg's reaches back to July 2023), but Threads stops there for very active accounts. Schedule the actor weekly to keep a longer archive.
Can I monitor Threads for keywords or brand mentions?
Yes. Add your keywords to Search keywords and run the actor on an Apify schedule. Each run returns the posts currently shown for that search; compare runs by post id to find new ones. The run report tells you if a keyword returned nothing.
Does it work with threads.net links?
Yes. threads.net and threads.com URLs are both accepted and saved as threads.com.
Why are some posts or numbers missing?
You get what Threads shows to visitors without an account. Posts without text, and numbers Threads hides, are left out rather than guessed. If one source fails (for example a username that does not exist), the other sources still return their results and the run report names the failed one.
Can I get videos, carousels and quote counts?
Yes. mediaUrls holds a direct URL for every image and video, including each carousel slide, and quotes holds the quote-post count.
Can I scrape replies to a Threads post?
Yes. Add the post URL to Individual post URLs and turn on Include replies to post URLs. You get the post followed by the replies Threads shows without a login, usually about 10, each with replyToUrl.
Does it support Recent search?
No. Threads offers Recent search only to logged-in users and shows everyone else Top results, so Threads Scraper reads Top results.
Can I connect Threads Scraper to other tools or AI agents?
Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at mcp.apify.com.
Is it legal to scrape Threads?
This scraper collects only public posts and profiles. Posts and profiles can contain personal data, which may be protected by laws such as the GDPR, so only collect it for a legitimate reason and ask a lawyer if you are unsure. You can read more in Is web scraping legal?
Threads Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Threads or Meta Platforms. Threads is a trademark of Meta Platforms, Inc.
Something isn't working?
Open the Issues tab with your input and what you expected. We read every one and usually reply within a day.
โญ Your feedback
Have an idea or found a problem? Open the Issues tab and tell us. If Threads Scraper saved you time, a short review on the Reviews tab helps other people find it.