๐งต Threads User Posts Scraper
Pricing
from $3.99 / 1,000 results
๐งต Threads User Posts Scraper
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
ScraperX
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
๐งต Threads User Posts Scraper โ Extract Posts, Media & Engagement from Threads Profiles
Turn any public Threads profile into a clean dataset. Paste profile links or plain usernames and get every post with its caption, like count, replies, reposts, quotes, image and video URLs with dimensions, mentions, tags, timestamp and direct post URL.
Bulk profiles, up to 5,000 posts per profile, and results streamed to your Output tab as they arrive.
What you get
| ๐งต Post | ๐ Engagement | ๐ผ๏ธ Media & people |
|---|---|---|
| Post ID, PK and short code | Likes | Images with URL, width, height |
| Full caption text | Direct replies | Videos with URL and type |
| Edited-caption flag | Reposts | Audio attachments |
| Publication timestamp | Quotes | Mentions with username, ID and avatar |
| Direct post URL | Counts-disabled flag | User tags |
| Author username and avatar |
Key features
- Profiles or usernames. Paste
https://www.threads.com/@zuck, athreads.netlink, or simplyzuckโ all work, in bulk, one per line. - Deep history. Up to 5,000 posts per profile, paged through Threads' own cursor.
- Media with dimensions. Images come back with their URL, width and height, and videos with their URL and type โ so you can filter by format or aspect ratio before downloading anything.
- The full engagement set. Likes, direct replies, reposts and quotes are separate fields. Quotes in particular signal that people are adding commentary rather than passively resharing.
- Structured mentions. Every @mention is returned as an object with username, user ID and profile picture โ not just text you have to parse out of the caption.
- Honest engagement flags.
like_and_view_counts_disabledtells you when an account has hidden its numbers, so a0is never mistaken for genuine zero engagement. - Automatic connection escalation. Runs direct by default and switches to Apify datacenter or residential connections when Threads is picky โ no configuration needed.
- Live streaming output โ posts appear in the Output tab as they are collected, so long runs are never all-or-nothing.
Use cases
- Competitor monitoring โ track what rival brands post on Threads and how it performs.
- Influencer research โ evaluate a creator's real engagement before a partnership.
- Content strategy โ see which captions and formats drive replies and quotes in your niche.
- Social listening โ monitor the accounts that matter to your brand.
- Trend research โ capture how a topic is discussed across several profiles.
- Archiving โ keep a structured record of an account's public output.
- Media asset collection โ gather image and video URLs with dimensions.
- Academic and market research โ build datasets of public social discourse with engagement metrics.
How it works
- You supply profile links or usernames, one per line.
- Each profile is resolved and its post feed is paged through Threads' own cursor.
- Every post is normalised into a flat record with nested arrays for media and mentions.
- If Threads restricts traffic, the Actor escalates to stronger Apify connections automatically.
- Posts stream into the dataset as they are collected, until your per-profile cap is reached.
Quick start
- Open the Actor and paste a profile โ e.g.
https://www.threads.com/@zuckor justzuck. - Set Max posts per profile (start with 10โ50).
- Click Start and watch rows appear in the Output tab, then export as CSV, Excel or JSON.
Minimal input
{"urls": ["https://www.threads.com/@zuck"],"maxPostsPerProfile": 50}
Input configuration
| Field | Type | Default | Description |
|---|---|---|---|
urls | array | โ (required) | Threads profile links (threads.com or threads.net) or plain usernames. One per line; bulk lists supported. |
maxPostsPerProfile | integer | 10 | How many recent posts to save per profile, from 1 to 5,000. Lower is faster; higher gives deeper history. |
proxyConfiguration | object | off | Optional. Leave off โ the Actor auto-escalates to datacenter or residential when needed. Turn on only to force specific groups, a country or a session. |
Output data
One row per post.
| Field | Type | Description |
|---|---|---|
id, pk | string | Threads post identifiers. |
code | string | Post short code. |
url | string | Direct link to the post. |
caption | string | Full post text. |
caption_is_edited | boolean | Whether the caption was edited after posting. |
taken_at | string | Publication timestamp. |
username | string | Author's username. |
profile_pic_url | string | Author's profile picture. |
like_count | number | Likes. |
direct_reply_count | number | Direct replies. |
repost_count | number | Reposts. |
quote_count | number | Quote posts. |
like_and_view_counts_disabled | boolean | Whether the account hides its engagement numbers. |
medias | array | Images (type, url, width, height) and videos (type, url, video_type). |
audio | object | Audio attachment data, when present. |
mentions | array | { username, id, profile_pic_url } for each mentioned account. |
tags | array | User tags attached to the post. |
Example output
{"id": "3412345678901234567","pk": "3412345678901234567","code": "C8xYzAbCdEf","url": "https://www.threads.com/@exampleuser/post/C8xYzAbCdEf","username": "exampleuser","profile_pic_url": "https://scontent.cdninstagram.com/โฆ","caption": "Shipped the new dashboard today. Two years of work in one release ๐","caption_is_edited": false,"taken_at": "2026-08-06T14:03:22Z","like_count": 18420,"direct_reply_count": 612,"repost_count": 941,"quote_count": 184,"like_and_view_counts_disabled": false,"medias": [{"type": "image","url": "https://scontent.cdninstagram.com/โฆ","width": 1080,"height": 1350}],"mentions": [{"username": "teammate","id": "987654321","profile_pic_url": "https://scontent.cdninstagram.com/โฆ"}],"tags": []}
Illustrative values โ a live run returns current Threads data.
Usage examples
Several profiles in one run
{"urls": ["zuck", "https://www.threads.com/@mosseri", "threads"],"maxPostsPerProfile": 100}
Deep history from one account
{"urls": ["yourcompetitor"],"maxPostsPerProfile": 2000}
Weekly competitor monitoring
Save your competitor list as a Task with a modest cap, attach a weekly Schedule, and deduplicate on id to build a rolling content archive.
Find the highest-engagement posts
Export to CSV and sort by quote_count โ quotes indicate people adding their own commentary, which is a stronger signal than a plain repost.
Collect media assets
Run with a high cap, then filter medias for type: "video" or by width/height before downloading.
Run it from your own code
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run = client.actor("scraperx/threads-user-posts-scraper").call(run_input={"urls": ["zuck"],"maxPostsPerProfile": 100,})for post in client.dataset(run["defaultDatasetId"]).iterate_items():print(post["taken_at"], post["like_count"], "|", (post.get("caption") or "")[:70])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_API_TOKEN>' });const run = await client.actor('scraperx/threads-user-posts-scraper').call({urls: ['zuck'],maxPostsPerProfile: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
cURL
curl -X POST "https://api.apify.com/v2/acts/scraperx~threads-user-posts-scraper/runs?token=<YOUR_APIFY_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"urls":["zuck"],"maxPostsPerProfile":100}'
Integrations
Push posts into Google Sheets, Airtable, Slack, Make, Zapier, Google Drive or your own endpoint via webhooks, and use Schedules for continuous monitoring.
Pricing
Pay-per-event: a small Actor-start charge plus a charge per post row delivered to your dataset. You pay for posts, not run time. maxPostsPerProfile is the cost lever.
Current rates are on the Pricing tab of this Actor's page, and Apify shows an estimate before and during every run. If the run escalates to residential connections, that proxy traffic is billed separately by the platform.
Limits & good to know
- Public profiles only. Private Threads accounts are not accessible.
maxPostsPerProfileis per profile, capped at 5,000. Five profiles at 500 each can return up to 2,500 rows.- Some accounts hide their counts. When
like_and_view_counts_disabledistrue, treat zero engagement values as unavailable rather than real. - Media URLs expire. Image and video URLs point at Meta's CDN โ download assets promptly if you need the files.
- Threads limits feed depth, so very old posts may be unreachable regardless of your cap.
- Replies to other people's posts and quote content are represented by counts here; this Actor returns a profile's own posts.
- Leave proxy settings off unless you need a specific country or session โ the automatic escalation handles most cases.
- Default run options are 4 GB memory and a 1-hour timeout โ raise the timeout for deep multi-profile runs.
FAQ
Do I need a Threads or Instagram account? No. The Actor reads public profile posts without logging in.
Can I paste plain usernames?
Yes โ zuck works just as well as a full profile URL, and threads.com and threads.net links are both accepted.
Can it scrape private accounts? No. Only public profiles are accessible.
How many posts can I get? Up to 5,000 per profile, subject to how far Threads lets the feed be paged.
Do I get images and videos?
Yes โ the medias array contains image URLs with dimensions and video URLs with their type.
Why are like counts zero for some posts?
Check like_and_view_counts_disabled โ that account has hidden its engagement numbers.
Do I need a proxy? Not usually. The Actor escalates automatically when Threads restricts traffic.
Which export format should I use?
JSON โ medias, mentions and tags are nested arrays. CSV works if you only need captions and engagement counts.
Legal & responsible use
This Actor collects only publicly available Threads content โ the same posts any visitor can see without logging in. It does not log in, follow accounts, or access private data. Posts, images and videos remain the property of their authors, and usernames and profile pictures are personal data. Ensure your use complies with Threads' and Meta's terms, copyright, and GDPR or comparable regulations.
Support
Need reply threads, extra fields, or a custom Threads monitoring pipeline? Open an issue on the Issues tab of this Actor.