Threads Scraper: Posts, Profiles & Tags avatar

Threads Scraper: Posts, Profiles & Tags

Pricing

$1.00 / 1,000 posts

Go to Apify Store
Threads Scraper: Posts, Profiles & Tags

Threads Scraper: Posts, Profiles & Tags

Scrape Meta Threads (threads.net) posts, profiles, hashtags & search. No login, no cookies. Get text, media, likes, replies & reposts. Pay only per post delivered. Works in Claude, ChatGPT & any MCP agent.

Pricing

$1.00 / 1,000 posts

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

37

Total users

20

Monthly active users

a day ago

Last modified

Share

🧡 Threads Scraper: Posts, Profiles, Hashtags & Search (No Login)

Overview

Threads Scraper turns any public Meta Threads target (threads.net) into structured JSON: post text, media URLs, likes, replies, reposts, quote counts, author info, and full timestamps. Feed it a profile handle, a search keyword, a hashtag, or a direct post URL. It works without an account, without cookies, and without a paid API. You pay only for posts actually delivered.

Meta never shipped a public Threads API, so the usual options are manual copy-paste or brittle browser hacks. This actor reads the same public data any logged-out visitor sees on threads.net, then flattens the nested response into one clean record per post.

Reliability posture: blocked, empty, or failed runs are never charged. The charge event fires only after a post record has actually been pushed to your dataset.

βœ… No login | βœ… No cookies | βœ… Pay per post delivered | βœ… First 10 posts free | βœ… MCP-ready for AI agents

Features

Four input modes in one actor: profile posts, single post detail, keyword search, and hashtag feed. Full engagement counts: likes, replies, reposts, and quote counts on every post. Media captured: image and video URLs, media type, and a has-media flag for filtering. Include or exclude replies and reposts with a single toggle, plus is_reply / is_repost flags in the output. Search or hashtag modes support both recent and top feeds, so you can watch a trend build or pull the highest-engagement posts.

How it works

The actor calls Threads' public GraphQL surface as an unauthenticated visitor. For search and hashtag modes it fans out across recency windows to exceed the single-feed cap. For profile mode it walks the user's post timeline; for post mode it fetches the post detail plus quoted or parent context. No account, no cookies, no anti-bot fragility.

For each post it flattens Threads' deeply nested response into one analysis-ready record. Reply and repost posts are filtered out by default; toggle the input to include them.

🧾 Input configuration

{
"mode": "hashtag",
"hashtag": "ai",
"maxPosts": 25,
"resultType": "top",
"includeReplies": false,
"includeReposts": false
}

πŸ“€ Output format

{
"post_id": "3937491905269768921",
"code": "DakyAavlKLZ",
"url": "https://www.threads.net/@zuck/post/DakyAavlKLZ",
"username": "zuck",
"user_full_name": "Mark Zuckerberg",
"user_pic_url": "https://scontent-iad6-1.cdninstagram.com/v/t51.82787-19/550174606_17925811725103224_8363667901743352243_n.jpg...",
"user_verified": true,
"text": "Today we're releasing Muse Spark 1.1 -- a strong agentic and coding model at a very low price. It's available through our new Meta Model API and in Meta AI.",
"posted_at": "2026-07-09T14:00:34.000Z",
"posted_at_human": "Thu, 09 Jul 2026 14:00:34 GMT",
"like_count": 2766,
"reply_count": 617,
"repost_count": 189,
"quote_count": 62,
"has_media": false,
"media_urls": [],
"media_type": "text",
"is_reply": false,
"is_repost": false,
"hashtags": [],
"mentions": [],
"urls": [],
"scraped_at": "2026-07-15T04:18:09.233Z"
}

This record was captured live from a real public Threads post by @zuck on 2026-07-15.

Every post record contains these fields:

FieldDescription
πŸ†” post_idNumeric Threads post ID
πŸ”‘ codePost shortcode used in the URL
🌐 urlCanonical threads.net post URL
πŸ‘€ usernameAuthor username without the @
🏷️ user_full_nameAuthor display name
βœ… user_verifiedTrue if the author is verified
πŸ“· user_pic_urlAuthor profile picture URL
πŸ“ textFull post text
πŸ•’ posted_atISO timestamp of publication
πŸ•“ posted_at_humanHuman-readable publication timestamp
❀️ like_countNumber of likes
πŸ’¬ reply_countNumber of replies
πŸ” repost_countNumber of reposts
πŸ—¨οΈ quote_countNumber of quote posts
πŸ–ΌοΈ media_typeimage, video, carousel, or null
πŸ“Ž has_mediaTrue when media is attached
🎞️ media_urls[]Array of media file URLs
#️⃣ hashtags[]Hashtags extracted from the text
@ mentions[]Mentions extracted from the text
πŸ”— urls[]Plain URLs extracted from the text
↩️ is_replyTrue if this post is a reply
πŸ”‚ is_repostTrue if this post is a repost
🧡 parent_post_idParent post ID for replies
🧬 original_post_idOriginal post ID for reposts
πŸ•“ scraped_atISO timestamp of when the record was captured

πŸ’Ό Common use cases

Brand and topic monitoring Search Threads for your brand name or a keyword and capture every public post that mentions it. Flag spikes in conversation volume before they turn into a PR moment.

Trend and hashtag tracking Pull the recent or top feed for any tag to see what is gaining traction. Compare hashtag velocity across days to spot early breakouts.

Competitor and creator watch Snapshot a rival account's latest posts with full engagement metrics. Build a rolling dataset of which formats and hooks perform best on Threads.

AI training and sentiment analysis Assemble structured Threads corpora for LLM fine-tuning or sentiment scoring. Feed live posts into a Claude, ChatGPT, or MCP agent for summarization and classification.

πŸš€ Getting started

  1. Open the actor and pick a Mode: Profile posts, Post detail, Search query, or Hashtag feed.
  2. Fill in the matching field: usernames, post URLs, search text, or hashtag (without the #).
  3. Set Max posts to cap the run size, and optionally toggle Include replies or Include reposts.
  4. For search and hashtag modes, pick Result type: Recent or Top.
  5. Click Save & Start, then download as JSON, CSV, or Excel, or pull via API or MCP.

FAQ

Does Threads have an official API? No. Meta has not released a public Threads API, which is why this scraper exists. It reads only the public data a logged-out visitor sees on threads.net.

How am I charged? Pay per post. You are billed only for posts actually delivered. Runs that return zero posts are never charged, and the first 10 posts are free for life on every Apify account.

Can I include replies and reposts? Yes. Both are excluded by default. Toggle Include replies and Include reposts to add them, then use the is_reply and is_repost flags to sort or filter downstream.

Which input modes are supported? Four: profile (a user's posts), post (one or more post URLs with detail), search (posts matching a keyword), and hashtag (a tag's recent or top feed).

Is it legal to scrape Threads? The actor collects only publicly available posts and never accesses private accounts. Public data can still include personal data under laws like the GDPR, so scrape only what you have a legitimate reason to use.

Use in Claude, ChatGPT & any MCP agent

https://mcp.apify.com/?tools=themineworks/threads-scraper

Or call it programmatically with the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('themineworks/threads-scraper').call({
mode: 'hashtag',
hashtag: 'ai',
maxPosts: 25,
resultType: 'top',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

πŸ› οΈ Complete your social listening pipeline

Threads is one channel. Add the others in the same suite:

Typical flow: search Threads for a brand or keyword, cross-check the same handle on Instagram and X, then pull Reddit for longer-form conversation.

Found a bug or have a feature request? Open an issue on the actor's Apify Console page or reach out through the Apify profile.