Threads (Meta) Scraper — Posts, Profiles & Replies
Pricing
Pay per usage
Threads (Meta) Scraper — Posts, Profiles & Replies
Scrape Meta Threads profiles and posts. Extract text, likes, replies, reposts, images, follower counts, and engagement data. Supports profile URLs, search terms, and thread detail pages with reply chains. Pay per post scraped.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
4
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Threads (Meta) Scraper
Scrape public posts, profiles, and reply chains from Meta's Threads platform at scale. Four extraction strategies with automatic fallback for maximum reliability. Supports profile URLs, search term discovery, and individual thread detail pages.
Features
- Profile scraping -- usernames, full names, follower counts, bios, verification status, profile pictures
- Post scraping -- text content, likes, replies, reposts, timestamps, images, post URLs
- Reply chain scraping -- full conversation threads with reply-to attribution
- Search discovery -- find Threads profiles and posts via Google dorking with search terms
- 4 scraping strategies with automatic fallback:
- Threads.net public profile HTML parsing
- GraphQL Relay store data extraction (RELAY_STORE and embedded JSON)
- Meta SSR data parsing (_s_data, shared_data, ServerJS hydration payloads)
- Thread detail page parsing (individual post + reply chain)
- Anti-detection -- rotating user agents, configurable delays, residential proxy support
- Login wall handling -- detects Meta auth walls and falls back to meta tag extraction
- Deduplication -- automatically skips duplicate posts across profiles and searches
- Pay-per-event -- only pay for successfully scraped posts ($0.004 each)
Use Cases
Social Media Monitoring
Track conversations about your brand, competitors, or industry topics on Threads. Monitor sentiment, engagement trends, and viral content in real time.
Brand & Influencer Analytics
Analyze influencer profiles for follower counts, posting frequency, engagement rates (likes, replies, reposts), and content themes. Compare influencers for partnership decisions.
Market Research
Discover what early adopters and industry leaders are discussing on Threads. Track emerging trends, product launches, and audience reactions.
Competitive Intelligence
Monitor competitor brand accounts and executive profiles. Track their content strategy, engagement patterns, and audience growth on Meta's newest social platform.
Content Strategy
Analyze what types of posts get the most engagement on Threads. Study top-performing content, optimal posting times, and audience interaction patterns to inform your own strategy.
Academic & Sentiment Research
Collect public social media data for research on discourse patterns, platform migration (Twitter to Threads), and digital community formation. Structured JSON output for easy analysis.
Input
| Field | Type | Default | Description |
|---|---|---|---|
profileUrls | Array | [] | Threads profile URLs or usernames to scrape |
searchTerms | Array | [] | Search queries for Google dorking discovery |
threadUrls | Array | [] | Direct URLs to individual thread posts |
maxPosts | Integer | 200 | Maximum posts to scrape per profile/search |
includeReplies | Boolean | false | Scrape reply chains under each post |
includeReposts | Boolean | true | Include reposts in output |
maxRepliesPerPost | Integer | 50 | Max replies per thread when replies enabled |
maxConcurrency | Integer | 2 | Parallel requests (keep low!) |
requestDelay | Integer | 4 | Seconds between requests |
proxy | Object | (none) | Apify proxy config (STRONGLY recommended) |
Input Examples
Scrape specific profiles
{"profileUrls": ["https://www.threads.net/@zuck","@mosseri","instagram"],"maxPosts": 50}
Search for AI discussions
{"searchTerms": ["artificial intelligence","AI startup funding","machine learning trends"],"maxPosts": 100,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Scrape specific threads with replies
{"threadUrls": ["https://www.threads.net/@zuck/post/C1234567890"],"includeReplies": true,"maxRepliesPerPost": 100,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Full brand monitoring setup
{"profileUrls": ["@nike","@adidas","@puma"],"searchTerms": ["nike launch","adidas new shoe","sneaker release 2026"],"maxPosts": 200,"includeReplies": true,"maxRepliesPerPost": 50,"requestDelay": 6,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Influencer comparison
{"profileUrls": ["@mkbhd","@garyvee","@naval"],"maxPosts": 100,"includeReposts": false,"requestDelay": 5,"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
Profile Output
{"type": "profile","author": "zuck","authorFullName": "Mark Zuckerberg","authorFollowers": 12500000,"authorFollowing": 450,"bio": "Building things.","profilePicUrl": "https://scontent.cdninstagram.com/...","isVerified": true,"profileUrl": "https://www.threads.net/@zuck","dataSource": "relay_store","scrapedAt": "2026-03-01T12:00:00.000Z"}
Post Output
{"type": "post","author": "zuck","authorFollowers": 12500000,"text": "We just launched a new feature on Threads that lets you...","likes": 45200,"replies": 3100,"reposts": 8700,"postedAt": "2026-02-28T18:30:00.000Z","images": ["https://scontent.cdninstagram.com/v/t51.29350-15/..."],"url": "https://www.threads.net/@zuck/post/C1234567890","isReply": false,"replyTo": null,"scrapedAt": "2026-03-01T12:00:00.000Z"}
Reply Output
{"type": "reply","author": "user123","authorFollowers": 5000,"text": "This is amazing! Can't wait to try it out.","likes": 234,"replies": 5,"reposts": 12,"postedAt": "2026-02-28T19:15:00.000Z","images": [],"url": "https://www.threads.net/@user123/post/C9876543210","isReply": true,"replyTo": "zuck","parentPostUrl": "https://www.threads.net/@zuck/post/C1234567890","scrapedAt": "2026-03-01T12:00:00.000Z"}
Scraping Strategies
The actor uses four strategies with automatic fallback:
Strategy 1: Public Profile HTML Parsing
Scrapes Threads.net public profile pages and parses HTML to extract profile info and posts. This is the primary strategy for profile-level scraping.
Strategy 2: GraphQL Relay Store
Threads (built on React/Relay) embeds GraphQL response data in inline scripts. The actor extracts __RELAY_STORE__, window.__data, and other Relay hydration payloads for rich structured data.
Strategy 3: Meta SSR Data
Meta uses several patterns for server-side rendering: window._s_data, __additionalData, and ServerJS.handle() calls. These contain the same data as the API but are embedded in the initial HTML response.
Strategy 4: Thread Detail Pages
Individual thread URLs (/post/CODE) are scraped to extract the main post content plus its full reply chain. All four extraction strategies are applied to each detail page.
The actor automatically falls through strategies when one fails. If Relay store data is unavailable, it tries SSR data. If that fails, it falls back to HTML parsing. As a last resort, it extracts whatever is available from meta tags.
Performance Tips
- Always use residential proxies -- Meta blocks datacenter IPs immediately. Use
"apifyProxyGroups": ["RESIDENTIAL"]. - Start small -- test with 1 profile and 10 maxPosts before scaling.
- Increase delay for large scrapes -- set
requestDelayto 8-15 seconds for 100+ posts. - Keep concurrency low --
maxConcurrency: 1is safest. Only increase to 2-3 with premium proxies. - Use search terms -- Google dorking sometimes provides more accessible results than direct profile URLs.
- Disable replies for speed -- set
includeReplies: falseif you only need main posts. - Google dorking limits -- Google shows ~100 results per query. Use specific search terms for better targeting.
Rate Limiting and Blocks
Threads (Meta) uses aggressive anti-scraping measures inherited from Instagram:
- HTTP 403 -- Access denied, IP blocked
- HTTP 429 -- Standard rate limiting
- Login wall -- Redirects to Meta login page for unauthenticated users
- Challenge page -- Suspicious activity verification
- Age gate -- Content requires age confirmation
This actor handles these by:
- Rotating user agents and browser-like headers
- Configurable delays between requests (default 4s)
- Automatic fallback to meta tag extraction when blocked
- Graceful degradation (saves partial data when possible)
- Residential proxy support for IP rotation
Pricing (Pay Per Event)
This actor uses Apify's pay-per-event model. You are charged $0.004 per post (including replies) successfully scraped and saved to the dataset. Profile-only results and failed requests are not charged.
Legal Notice
This actor scrapes publicly available Threads data only. No authentication or login credentials are used. Users are responsible for ensuring compliance with Meta's Terms of Service, applicable data protection laws (GDPR, CCPA), and all relevant regulations. This tool is intended for legitimate business purposes such as brand monitoring, market research, competitive analysis, and academic research. Do not use scraped data for spam, harassment, or unauthorized profiling.
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/threads-scraper").call(run_input={"searchTerm": "threads","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item.get('title', item.get('name', 'N/A'))}")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/threads-scraper').call({searchTerm: 'threads',maxResults: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.title || item.name || 'N/A'));