Threads Scraper - Posts, Profiles, Replies & Search API avatar

Threads Scraper - Posts, Profiles, Replies & Search API

Pricing

from $1.50 / 1,000 extracted posts

Go to Apify Store
Threads Scraper - Posts, Profiles, Replies & Search API

Threads Scraper - Posts, Profiles, Replies & Search API

Extract Threads data at scale: user posts, replies, reposts, profiles, post details, comments and search (profiles, recent, top). Bulk timelines with full engagement counts, permalinks and pagination, exported to clean structured JSON or CSV. No login required.

Pricing

from $1.50 / 1,000 extracted posts

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Threads Scraper - Posts, Profiles, Replies & Search API 🧵

SIÁN Agency Store Xiaohongshu Scraper Douyin Scraper Weibo Scraper

🎉 Nine Threads operations in one actor

Pull user posts, replies, reposts, profiles, post details, comments and search results into clean JSON — built for social listening, influencer research and engagement analytics.


📋 Overview

One actor for everything Threads. Extract public Threads data at scale — a creator's full posting history, their replies and reposts, post engagement, comment threads, profile stats, and keyword search — all into one clean, structured dataset.

What you get:

  • 9 operations, one tool: user posts · replies · reposts · profiles · post details · comments · search (profiles / recent / top) — replaces three or four single-purpose scrapers.
  • Bulk timelines with real pagination: page through a full post or comment history rather than stopping at page one.
  • 🎯 Full engagement data: like, reply, repost, quote and reshare counts on every post, with permalinks and timestamps.
  • 💰 Pay only for what you pull: priced per post or profile returned — no per-page or subscription lock-in.
  • 💎 Reply & repost timelines: see a creator's conversational and amplification footprint — data most scrapers skip entirely.
  • No login or cookies: public data only, no account or API key required from you.

✨ Features

  • 🧵 User Posts: pull a profile's published posts with text, media, engagement counts and permalinks.
  • 💬 User Replies: collect a user's replies to other posts — perfect for conversation and sentiment analysis.
  • 🔁 User Reposts: see exactly what a creator amplifies to their audience.
  • 👤 User Profile: bio, follower count, verification status and avatar for any handle.
  • 🔍 Post Details: the full data for a single post by ID or URL.
  • 🗨️ Post Comments: paginated comments on any post for audience-reaction mining.
  • 🔎 Search Profiles: discover accounts by keyword.
  • 🆕 Search Recent / 🔥 Search Top: newest or most-engaged posts for any keyword, brand or topic.
  • 📊 Clean structured output: one flat row per post or profile, ready for JSON, CSV or Excel.
  • 🔗 Permalinks included: every post row carries a ready-to-open threads.net link.

🎬 Quick Start

Pick an operation, give it a username, post ID or search query, and run. Each run produces one clean dataset for the chosen mode.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~threads-meta-scraper/runs?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"operation": "userPosts", "usernames": ["zuck"], "maxResults": 50}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose an operation

Select what you want — User Posts, User Profile, Post Comments, Search, and so on.

Step 2: Provide the input

Add usernames (for user operations), post IDs or URLs (for post operations), or a search query (for search operations).

Step 3: Run and export

Start the run and download your results as JSON, CSV or Excel from the dataset.

That's it! In under a minute, you'll have:

  • A clean dataset of Threads posts or profiles
  • Full engagement counts and permalinks
  • Data ready for analysis, dashboards or LLM pipelines

📥 Input Configuration

