Threads Scraper - Profile Posts, Search & Hashtags, No Login avatar

Threads Scraper - Profile Posts, Search & Hashtags, No Login

Pricing

from $4.25 / 1,000 post delivereds

Go to Apify Store
Threads Scraper - Profile Posts, Search & Hashtags, No Login

Threads Scraper - Profile Posts, Search & Hashtags, No Login

Scrape Meta Threads (threads.com, threads.net) without login: every public post of a profile, keyword and #hashtag search (top or recent), posts by link. Text, date, likes, replies, reposts, quotes, images, videos, mentions and author. Only new posts on schedules. US$ 5 per 1,000.

Pricing

from $4.25 / 1,000 post delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

10 hours ago

Last modified

Categories

Share

Threads Scraper

Scrape Meta Threads (threads.com, formerly threads.net) without login or cookies. Get every public post of a profile, page after page, search any keyword or #hashtag (top or recent), or open posts by link. Each post comes as one row with its text, date, likes, replies, reposts, quotes, images, videos, hashtags, mentions, links and the author's username, name and verified badge. Export as JSON, CSV or Excel, or read it from the Apify API.

At a glance

Your Apify planPrice per 1,000 posts
FreeUS$ 5.00
BronzeUS$ 4.75
SilverUS$ 4.50
Gold and aboveUS$ 4.25
  • No monthly fee, no start fee. Error rows and duplicates are free, and there is no Apify compute bill on top.
  • Profiles: all public posts, newest first, paged (not only the first 10 or 20). Replies to other people are left out by default and can be turned on.
  • Search: keywords and #hashtags, top or recent, and every row keeps the keyword that found it.
  • Post links: any threads.com/@user/post/CODE (threads.net links work too).
  • Engagement as numbers: likes, replies, reposts and quotes on every post.
  • 30 fields per row, listed in the field reference.
  • onlyNew for schedules: a daily run delivers, and charges, only the posts published since the last run.

What you can do with it

  • Brand and competitor monitoring: every post of the accounts you follow, on a schedule, with engagement.
  • Trend and topic research: the newest posts for a keyword or hashtag with searchSort: recent.
  • Influencer analysis: posting frequency, media mix and engagement per post for any public profile.
  • Content research: which formats (text, image, video, carousel) get the most replies and reposts.
  • Datasets for AI and social listening: clean text with hashtags, mentions and links, ready for sentiment analysis or an LLM prompt.

Input

Two profiles, one hashtag sorted by recent, up to 200 posts each:

{ "usernames": ["nasa", "meta"], "searchQueries": ["#worldcup"], "searchSort": "recent", "maxItems": 200 }

Two specific posts by link:

{ "postUrls": ["https://www.threads.com/@zuck/post/Dd1MqfcG0aH", "https://www.threads.net/@zuck/post/DeZtp-TkQHh"] }

A profile's own posts plus its replies under other people's posts:

