VOOZH about

URL: https://apify.com/vitalue/threads-scraper

โ‡ฑ Threads Scraper - Extract Posts, Profiles & Comments ยท Apify


๐Ÿ‘ Threads Scraper - Posts, Profiles & Comments avatar

Threads Scraper - Posts, Profiles & Comments

Pricing

from $3.00 / 1,000 results

Go to Apify Store

Threads Scraper - Posts, Profiles & Comments

Scrape Threads (threads.net) posts, user profiles, and comments. Search by keyword, scrape user data (bio, followers, verified status), posts with engagement metrics, and comments.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

๐Ÿ‘ Kovtun Vitalik

Kovtun Vitalik

Maintained by Community

Actor stats

1

Bookmarked

70

Total users

22

Monthly active users

2 months ago

Last modified

Share

What does Threads Scraper do?

Extract posts, profiles & comments from Threads (threads.net) โ€” no login, no browser, HTTP-only. $3 per 1,000 results.

Run it via the Apify platform to get API access, scheduled runs, webhook integrations, and proxy rotation out of the box.

The scraper supports three modes:

  • Scrape user profiles โ€” bio, follower count, verified status, profile picture
  • Scrape posts from specific users โ€” text, likes, timestamps, images. Optionally filter by keyword.
  • Scrape comments on posts โ€” replies from other users with like counts

Why use Threads Scraper?

  • Brand monitoring โ€” Track mentions of your brand, products, or competitors on Threads
  • Competitor analysis โ€” Monitor competitor posting frequency and content strategy
  • Influencer research โ€” Evaluate influencers by follower count, verification status, and engagement
  • Trend analysis โ€” Search trending topics and hashtags to spot emerging conversations
  • Market research โ€” Gather public sentiment data for reports and dashboards
  • Content strategy โ€” Analyze what types of posts drive the most likes in your niche

How to use Threads Scraper

  1. Go to the Input tab on this Actor's page
  2. Choose your Results Type: posts, profiles, or comments
  3. Fill in Usernames (for posts/profiles) or Post URLs (for comments)
  4. Set your Max Items limit (default: 50)
  5. For comments, enable Residential proxy in Proxy Configuration
  6. Click Start and wait for the results
  7. Download your data in JSON, CSV, Excel, or HTML format from the Output tab

Input parameters

ParameterTypeRequiredDescription
usernamesArrayFor posts/profilesUsernames to scrape (without @). Example: ["zuck", "instagram"]
postUrlsArrayFor commentsDirect URLs of posts. Example: ["https://www.threads.net/@zuck/post/ABC123"]
resultsTypeEnumNoposts (default), profiles, or comments
searchQueryStringNoFilter posts by keyword. Requires usernames โ€” fetches their posts and returns matches.
maxItemsIntegerNoMaximum results to return (default: 50, max: 10000)
proxyConfigurationObjectFor commentsResidential proxy required for comment scraping from Apify cloud

Input example โ€” scrape posts

{
"usernames":["zuck","instagram"],
"resultsType":"posts",
"maxItems":50
}

Input example โ€” scrape profiles

{
"usernames":["zuck","instagram","threads"],
"resultsType":"profiles"
}

Input example โ€” scrape comments

{
"postUrls":["https://www.threads.net/@zuck/post/DTaa5vUFB1E"],
"resultsType":"comments",
"maxItems":50,
"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}
}

You can also provide usernames instead of postUrls โ€” the scraper will auto-discover recent posts and scrape their comments:

{
"usernames":["zuck"],
"resultsType":"comments",
"maxItems":50,
"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}
}

Input example โ€” search posts by keyword