FieldTypeRequiredDescription
operationstringYesOne of: userInfo, userPosts, userReplies, userReposts, postDetail, postComments, searchProfiles, searchRecent, searchTop
usernamesarrayFor user opsOne or more handles or profile URLs (zuck, @zuck, https://www.threads.net/@zuck)
postIdsarrayFor post opsOne or more post IDs or post URLs
querystringFor search opsKeyword or phrase to search Threads for
maxResultsintegerNoMax posts/comments per input (default 50). FREE runs are always capped at 50 rows.

Example — a user's posts:

{ "operation": "userPosts", "usernames": ["zuck", "mosseri"], "maxResults": 100 }

Example — search top posts for a keyword:

{ "operation": "searchTop", "query": "ai agents" }

Example — comments on a post:

{ "operation": "postComments", "postIds": ["3390920896561588969"], "maxResults": 200 }

📤 Output

Results are saved to the Apify dataset — one flat row per post or profile.

FieldTypeDescription
_operationstringOperation that produced the row
_rowTypestringpost or profile
postIdstringThreads post ID
postUrlstringCanonical permalink on threads.net
textstringPost caption / body text
takenAtstringPublish time (ISO 8601)
mediaTypestringtext, image, video or carousel
likeCount / replyCount / repostCount / quoteCount / reshareCountnumberEngagement counts
username / fullName / userIdstringAuthor or profile identity
isVerifiedbooleanVerified badge
followerCountnumberFollower count (profile rows)
biographystringProfile bio (profile rows)

Example post row:

{
"_operation": "userPosts",
"_rowType": "post",
"postId": "3920731152608519405",
"postUrl": "https://www.threads.net/@zuck/post/DZ1VE55nfRn",
"text": "Mostly superintelligence and MMA takes",
"takenAt": "2026-06-20T18:23:28.000Z",
"mediaType": "image",
"likeCount": 12840,
"replyCount": 530,
"repostCount": 91,
"quoteCount": 44,
"username": "zuck",
"isVerified": true
}

💼 Use Cases & Examples

1. Social Listening & Brand Monitoring

Marketers tracking brand mentions and sentiment on Threads.

Input: searchRecent / searchTop with a brand or topic keyword Output: Newest and top posts with engagement counts and authors Use: Monitor conversations, spot trends, and catch issues early.

2. Influencer & Creator Discovery

Agencies vetting creators before a partnership.

Input: searchProfiles then userInfo + userPosts for shortlisted handles Output: Follower counts, bios, and full posting history with engagement Use: Measure real reach and engagement, not vanity follower numbers.

3. Engagement & Performance Analytics

Analysts benchmarking accounts and campaigns.

Input: userPosts across competitor or owned accounts Output: Per-post like/reply/repost/quote counts with timestamps Use: Build dashboards, measure campaign lift, and track posting cadence.

4. Lead Generation & Audience Research

Sales and research teams building prospect lists.

Input: searchTop + postComments on relevant posts Output: Profiles and engaged authors around a topic or competitor Use: Find and qualify audiences that engage with your space.

5. Comment & Conversation Mining

Researchers and LLM builders sourcing conversational data.

Input: postComments with a high maxResults Output: Paginated reply threads on any post Use: Analyse reactions, surface FAQs, and feed research or AI pipelines.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/threads-meta-scraper').call({
operation: 'userPosts',
usernames: ['zuck'],
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/threads-meta-scraper').call(
run_input={'operation': 'searchTop', 'query': 'ai agents'}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~threads-meta-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "userInfo", "usernames": ["zuck"]}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule or webhook
  2. HTTP Request: Call the actor API with your operation and input
  3. Process: Handle the JSON dataset
  4. Action: Save, notify, or transform downstream

📊 Performance & Pricing

FREE Tier (Try It Now)

  • Up to 50 rows per run — full feature access, every operation
  • No credit card required
  • Perfect for testing and small projects
  • Unlimited posts and profiles per run
  • Deep timeline and comment pagination
  • Pay-per-result: charged per post or profile returned

💰 Transparent pay-per-event pricing — only pay for the data you actually pull.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many posts or profiles can I pull? A: FREE tier: up to 50 rows per run. PAID tier: unlimited, with deep pagination.

Q: Can I pass a profile or post URL instead of an ID? A: Yes — usernames accept @handle or a threads.net profile URL, and post inputs accept a numeric ID or a post URL.

Q: Does it work with private profiles? A: No — only publicly accessible content is supported.

Q: What output formats are available? A: JSON, CSV and Excel — export directly from the Apify dataset.

Q: Do I need a Threads account or API key? A: No. The actor handles data access for you; you only provide your inputs.

Q: Which operation should I start with? A: Run User Profile to confirm a handle, then User Posts for the timeline, or Search Top to explore a topic.


🐛 Troubleshooting

No rows returned for a username

  • Confirm the handle exists and is public (run User Profile first).
  • Use the exact handle without spaces; @ and profile URLs are both accepted.

Fewer rows than maxResults

  • The timeline may simply be shorter, or the account may have limited public history.

A post ID returns nothing

  • The post may be deleted or private. Try the full post URL so the code can be resolved.

⚠️ Trademark Disclaimer

This is an independent tool and is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. "Threads" is a trademark of Meta Platforms, Inc. This actor accesses only publicly available data and is intended for lawful data collection, research and analytics. All product names, logos and brands are property of their respective owners.


Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools