Threads Profile Posts Scraper
Pricing
from $2.00 / 1,000 results
Threads Profile Posts Scraper
Scrape all posts of Threads profiles back to a date, with likes, shares, replies, reposts, quotes, view counts, post type and media URLs. Uses an authenticated threads.com session.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Mark Pandit
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Collect public posts from one or more Threads profiles, including engagement metrics, media links, post type, timestamps, and view counts when available.
Results are saved continuously while the Actor runs, so you can begin reviewing or exporting data before every profile finishes.
What you get
For each post, the Actor can return:
- Post text, URL, ID, code, and publication time
- Post type: video, photo, carousel, text, reply, quote, or repost
- Likes, replies, reposts, quotes, and shares
- Public view or play count when Threads exposes it
- A combined engagement total
- Author name, username, and verification status
- Media URLs and audio availability
- A date-range flag for filtering results
Every dataset row is a post. Profile progress and completion summaries appear only in the run log.
Quick start
- Open the Actor input form.
- Enter one Threads profile per line.
- Choose the earliest date to scrape.
- Set the per-profile and total run limits.
- Click Start.
- Open the Output tab to watch records arrive.
Example profile input:
https://www.threads.com/@example_account@example_second_account
Full profile URLs, @handles, and bare usernames are accepted.
Input
| Field | Description | Default |
|---|---|---|
| Profiles | One Threads profile URL or username per line | One sample profile |
| Scrape till date | Earliest date to include, in YYYY-MM-DD format | 2026-09-10 |
| Max posts per profile | Maximum records collected from one profile | 100 |
| Max posts for the entire run | Maximum post records collected across all profiles | 3000 |
Date behavior
The Actor starts with the newest posts and works backward. It stops after reaching posts older than Scrape till date.
Because Threads returns posts in pages, the last page can contain a small number of older records. Use in_date_range = true to select only posts published on or after the requested date.
Limits
Both limits apply:
- Max posts per profile prevents one profile from using the entire run allowance.
- Max posts for the entire run stops collection after the combined post count reaches the requested total. Remaining profiles are skipped.
Output
The default dataset contains only post records.
Important fields include:
| Field | Meaning |
|---|---|
username | Requested profile username |
post_url | Public Threads post URL |
taken_at_utc | Publication time in UTC |
text | Post text or caption |
post_type | Normalized post type |
view_count | Public view or play count, when available |
view_count_status | available or unavailable |
like_count | Likes |
reply_count | Direct replies |
repost_count | Reposts |
quote_count | Quote posts |
share_count | Shares |
engagement_total | Likes + replies + reposts + quotes + shares |
media_urls | Media URLs, separated by ` |
in_date_range | Whether the post is on or after the requested date |
View-count availability
Threads does not publish view counts for every post. When no public count is available:
view_countis emptyview_count_statusisunavailable
This does not mean the post has zero views.
Export and integration
Use the Output tab to:
- Download JSON, CSV, Excel, XML, or RSS
- Filter and select dataset fields
- Access results through the Apify API
- Connect the dataset to automation tools and cloud storage
Results are streamed page by page instead of waiting for an entire profile to finish.
Responsible use
This Actor collects publicly visible Threads profile and post data. Use the results in accordance with applicable laws, privacy requirements, and the platform's terms. Avoid collecting or using personal data without a lawful purpose.
Notes
- Deleted, private, restricted, or unavailable content may not be returned.
- Counts can change between requests because engagement continues after collection.
- Media URLs may expire and should be downloaded promptly if long-term storage is required.
- Platform changes or temporary rate limits can affect availability.