{
"searchQuery":"AI",
"usernames":["zuck","mosseri"],
"resultsType":"posts",
"maxItems":20
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Post output example

{
"type":"post",
"username":"zuck",
"text":"Meanwhile at Meta HQ",
"likeCount":7065,
"isReply":false,
"publishedAt":"2026-03-10T00:26:46+00:00",
"url":"https://www.threads.net/@zuck/post/DVrwsE5EdSz",
"postId":"3849384441660167347",
"imageUrls":["https://..."],
"scrapedAt":"2026-04-04T10:00:00+00:00"
}

Profile output example

{
"type":"profile",
"username":"zuck",
"fullName":"Mark Zuckerberg",
"bio":"Mostly superintelligence and MMA takes",
"followerCount":5500000,
"followingCount":0,
"isVerified":true,
"profilePicUrl":"https://...",
"isPrivate":false,
"scrapedAt":"2026-04-04T10:00:00+00:00"
}

Comment output example

{
"type":"comment",
"username":"user123",
"text":"Great post!",
"likeCount":305,
"replyTo":"zuck",
"publishedAt":"2026-03-15T15:00:00+00:00",
"postUrl":"https://www.threads.net/@zuck/post/DTaa5vUFB1E",
"scrapedAt":"2026-04-04T10:00:00+00:00"
}

Data fields reference

Posts

FieldTypeDescription
usernameStringAuthor's username
textStringPost text content
likeCountNumberNumber of likes
isReplyBooleanWhether this post is a reply to another post
publishedAtDatePublication timestamp (ISO 8601)
urlStringDirect link to the post
postIdStringInternal post identifier
imageUrlsArrayURLs of attached images

Profiles

FieldTypeDescription
usernameStringUsername
fullNameStringDisplay name
bioStringProfile biography
followerCountNumberNumber of followers (approximate)
followingCountNumberNumber of accounts followed
isVerifiedBooleanVerification badge status
profilePicUrlStringProfile picture URL
isPrivateBooleanWhether the account is private

Comments

FieldTypeDescription
usernameStringComment author
textStringComment text
likeCountNumberNumber of likes on the comment
replyToStringUsername this comment is replying to
publishedAtDateComment timestamp
postUrlStringURL of the parent post

How much does it cost to scrape Threads?

Threads Scraper uses a pay-per-result pricing model:

ResultsCost
1,000$3.00
10,000$30.00
50,000$150.00

Platform compute costs are minimal since the scraper uses HTTP requests only (no browser). A typical run scraping 1,000 posts uses less than 0.01 compute units.

Comment scraping requires residential proxy which has additional Apify platform costs.

Free Apify accounts include $5 of free platform usage per month.

How it works under the hood

The scraper uses two data sources depending on what's being scraped:

  • Profiles: Fetched via facebookexternalhit User-Agent which triggers Meta's SSR (server-side rendering) and returns OG meta tags with profile data. Enriched with is_verified from the GraphQL API.
  • Posts: Fetched via Threads' internal GraphQL API (/api/graphql) using the BarcelonaProfileThreadsTabQuery endpoint. Works from any IP without proxy.
  • Comments: Requires Googlebot User-Agent to get full SSR with thread replies. Googlebot is IP-verified by Meta, so a residential proxy is needed when running from datacenter IPs (like Apify cloud).
  • Search: Threads search API requires authentication. As a workaround, the scraper fetches posts from provided usernames and filters by keyword.

Limitations

  • Reply/repost counts are not available from the public API. Threads intentionally hides these metrics from unauthenticated endpoints. Only likeCount is returned.
  • Comment scraping requires a residential proxy on Apify cloud (Googlebot UA is IP-verified by Meta).
  • Search requires usernames โ€” it filters their posts by keyword rather than searching all of Threads.
  • followerCount is approximate (parsed from meta description, e.g., "5.5M" becomes 5,500,000).

Tips for optimal usage

  • Start small โ€” Test with maxItems: 10 to verify the output format before running large scrapes
  • Use residential proxy for comments โ€” Enable it in Proxy Configuration with the RESIDENTIAL group
  • Schedule regular runs โ€” Set up recurring scrapes for ongoing monitoring (daily, weekly)
  • Combine with integrations โ€” Export results to Google Sheets, Slack, or webhooks via Apify integrations
  • Rate limits โ€” The scraper includes built-in retry logic and rate limiting. Very large scrapes (10,000+) may take longer due to API throttling

API usage examples

Run via Apify API

curl-X POST "https://api.apify.com/v2/acts/VitaLuE~threads-scraper/runs"\
-H"Authorization: Bearer YOUR_API_TOKEN"\
-H"Content-Type: application/json"\
-d'{
"usernames": ["zuck"],
"resultsType": "posts",
"maxItems": 50
}'

