Meta Threads Scraper — Posts, Profiles & Engagement avatar

Meta Threads Scraper — Posts, Profiles & Engagement

Pricing

Pay per usage

Go to Apify Store
Meta Threads Scraper — Posts, Profiles & Engagement

Meta Threads Scraper — Posts, Profiles & Engagement

Scrape Meta Threads without login. 4 modes: user posts, profiles with engagement rate, full threads with replies, user reply history. Hybrid GraphQL + browser engine. Extract text, likes, reposts, quote counts, images, videos, mentions, follower counts. The deepest Threads data tool on Apify.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Max Gor

Max Gor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

a day ago

Last modified

Share

Threads Scraper — Posts, Profiles & Replies | Engagement Rate | No Login

The deepest Meta Threads analytics tool on Apify — no API key, no login, no cookies.

$1.50 per 1,000 results. See pricing.

Why This Scraper?

FeatureThis ActorTop competitor
Modes43
Engagement rateYesNo
Quote countYesYes
Thread repliesYesNo
User repliesYesNo
Login requiredNoNo
Price per 1k$1.50$2.00+

4 Scraping Modes

profiles — Profile Data + Engagement Rate

Extract bio, follower/following counts, verified status, and calculated engagement rate based on the last 20 posts.

{
"mode": "profiles",
"profiles": ["zuck", "mosseri"]
}

Sample output:

{
"username": "mosseri",
"fullName": "Adam Mosseri",
"bio": "Father of three boys, head of Instagram and supporter of Threads.",
"followerCount": 964700,
"followingCount": 0,
"isVerified": true,
"engagementRate": 0.09,
"url": "https://www.threads.net/@mosseri"
}

posts — User Timeline Posts

Get recent posts with full engagement metrics including quote count.

{
"mode": "posts",
"profiles": ["zuck"],
"maxResults": 20
}

Sample output:

{
"id": "3870872187813562164",
"url": "https://www.threads.net/@zuck/post/DW4Gb79kQc0",
"text": "Today we're sharing our new model family, Muse...",
"username": "zuck",
"userVerified": true,
"publishedAt": "2026-04-08T15:59:05.000Z",
"likeCount": 2740,
"replyCount": 312,
"repostCount": 89,
"quoteCount": 45,
"images": [],
"videos": [],
"hashtags": [],
"mentions": [],
"isReply": false
}

thread — Full Thread with Replies

Get the original post plus all reply chains — perfect for conversation analysis.

{
"mode": "thread",
"postUrls": ["https://www.threads.net/t/C8H5FiCtESk"]
}

replies — User's Replies to Others

See what a user is saying across Threads — all their replies to other people's posts. Great for competitive intelligence and sentiment tracking.

{
"mode": "replies",
"profiles": ["mosseri"],
"maxResults": 50
}

Output Fields

Posts & Replies

FieldTypeDescription
idstringUnique post ID
codestringShort code (used in URL)
urlstringDirect link to the post
textstringFull post text
usernamestringAuthor's handle
userVerifiedbooleanBlue checkmark
publishedAtstringISO 8601 timestamp
likeCountnumberTotal likes
replyCountnumberTotal replies
repostCountnumberTotal reposts
quoteCountnumberTotal quote posts
imagesstring[]Image CDN URLs
videosstring[]Video CDN URLs
hashtagsstring[]Extracted #hashtags
mentionsstring[]Extracted @mentions
isReplybooleanIs this a reply?

Profiles

FieldTypeDescription
usernamestringThreads handle
fullNamestringDisplay name
biostringProfile bio text
profilePicUrlstringAvatar URL
followerCountnumberFollowers
followingCountnumberFollowing
isVerifiedbooleanVerified account
isPrivatebooleanPrivate account
engagementRatenumberAvg engagement / followers (%)
externalUrlstringWebsite link from bio

How It Works

Input (usernames, post URLs)
┌─────────────┐
│ GraphQL API │ ← Fast, ~0.005 CU/request
+ CSRF auth │ Automatic token extraction
└──────┬──────┘
│ If blocked or empty response
┌─────────────┐
│ Playwright │ ← Headless browser fallback
+ intercept │ Captures API responses from page
└──────┬──────┘
Structured JSON → Dataset
  • GraphQL layer: extracts CSRF + LSD tokens, sends authenticated API requests
  • Playwright fallback: headless Chromium with response interception
  • HTML meta fallback: for profiles — extracts from og:tags when APIs fail
  • Anti-detection: Chrome 131+ User-Agents, randomized delays, per-request proxy rotation

Pricing

$1.50 per 1,000 results — pay per event.

VolumeCost
100 results$0.15
1,000 results$1.50
10,000 results$15.00
100,000 results$150.00

Quick Start

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("skipper_lume/threads-scraper").call(run_input={
"mode": "posts",
"profiles": ["zuck"],
"maxResults": 20,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"@{item['username']}: {item['text'][:80]}... ({item['likeCount']} likes)")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('skipper_lume/threads-scraper').call({
mode: 'profiles',
profiles: ['zuck', 'mosseri'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`@${item.username}: ${item.followerCount} followers, ${item.engagementRate}% engagement`);
});

Use Cases

IndustryUse CaseMode
MarketingInfluencer vetting with engagement ratesprofiles
PRMonitor executive responsesreplies
SalesProspect research & enrichmentprofiles + posts
AgenciesCompetitor content analysisposts
ResearchConversation miningthread
RecruitingCandidate researchprofiles + replies

Integrations

  • Google Sheets — auto-export
  • Webhooks — trigger on completion
  • REST API — programmatic access
  • Zapier / Make / n8n — automated pipelines
  • Slack / Email — notifications
  • AWS S3 / Google Cloud — dataset storage

Tips

  • Use residential proxies (RESIDENTIAL group) for best reliability
  • Keep maxResults at 50–200 for optimal speed
  • 1 GB memory is enough for most runs
  • Schedule recurring runs for continuous monitoring

FAQ

Q: Do I need a Threads account? A: No. Public profiles and posts only. No login, no tokens.

Q: What's engagement rate? A: Average (likes + replies) per post divided by follower count, as a percentage. Calculated from the last 20 posts.

Q: Can I get quote counts? A: Yes — quoteCount is included in every post. Most competitors don't extract this.

Q: What's the replies mode for? A: It scrapes all replies a user has written to other people's posts. Useful for competitive intelligence — see how executives/influencers interact with others.

Q: Can I scrape private accounts? A: No. Only public profiles and posts.

Changelog

v1.2 (April 2026)

  • Added replies mode — scrape all replies written by a user
  • Added quoteCount to post output
  • Added engagementRate to profile output (auto-calculated from last 20 posts)
  • Now 4 modes: profiles, posts, thread, replies

v1.1 (April 2026)

  • CSRF + LSD token authentication for GraphQL
  • Response interception in Playwright
  • HTML meta tag fallback for profiles
  • Chrome 131+ User-Agents, per-request proxy rotation

v1.0 (April 2026)

  • Initial release: profiles, posts, thread scraping