Threads Scraper – Posts, Profiles, Replies & Search
Pricing
from $1.00 / 1,000 results
Threads Scraper – Posts, Profiles, Replies & Search
Scrape public Threads posts, profiles, replies and keyword searches without login. Export text, engagement, followers and media to JSON/CSV. Profile pagination where available.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
ninhothedev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape Meta Threads (threads.com / threads.net) without login, cookies or API key. Get public profile posts with pagination where Threads makes continuation data available, profile info with follower count, bio, verified badge and bio links, replies of any post, and keyword / hashtag search results. Every post comes with likes, replies, reposts, quotes, images, videos, links, hashtags, mentions, quoted post and author details. Fast HTTP-only scraper (no browser) – $1 per 1,000 results plus the small Actor-start event described below.
What data can you extract?
| Field | Example | Notes |
|---|---|---|
type | post | post, reply or profile |
id / code / url | 4006434140014576097 / DeZtp-TkQHh | stable post ID + shortcode + permalink |
text | Introducing Muse Wonder, … | full post text |
created_at | 2026-10-12T16:56:29Z | ISO 8601, UTC |
like_count, reply_count, repost_count, quote_count, reshare_count | 1967, 333, 154, 58, 137 | engagement metrics |
media_type, images, videos | carousel, […], […] | full-resolution media URLs (all carousel items) |
author_username, author_full_name, author_id | zuck, Mark Zuckerberg | |
author_verified, author_followers | true, 5749180 | followers for every author (also in search & replies) |
is_reply, reply_to_username, parent_post_id | true, zuck, 4006… | reply / thread structure |
quoted_post, quoted_post_url, is_repost, reposted_post_url | {…} | quoted post with text, author, likes |
links, hashtags, mentions, link_preview_title | ["https://research.meta.ai/…"] | extracted entities, topic tags |
biography, bio_links, follower_count | profile rows only | |
source, source_type, scraped_at | @zuck, profile | where the row came from |
The output schema is identical for all modes (profiles, posts, search), so you can merge datasets without mapping.
How to use
- Add profiles (
zuck,@mosseri,https://www.threads.net/@nasa), post URLs and/or search queries (web scraping,#ai). - Set Max posts per profile / search, optional date (
onlyPostsNewerThan:7 days,2026-01-01) andminLikesfilters. - Click Start and download results as JSON, CSV, Excel or via API.
{"profiles": ["zuck", "https://www.threads.com/@mosseri"],"postUrls": ["https://www.threads.com/@zuck/post/DeZtp-TkQHh"],"searchQueries": ["web scraping", "#ai"],"maxPostsPerSource": 50,"maxRepliesPerPost": 100,"onlyPostsNewerThan": "30 days"}
Output example
Post (real output, media URLs shortened):
{"type": "post","id": "4006434140014576097","code": "DeZtp-TkQHh","url": "https://www.threads.com/@zuck/post/DeZtp-TkQHh","text": "Introducing Muse Wonder, our new family of frontier models with state of the art performance for personal and professional agentic work.","created_at": "2026-10-12T16:56:29Z","like_count": 1967,"reply_count": 333,"repost_count": 154,"quote_count": 58,"reshare_count": 137,"media_type": "image","images": ["https://scontent-iad6-1.cdninstagram.com/v/t51.82787-15/844965867_17991705567103224_8296143909108287920_n.webp?…"],"videos": [],"author_username": "zuck","author_full_name": "Mark Zuckerberg","author_id": "63055343223","author_verified": true,"author_followers": 5749184,"author_profile_pic_url": "https://scontent-iad6-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?…","is_reply": false,"reply_to_username": null,"parent_post_id": null,"quoted_post": null,"quoted_post_url": null,"is_repost": false,"reposted_post_url": null,"links": [],"hashtags": [],"mentions": [],"link_preview_title": null,"is_paid_partnership": false,"biography": null,"bio_links": null,"follower_count": null,"source": "@zuck","source_type": "profile","scraped_at": "2026-10-15T21:27:29Z"}
Profile row:
{"type": "profile","id": "63055343223","url": "https://www.threads.com/@zuck","author_username": "zuck","author_full_name": "Mark Zuckerberg","author_verified": true,"follower_count": 5749184,"biography": "Mostly superintelligence and MMA takes","bio_links": []}
Pricing
Pay per result: $1.00 per 1,000 results (posts, replies or profile rows), plus an Actor-start event of $0.00005 per GB of memory, minimum one event. For example, 20 posts plus one profile row cost $0.021 in result charges, plus the start event. There is no monthly Actor rental. The live Pricing tab is authoritative. Use Max total results to limit output and set a maximum charge in Apify Console.
Use cases
- Brand & competitor monitoring – track what brands, founders and competitors post and how it performs.
- Influencer research – find creators by keyword/hashtag, compare follower counts and engagement.
- Social listening & sentiment – collect replies to a post or campaign for analysis.
- Lead generation – collect bio links and profiles of people discussing your niche.
- Content research – find top-performing posts and formats in your industry.
- Academic & market research – export public conversations into datasets.
Integrations
Use the results anywhere: Apify API, Make, Zapier, n8n, Google Sheets, Slack, webhooks, or schedule runs to monitor accounts daily.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("ninhothedev/threads-scraper").call(run_input={"profiles": ["zuck"], "maxPostsPerSource": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():if item.get("type") != "profile":print(item.get("created_at"), item.get("like_count"), (item.get("text") or "")[:80])
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('ninhothedev/threads-scraper').call({ searchQueries: ['#ai'] });const { items } = await client.dataset(run.defaultDatasetId).listItems();
FAQ
Do I need a Threads/Instagram account? No. Only public data visible to logged-out visitors is collected – no cookies, no login, no risk to your account.
Is scraping Threads legal? The scraper only collects publicly available data. Personal data is protected by laws such as GDPR – only scrape it for a legitimate purpose and consult a lawyer if unsure.
How many posts can I get per profile? The scraper paginates through the profile's timeline, so you can go well beyond the ~15 posts shown on the public web page. Complete history is not guaranteed. Private accounts may expose only public profile metadata; private posts are not collected.
Search limits? Threads shows logged-out visitors the top ~20 posts per keyword or hashtag. Use several specific keywords/hashtags for more coverage. Replies are paginated while the source supplies continuation data.
Do I need a proxy? No. The scraper connects directly and automatically falls back to Apify Proxy if Threads ever blocks a request. Partial results are always saved and every run writes a RUN_SUMMARY record.
Are media URLs permanent? Threads CDN links are signed and expire after some days – download media you need soon after the run.
Scheduling? Yes – use Apify Schedules to monitor profiles or keywords daily and send new posts to Sheets/Slack/webhooks.
Support? Open an issue on the Issues tab – include your run ID and a minimal input so the issue can be reproduced.
Related scrapers by ninhothedev
- Telegram Scraper – public channel posts, views & reactions
- Pinterest Scraper – pins, boards & profiles
- YouTube Channel Scraper – channel videos & stats