Run via Python SDK

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("VitaLuE/threads-scraper").call(run_input={
"usernames":["zuck","instagram"],
"resultsType":"profiles",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Run via JavaScript SDK

import{ ApifyClient }from'apify-client';
const client =newApifyClient({token:'YOUR_API_TOKEN'});
const run =await client.actor('VitaLuE/threads-scraper').call({
usernames:['zuck'],
resultsType:'posts',
maxItems:50,
});
const{ items }=await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

FAQ and support

Is it legal to scrape Threads? This scraper only collects publicly available data. Always ensure your use case complies with applicable laws and Threads' Terms of Service.

Can it scrape private profiles? No. Only public profiles and posts are accessible.

Why are reply/repost counts missing? Threads' public API intentionally does not return reply and repost counts for unauthenticated requests. Only likeCount is available. The isReply boolean field indicates whether a post is a reply to another post.

Why do comments require a residential proxy? Comment data is only returned when Threads detects a Googlebot crawler, and Meta verifies Googlebot by IP address. From Apify's datacenter IPs, a residential proxy is needed to pass this verification.

How does search work? Threads' search API requires authentication. The scraper works around this by fetching posts from the provided usernames and filtering them by your search query keyword.

Need a custom solution? If you need additional features or a custom scraper, open an issue in the Issues tab or contact the developer.

You might also like

Threads

canadesk/threads

Collect or Search for Posts and User profiles on Threads. It's fast and costs little!

๐Ÿ‘ User avatar

Canadesk Support

366

1.0

Threads Scraper - Posts, Profiles & Search

futurizerush/meta-threads-scraper

Search recent Meta Threads posts by keyword, collect all available posts from public profiles, or find profiles by keyword. No login required. Export posts, views, media, engagement metrics, and user data.

Threads User Posts Scraper

apibox/threads-user-posts-scraper

Extract User Posts from Threads, including captions, media, tags, mentions, and metrics such as likes, comments, and quotes. Easily collect and analyze user-generated content, and download results in formats like JSON, CSV, or Excel.

Threads Scraper - Threads, Post & Profile

thenetaji/threads-scraper

Extract Threads profiles, posts & engagement metrics easily. Lighting fast with super cheap cost. Now supports extracting threads(posts).Try now!!

327

3.1

Threads Scraper - Posts, Profiles & Replies

pro100chok/threads-scraper-usage

All-in-one Threads.net scraper: search posts by keyword, extract user profiles with followers, and collect reply threads. Full engagement data, contact extraction, media URLs. 20 parallel workers, auto-retry, proxy rotation.

Threads Profile & Post Scraper

headlessagent/thread-profile-post-scraper

Scrape Thread profiles and posts. Get clean JSON with profile stats, media URLs, and more.

๐Ÿ‘ User avatar

Headless Agent

17

Threads Post Scraper

logical_scrapers/threads-post-scraper

Threads Post Scraper extracts complete data from any public Threads.net post, including caption text, media, engagement metrics, author details, and all replies. giving you accurate and structured output ideal for research, analytics, monitoring conversations, and building datasets at scale.

855

4.1

Threads Search Scraper

burbn/threads-search-scraper

Threads Keyword Search Scraper helps you search Threads by any keyword or phrase, Get post text, post links, timestamps, user details, and engagement metrics (likes, replies, reposts, quotes, reshares). Choose Top or Recent sorting and scrape up to your desired limit.