Threads Posts Scraper avatar

Threads Posts Scraper

Pricing

from $3.50 / 1,000 posts

Go to Apify Store
Threads Posts Scraper

Threads Posts Scraper

The Threads Posts Scraper extracts posts, replies, profiles and keyword search results from Threads — text, likes, reply/repost/quote counts, media, link previews, authors and timestamps —no login needed. Ideal for brand monitoring, sentiment and creator research.

Pricing

from $3.50 / 1,000 posts

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

39

Total users

14

Monthly active users

9 hours ago

Last modified

Share

The Threads Posts Scraper exports Meta Threads posts, replies, profiles and keyword search results as clean JSON, CSV or Excel, with no login and no API key. Each post comes with its text, likes, reply, repost and quote counts, images and videos, link previews, author and timestamp. Use it as a practical Threads API alternative for brand monitoring, creator research and Threads engagement analysis.

🎯 Threads Scraper Use Cases

  • Threads search monitoring: track what people post about your brand, product or topic, and run the same keywords every day to catch new mentions.
  • Download Threads posts in bulk: export a profile's full post history with media URLs to a spreadsheet or your own database.
  • Threads engagement analysis: compare likes, replies, reposts and quotes across posts, competitors or creators.
  • Creator and influencer research: check a profile's Threads followers, bio, bio links and verification before you reach out.
  • Social listening and sentiment: collect replies and search results as text for sentiment or topic analysis.
  • Read Threads without an account: get the public posts of any profile as data, without signing in to Instagram or Threads.

✨ Features

  • Profile posts: every post of a public profile, newest first, all the way back to the account's first post. Each profile also returns one profile row with bio, bio links, follower count and verification.
  • Replies: tick Include replies to also collect what the profile replies to other people, each with the post it answers.
  • Keyword search: the top posts Threads shows for any keyword, combining the top and most recent result sets.
  • Single posts: add Post URLs to get a post with its view count and its top replies.
  • Engagement counts: likes, replies, reposts, quotes and reshares as numbers.
  • Media: direct image and video URLs, carousels included.
  • Context: link previews, quoted and reposted posts, plus pinned, edited and paid-partnership flags.
  • Incremental runs: a Posted after date so scheduled runs only fetch what is new.
  • Fast and light: 50 posts from one profile usually take 10 to 30 seconds.
  • Fair billing: a post is charged once per target, even when a target is retried, and the run stops cleanly at your max charge.

🛠️ How It Works

  1. Add usernames: handles (zuck, @nba) or profile URLs. Tick Include replies for the Replies tab too. Add Search queries for keyword search and Post URLs for single posts.
  2. Set limits: Max posts per profile, query or post URL and, for scheduled runs, Posted after.
  3. Run the scraper and download the dataset as JSON, CSV or Excel, or fetch it through the Apify API.

⚙️ Input