{ "usernames": ["zuck"], "excludeReplies": false, "maxItems": 100 }
FieldWhat it does
usernamesUsernames or profile links (zuck, @nasa, https://www.threads.com/@meta). Also profiles, profileUrls
searchQueriesKeywords or #hashtags. Also keywords, queries
searchSorttop (default) or recent
postUrlsPost links. Also urls, startUrls
maxItemsMax posts per profile or keyword (default 50). Also maxPostsPerSource
excludeRepliesKeep only the profile's own posts (default on)
onlyNewOnly posts not delivered in earlier runs (default off), for schedules
proxyConfigurationApify datacenter proxy by default, which Threads accepts

An empty input runs an example profile, so you can see the output first.

Output

One real row, profile zuck, collected on 2026-10-15 (image link 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.",
"publishedAt": "2026-10-12T16:56:29Z",
"likeCount": 1966,
"replyCount": 329,
"repostCount": 154,
"quoteCount": 56,
"isReply": false,
"replyToUsername": null,
"isRepost": false,
"imageUrls": ["https://scontent-xxc1-1.cdninstagram.com/v/t51.82787-15/...webp"],
"videoUrls": [],
"mediaType": 1,
"hashtags": [],
"mentions": [],
"links": [],
"authorUsername": "zuck",
"authorName": "Mark Zuckerberg",
"authorIsVerified": true,
"authorUrl": "https://www.threads.com/@zuck",
"source": "profile:zuck",
"scrapedAt": "2026-10-15T18:17:32Z",
"errorCode": null
}

In a sample of 242 posts from our last 27 runs, 64% were text only, 14% images, 13% carousels and 9% videos; 26% had a link and 10% mentioned another account.

Field reference

FieldWhat it is
typepost, or error for a free error row
id, code, urlThreads post id, short code and link
textFull text of the post
publishedAtPublication date and time, ISO 8601 in UTC
likeCount, replyCount, repostCount, quoteCountEngagement numbers
isReply, replyToUsernameThe post is a reply, and to whom
isRepostThe post is a repost of another post
quotedPostCodeCode of the quoted post, when Threads sends it
imageUrlsUp to 10 image links (every image of a carousel)
videoUrlsUp to 5 video links
mediaTypeThreads media code: 19 text only, 1 image, 2 video, 8 carousel
hashtagsHashtags in the text, without #
mentionsUsernames mentioned in the text
linksLinks in the text
languageLanguage code, when Threads sends it (usually empty for logged-out pages)
authorUsername, authorName, authorUrlWho posted it
authorIsVerifiedVerified badge
authorFollowersFollower count, when Threads sends it (usually empty for logged-out pages)
sourceWhat produced the row: profile:<user>, search:<keyword> or the post link
scrapedAtWhen the row was collected
error, errorCodeEmpty on a post; filled on a free error row

Error rows (never charged)

errorCodeMeaning
PROFILE_NOT_FOUNDNo public profile with this username
POST_NOT_FOUNDThe post was deleted or is not public
INVALID_URLNot a Threads post link
NO_RESULTSNothing public for this input
BLOCKEDThreads did not answer after retries; run again
NOT_REACHEDThe run timeout arrived before this input
UNEXPECTEDSomething unforeseen broke; only that input is lost

Schedule it daily: only new posts

Turn on onlyNew, save the input as a Task and attach a Schedule. The Actor remembers which posts of each profile and keyword it already delivered, in a Key-Value Store named threads-scraper-only-new in your own Apify account, so every run delivers, and charges, only the posts published since the last one. Profiles stop paging at the first post you already have, so a quiet day is one request and costs nothing for results; the run ends green with the status "No new posts since the last run". Delete the store to start over.

{ "usernames": ["nasa"], "searchQueries": ["#worldcup"], "searchSort": "recent", "maxItems": 50, "onlyNew": true }

Integrations, scheduling and AI agents

  • Schedule the input as a Task in Apify schedules, with onlyNew on, and each run bills only new posts.
  • Export as JSON, CSV, Excel, XML or HTML, or read the dataset from the Apify API.
  • Connect it to Make, n8n, Zapier, Google Sheets, Slack or a webhook through Apify integrations, so new posts land where your team reads them.
  • AI agents: the Actor works as a tool through the Apify MCP server in Claude, ChatGPT, Cursor and other MCP clients, for example "get the last 50 posts of these three brands on Threads and compare their engagement".
  • API call: scrapewise/threads-scraper with the Apify API or the Python and JavaScript clients.

FAQ

Do I need a Threads or Instagram account? No. The Actor reads public pages logged out, with no cookies.

How many posts can I get from a profile? All public posts, newest first, up to maxItems per profile. Raise maxItems for a full history.

How many posts does a keyword search return? What Threads shows logged-out visitors, about 25 to 35 posts per keyword. Use several keywords, or schedule a recent search often with onlyNew and the dataset grows every run.

How much does it cost? 500 posts of a profile cost US$ 2.50 on the Free plan and US$ 2.13 on Gold. Error rows and duplicates are free.

Can I download the images and videos? Yes, from imageUrls and videoUrls. The links are signed by Meta and expire, so download them within a few hours.

Limitations

  • Search returns what Threads shows logged-out visitors, about 25 to 35 posts per keyword.
  • Follower counts and language are filled only when Threads sends them on public pages, which is rare.
  • Media links are signed by Meta; download files within a few hours.
  • This Actor reads public posts only. Independent tool, not affiliated with Meta.

Changelog

  • 16 Oct 2026: price per plan (US$ 5.00 Free down to US$ 4.25 Gold and above), field reference with the media codes, more input examples and an integrations section on this page.
  • 2026-10-04: onlyNew option for scheduled runs: posts delivered in earlier runs are skipped, not charged and not counted in maxItems.
  • 2026-09-30, 0.1: first release. Profile posts with pagination, keyword and hashtag search (top or recent), post links, free error rows.