Threads Scraper | Profiles, Posts, Replies, Search | $1 / 1K
Pricing
from $0.70 / 1,000 post or reply scrapeds
Threads Scraper | Profiles, Posts, Replies, Search | $1 / 1K
Threads data without a login or API key: profiles (followers, bio, links, verified), recent posts with likes, replies, reposts and quotes, single posts with their replies, and keyword search. $1 per 1,000 posts or replies, $1.50 per 1,000 profiles, $0.001 per run.
Pricing
from $0.70 / 1,000 post or reply scrapeds
Rating
0.0
(0)
Developer
Hriday Rungta
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
Threads Scraper gets Threads data without a login or an API key: public Threads profiles (follower count, bio, bio links, verified badge), each profile's most recent Threads posts with like, reply, repost and quote counts, any single post with its replies, and the posts Threads' own search shows for a keyword. It is a simple Threads API alternative for Meta Threads: paste usernames, post links or keywords, press Start, and download the result as JSON, CSV or Excel. Use it for social listening, influencer vetting, competitor tracking, brand monitoring or to feed AI agents with fresh Threads posts.
- No login, no cookies, no API key. It reads the same public pages any logged-out visitor sees on threads.com.
- Profiles, posts, replies and search in one Actor. Mix usernames, post URLs and keywords in one run.
- Flat, clean rows. One row per profile, post or reply, with a ready-made spreadsheet view.
- Pay only for results. $1 per 1,000 posts or replies and $1.50 per 1,000 profiles. Missing accounts and failed inputs are free.
- Apify platform built in: API access, scheduling, webhooks, integrations (Make, n8n, Zapier, Google Sheets), monitoring, and automatic proxy rotation with fresh sessions on retries.
What data can you extract from Threads?
| Row type | Fields |
|---|---|
| Profile | username, full name, user ID, biography, bio links, follower count, verified, private flag, HD profile picture URL, profile URL, topic tags |
| Post / reply | post ID, short code, URL, text, created date, author username / name / verified / picture, like count, reply count, repost count, quote count, share count, media type (text, image, video, carousel), image URLs, video URLs, link preview URL and title, mentions, hashtags, topic tag, language, reply-to username, parent post, position inside a multi-post thread, quote and repost links, pinned flag, paid-partnership flag |
| Status row (free) | the input, why it could not be scraped (not-found, invalid-input, no-results, failed) |
The type column tells the rows apart (profile, post, reply, error) and source says where a row came from (profile, post, reply, search).
How to use Threads Scraper
- Open the Actor and go to the Input tab.
- Add Threads profiles (usernames like
zuckor URLs likehttps://www.threads.com/@zuck), post URLs, search keywords, or any mix. - Set the limits: posts per profile, replies per post, posts per keyword, and the overall row cap.
- Click Start. A few profiles take a few seconds.
- Download the results from the Output tab (JSON, CSV, Excel, HTML) or fetch them through the Apify API.
Input
| Field | What it does | Default |
|---|---|---|
profiles | Usernames or profile URLs (threads.net and threads.com both work) | ["zuck", "nasa"] prefilled |
postUrls | Post URLs: returns the post plus its replies | empty |
searchQueries | Keywords: returns the posts Threads' search shows logged-out | empty |
includeProfileDetails | One profile row per username | true |
maxPostsPerProfile | 0 = profile row only, up to 50 | 10 |
maxRepliesPerPost | 0 = only the post, up to 500 | 20 |
maxPostsPerSearch | Posts per keyword, up to 50 (Threads shows about 20) | 20 |
searchSort | top or recent | top |
maxItems | Hard cap on billed rows per run | 1000 |
proxyConfiguration | Apify proxy for retries (the free datacenter proxy is enough) | Apify proxy |
Input example
{"profiles": ["mosseri", "https://www.threads.net/@natgeo"],"maxPostsPerProfile": 20,"postUrls": ["https://www.threads.com/@zuck/post/Dd1MqfcG0aH"],"maxRepliesPerPost": 50,"searchQueries": ["marathon training"],"searchSort": "recent"}
Output example
Real rows from a run on 2026-11-02 (a profile row and one of its posts):
[{"type": "profile","source": "profile","sourceInput": "mosseri","userId": "63482099442","username": "mosseri","fullName": "Adam Mosseri","biography": "Father of three boys, married to an amazing woman, head of Instagram and supporter of Threads.","bioLinks": ["http://mosseri.net/"],"followerCount": 1055119,"isVerified": true,"isPrivate": false,"profilePicUrl": "https://scontent-iad3-2.cdninstagram.com/v/t51.82787-19/652081753_17949596661115443_3143547630500927369_n.jpg?stp=dst-jpg_s640x640_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-iad3-2.cdninstagram.com&_nc_cat=103&_nc_oc=Q6cZ2gGoPnWMnrEUFAFXd1sEnQ90MbeDUnHJBovhguGV2ANHsWmnqXb-74dPevstPOdhoAU&_nc_ohc=9il3gULxYX8Q7kNvwFh4fM4&_nc_gid=lGnYiWHOrr8mWeyBwPU_0w&edm=APs17CUBAAAA&ccb=7-5&oh=00_AQTy4ewg6O7TILMNLvue4cTJSjsCd35OF6o2-H9s38e-lQ&oe=6AEE55DE&_nc_sid=10d13b","profileUrl": "https://www.threads.com/@mosseri","topicTags": ["Arsenal Threads"],"status": "ok","error": null,"scrapedAt": "2026-11-02T10:50:24.915Z"},{"type": "post","source": "profile","sourceInput": "mosseri","postId": "4017446202874265196","code": "DfA1glCj_5s","url": "https://www.threads.com/@mosseri/post/DfA1glCj_5s","text": "I'm getting a lot of inbound about Instagram starting to work on longer-form video. A few things to clarify in case it's helpful:\n\n- This is going to take time to get right, but we're excited and committed\n- Features is not fully launched yet, we're testing and ramping up access slowly\n- We understand the economics matter a ton, and are exploring multiple options to help long-form creators get paid\n\nAs always, we'll communicate about progress as we go, and I'm happy to answer any questions.","createdAt": "2026-10-27T21:35:29.000Z","username": "mosseri","userId": "63482099442","userFullName": "Adam Mosseri","userIsVerified": true,"userProfilePicUrl": "https://scontent-iad3-2.cdninstagram.com/v/t51.82787-19/652081753_17949596661115443_3143547630500927369_n.jpg?stp=dst-jpg_s206x206_tt6&_nc_cat=111&ccb=7-5&_nc_sid=30ff31&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy42NzguQzMifQ%3D%3D&_nc_ohc=gP536brHm7oQ7kNvwFMu3xW&_nc_oc=Adpqc6yaCXZaElsxjzcX-zGE-UytrFWMYCKSx_0vCx327Kuf8h8HzGEClO60W4Wp-Ag&_nc_zt=24&_nc_ht=scontent-iad3-2.cdninstagram.com&_nc_gid=O2nR9JJpb__ZSrj5rQJiQQ&_nc_ss=70289&oh=00_AQTRNU1t79UCpSlpxFUZzKrMEx69MeTJpKEGoPlnddnEiw&oe=6AEE55DE","likeCount": 1906,"replyCount": 636,"repostCount": 97,"quoteCount": 33,"shareCount": 96,"mediaType": "text","imageUrls": [],"videoUrls": [],"linkUrl": null,"linkTitle": null,"mentions": [],"hashtags": [],"textLinks": [],"topicTag": null,"language": "en","isReply": false,"replyToUsername": null,"parentPostCode": null,"threadPosition": 1,"isQuote": false,"quotedPostUrl": null,"isRepost": false,"repostedPostUrl": null,"isPinned": false,"isPaidPartnership": false,"status": "ok","error": null,"scrapedAt": "2026-11-02T10:50:25.447Z"}]
How much does it cost to scrape Threads?
Pay-per-event pricing: you pay for the rows you get, nothing for failed or missing inputs.
| Event | Free plan | Bronze | Silver | Gold, Platinum, Diamond |
|---|---|---|---|---|
| Post or reply scraped, per 1,000 | $1.00 | $0.90 | $0.80 | $0.70 |
| Profile scraped, per 1,000 | $1.50 | $1.35 | $1.20 | $1.05 |
| Actor start, per run | $0.001 | $0.001 | $0.001 | $0.001 |
Worked examples (Free plan prices)
- 100 profiles with their 10 latest posts each: $0.001 + 100 x $0.0015 + 1,000 x $0.001 = $1.15.
- One viral post with 200 replies: $0.001 + 201 x $0.001 = $0.20.
- 50 keywords, 20 posts each (1,000 posts): about $1.00.
- Profile rows only for 1,000 accounts (
maxPostsPerProfile: 0): about $1.50.
Apify's free plan includes $5 of monthly credit, which covers about 5,000 Threads posts or 3,300 profiles a month with this Actor.
Integrations and scheduling
- Apify API and clients (JavaScript, Python): start runs and read the dataset from your own code.
- Make, n8n, Zapier: push new posts into a CRM, Slack, Airtable or email.
- Google Sheets: export the flat spreadsheet view in one click or on a schedule.
- Webhooks: get a call when a run finishes.
- Apify Schedules: run daily or hourly to track follower counts or new posts from a list of accounts.
- MCP for AI agents: Claude, ChatGPT or Cursor can call this Actor through the Apify MCP server to fetch live Threads posts.
FAQ
Why not use the official Threads API?
Meta's official Threads API is built for managing your own account. Reading other accounts needs an approved Meta app, access tokens and app review, and it does not give you an open search across public posts. This Actor needs none of that: it returns the public data any logged-out visitor can see.
Is there a free Threads API for public data?
Not from Meta for other people's accounts. Threads Scraper is the closest thing: pay-per-result, no key, and Apify's free plan credit covers about 5,000 posts a month.
Can I search Threads by keyword?
Yes, with a limit. Threads shows a logged-out visitor about 10 to 20 posts per keyword (top or recent) and no further pages, so that is what this Actor returns. For deep keyword archives you would need a logged-in account, which this Actor never uses.
How many posts can I get from one profile?
Threads shows logged-out visitors roughly the 15 latest threads of a profile. Multi-post threads count every post, so you usually get 15 to 40 posts. Older posts are not available without a login.
How do I get the replies or comments of a Threads post?
Put the post URL in postUrls and set maxRepliesPerPost. The Actor pages through the direct replies (top replies first) up to your limit, up to 500 per post.
Can I track Threads follower counts over time?
Yes. Schedule a run with maxPostsPerProfile: 0 on your list of accounts; every run writes the current follower count with a timestamp, so you can chart growth in Google Sheets or your database.
Is it legal to scrape Threads?
This Actor only reads public pages that anyone can open without an account, and it never logs in. Public data can still be personal data: if you store or process it, follow the GDPR, CCPA and other laws that apply to you, and respect Threads' terms. If in doubt, ask a lawyer.
What are the alternatives?
Other Threads Actors on Apify Store, such as Threads Profile API Scraper and Meta Threads Scraper. This one combines profiles, posts, replies and search in one run at $1 per 1,000 posts.
Why did an input return a status row instead of data?
not-found means the account or post does not exist or is not public (Threads shows the login page). invalid-input means the line is not a username or Threads URL. no-results means the search returned nothing. failed means the page could not be loaded after several tries with fresh proxy sessions; run it again. Status rows are never charged.
Limits
- Logged-out view only. About the 15 latest threads per profile, about 20 posts per keyword search, no follower or following lists, no likes lists.
- Private profiles: their posts are not public, so they are not returned (no private account was available to test the profile row).
- Replies are direct replies in Threads' default order; nested replies to replies are not followed.
- Media URLs are signed CDN links that expire after a while: download the files soon if you need them.
- A run stops early if many inputs in a row return nothing (for example a list of deleted accounts), so a dead list cannot burn your budget.
Related Actors
- Instagram Profile Scraper: followers, bio and stats of Instagram accounts.
- Instagram Content Scraper: posts and reels with engagement counts.
- Bluesky Scraper: Bluesky posts, reply threads and follower lists.
- TikTok Profile Scraper: TikTok followers, likes and bio.
- Threads Profile API Scraper by Apify.