FieldWhat it does
UsernamesThreads handles (zuck, @nba) or profile URLs (https://www.threads.com/@zuck), one per line.
Include repliesAlso collect each profile's replies to other people, up to Max posts. Default off.
Search queriesKeywords to search on Threads, one per line.
Post URLsThreads post URLs (https://www.threads.com/@user/post/…) for a post and its top replies.
Max postsMaximum posts per profile, search query or post URL. Default 50.
Posted afterSkip posts older than this date (YYYY-MM-DD).
{
"usernames": ["nike", "@nba"],
"includeReplies": true,
"searchQueries": ["social media marketing"],
"maxPosts": 100,
"postedAfter": "2026-10-01"
}

With Include replies on, a profile returns up to Max posts posts plus up to Max posts replies.

💰 Threads Scraper Pricing

Pay only for what you extract. No monthly rental.

EventPriceWhat you get
Post$0.0035 per post ($3.50 per 1,000)One post: profile post, reply or search result, with all fields below
Profile$0.005 per profileOne profile row: bio, links, followers, verification
Actor start$0.00005 per runCharged once when the run starts (one event per GB of memory).

Examples:

  • 1,000 posts = $3.50.
  • 20 profiles at 50 posts each = 20 × $0.005 + 1,000 × $0.0035 = $3.60 per run.
  • 10 keywords at 30 posts each, once a day = 300 posts = $1.05 per day.

📊 Sample Output Data

A post from the NBA profile:

{
"type": "post",
"id": "4007130374095024395",
"code": "DecL9g0nLEL",
"url": "https://www.threads.com/@nba/post/DecL9g0nLEL",
"text": "ALL 30 TEAM COURTS FOR @emirates NBA CUP 2026",
"createdAt": "2026-10-13T16:01:38.000Z",
"author": {
"id": "63098420488",
"username": "nba",
"fullName": "NBA",
"isVerified": false,
"profilePic": "https://scontent-lax3-1.cdninstagram.com/v/t51.82787-19/607616234_….jpg"
},
"likes": 103,
"replies": 3,
"reposts": 12,
"quotes": 4,
"reshares": 2,
"views": null,
"isReply": false,
"replyTo": null,
"images": [],
"videos": ["https://scontent-lax3-2.cdninstagram.com/o1/v/t16/f2/m84/AQPywUcbI7TZ….mp4"],
"linkPreview": null,
"quotedPost": null,
"repostedPost": null,
"isEdited": false,
"isPaidPartnership": false,
"isPinned": true,
"scrapedAt": "2026-10-20T16:23:44.060Z",
"source": "https://www.threads.com/@nba"
}

A profile row from the same run:

{
"type": "profile",
"id": "63454848350",
"username": "nike",
"url": "https://www.threads.com/@nike",
"fullName": "Nike",
"bio": "Just Do It.",
"bioLinks": ["https://empli.fi/nike/"],
"followers": 15059395,
"isVerified": true,
"isPrivate": false,
"profilePic": "https://scontent-lax3-1.cdninstagram.com/v/t51.2885-19/467733497_….jpg",
"scrapedAt": "2026-10-20T16:23:44.536Z",
"source": "https://www.threads.com/@nike"
}

type tells post rows from profile rows. source is the profile, search or post URL the row came from, so multi-target runs are easy to split. isPinned marks the post pinned to the top of the profile, which is why it can appear before newer posts. When an author writes a multi-part thread, the follow-up parts come with isReply: true and replyTo pointing to the previous part. Replies from the Replies tab and from a post URL have replyTo with the answered post's code, url, username and text; linkPreview holds the url (the real destination, not the Threads redirect), title and image of a shared link.

🔁 Schedule and Integrate

For brand and keyword monitoring, run it once a day with the same input and Posted after set to yesterday's date. For competitor or creator tracking, a daily or weekly run per profile list is enough, and each run is a dated snapshot of likes, replies and followers. Set it up in Apify Schedules, then send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:

{ "searchQueries": ["your brand name"], "maxPosts": 20 }

❓ Threads API and Scraper FAQ

Does Threads have an official API? Yes. Meta's Threads API lets developers publish posts, read and manage replies, and get insights for Threads accounts that authorize their app. It needs a Meta developer app and OAuth sign-in by each account, and reading other people's profiles or searching public posts needs extra permissions through Meta's app review, with rate limits. This Actor needs no app, key or approval: it returns the public posts, replies, profiles and search results any visitor can see, for any public account.

Do I need a Threads or Instagram account? No. The scraper works without login and sees what a logged-out visitor sees.

How many results does Threads search return? Threads shows only its top ~20 to 30 posts per keyword to visitors without an account, and the scraper returns exactly that. Use several related keywords, or schedule a daily run, to cover more. Profile posts and replies have no such cap: set Max posts high to get an account's full history. For very large histories, raise the run timeout in the run options.

Why is a field empty? views is only shown on a post's own page, so it is filled for the posts you add as Post URLs and null for profile, search and reply rows. linkPreview, quotedPost and repostedPost are null when the post has none. Private profiles return the profile row only. A deleted or invalid post URL returns no rows and is not charged; the run's final status says how many post URLs could not be read.

How do I download Threads posts and videos? Add the profile, run the scraper and export the dataset. Each post's images and videos hold direct media URLs. They are served by Threads' CDN and expire after a few days, so download the files you need soon after the run.

How do I track Threads followers over time? Schedule a daily run with the profiles you follow. Each run saves a profile row with followers, so the runs together give you a follower history.