Threads Scraper - Threads Posts, Search & Hashtags avatar

Threads Scraper - Threads Posts, Search & Hashtags

Pricing

from $2.13 / 1,000 post delivereds

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

Threads Scraper - Threads Posts, Search & Hashtags

Scrape Threads posts without login: every public post of a profile, keyword and #hashtag search (top or recent), or posts by link. Text, date, likes, replies, reposts, quotes, images and videos. Only new posts on schedules.

Pricing

from $2.13 / 1,000 post delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

Threads Scraper: Meta Threads Posts, Search and Hashtags

This Threads scraper collects Threads posts from Meta Threads (threads.com, formerly threads.net) without login. Get every public post of a profile, search any keyword or #hashtag (top or recent), or open posts by link.

Each post is one row with text, date, likes, replies, reposts, quotes, images and videos. Try ai agents as a search term, and export to JSON, CSV or Excel. Schedule it to get only new posts for brand and trend monitoring.

At a glance

Your Apify planPrice per 1,000 posts
FreeUS$ 2.50
BronzeUS$ 2.38
SilverUS$ 2.25
Gold and aboveUS$ 2.13
  • 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/@nasa/post/DeaX_rOGaz-", "https://www.threads.net/@nasa/post/DekCdIIEZCG"] }

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

{ "usernames": ["nasa"], "excludeReplies": false, "maxItems": 100 }
FieldWhat it does
usernamesUsernames or profile links (nasa, @natgeo, https://www.threads.com/@meta). Also profiles, profileUrls
searchQueriesKeywords or #hashtags. Also keywords, queries
searchSorttop (default) or recent
exactMatchKeep only posts that contain every word of the keyword (default on). Off returns everything Threads shows
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 nasa, collected on 2026-10-21 (image link shortened):

{
"type": "post",
"id": "4006620349303729406",
"code": "DeaX_rOGaz-",
"url": "https://www.threads.com/@nasa/post/DeaX_rOGaz-",
"text": "Space news, hot off the trail: NASA’s Perseverance Mars rover has driven farther than any vehicle ever has on the surface of another world! \n\nOn Oct. 11, the rover’s odometer reached 28.10 miles (45.22 kilometers), eclipsing the record of 28.06 miles (45.16 kilometers) set by NASA’s Opportunity rover, which explored Mars from 2004 to 2018.",
"publishedAt": "2026-10-12T23:06:27Z",
"likeCount": 2323,
"replyCount": 59,
"repostCount": 106,
"quoteCount": 13,
"isReply": false,
"isRepost": false,
"imageUrls": ["https://scontent-lga3-3.cdninstagram.com/v/t51.82787-15/...jpg"],
"videoUrls": [],
"mediaType": 1,
"hashtags": [],
"mentions": [],
"links": [],
"authorUsername": "nasa",
"authorName": "NASA",
"authorIsVerified": true,
"authorUrl": "https://www.threads.com/@nasa",
"source": "profile:nasa",
"scrapedAt": "2026-10-21T20:05:50Z",
"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
isReplyThe post is a reply
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, 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$ 1.25 on the Free plan and US$ 1.06 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

  • 2 Nov 2026: lower price: US$ 2.50 per 1,000 posts on Free, down to US$ 2.13 on Gold and above.
  • 23 Oct 2026: output fields updated.
  • 22 Oct 2026: keyword search keeps only posts that contain the keyword (exactMatch, on by default) and no longer returns empty rows.
  • 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.