Threads (Meta) Scraper — Posts, Profiles & Replies avatar

Threads (Meta) Scraper — Posts, Profiles & Replies

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Threads (Meta) Scraper — Posts, Profiles & Replies

Threads (Meta) Scraper — Posts, Profiles & Replies

Under maintenance

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

Ricardo Akiyoshi

Maintained by Community

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:
    1. Threads.net public profile HTML parsing
    2. GraphQL Relay store data extraction (RELAY_STORE and embedded JSON)
    3. Meta SSR data parsing (_s_data, shared_data, ServerJS hydration payloads)
    4. 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

FieldTypeDefaultDescription
profileUrlsArray[]Threads profile URLs or usernames to scrape
searchTermsArray[]Search queries for Google dorking discovery
threadUrlsArray[]Direct URLs to individual thread posts
maxPostsInteger200Maximum posts to scrape per profile/search
includeRepliesBooleanfalseScrape reply chains under each post
includeRepostsBooleantrueInclude reposts in output
maxRepliesPerPostInteger50Max replies per thread when replies enabled
maxConcurrencyInteger2Parallel requests (keep low!)
requestDelayInteger4Seconds between requests
proxyObject(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

  1. Always use residential proxies -- Meta blocks datacenter IPs immediately. Use "apifyProxyGroups": ["RESIDENTIAL"].
  2. Start small -- test with 1 profile and 10 maxPosts before scaling.
  3. Increase delay for large scrapes -- set requestDelay to 8-15 seconds for 100+ posts.
  4. Keep concurrency low -- maxConcurrency: 1 is safest. Only increase to 2-3 with premium proxies.
  5. Use search terms -- Google dorking sometimes provides more accessible results than direct profile URLs.
  6. Disable replies for speed -- set includeReplies: false if you only need main posts.
  7. 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.

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 ApifyClient
client = 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'));