Threads Keyword Search API - Search & Export Threads Posts avatar

Threads Keyword Search API - Search & Export Threads Posts

Pricing

from $1.20 / 1,000 post scrapeds

Go to Apify Store
Threads Keyword Search API - Search & Export Threads Posts

Threads Keyword Search API - Search & Export Threads Posts

Search Threads by keyword or brand and export every matching post with author, likes, replies, reposts and media. No login, no 500-search weekly cap. Monitoring mode returns only new mentions.

Pricing

from $1.20 / 1,000 post scrapeds

Rating

0.0

(0)

Developer

Mayowa Ogedengbe

Mayowa Ogedengbe

Maintained by Community

Actor stats

0

Bookmarked

42

Total users

18

Monthly active users

15 days ago

Last modified

Share

Threads Keyword Search Scraper and API: Social Listening and Brand Monitoring

Search Threads (Meta) by keyword and export every matching public post as structured JSON, CSV or Excel. Built for social listening, brand monitoring, and lead research with no weekly search quota.

No login. No cookies. No weekly search quota.

New: only new mentions since the last run. Schedule your keywords, turn on monitoring mode, and each run returns and bills only posts you have not received before. A brand-mention alert for Threads. How it works

Sample output (real run, keyword "anthropic")

AuthorPostLikesRepliesReposts
@bodylikeseafoamIn case you need another reason to hate AI, OpenAI just scraped...11,3051822,049
@novaramediaAn artificial intelligence researcher has quit Anthropic, accusing...2871789
@aditijain.aiFormer OpenAI and Anthropic researcher Jacob Coxon, who publicly...1011

Every row also carries the post URL, timestamp, language, media, quoted post, and the keyword that found it.

Why choose this Threads search scraper

FeatureThis ActorOfficial Threads APITypical Store alternative
Keyword searchesUnlimitedAbout 500 per 7 daysVaries
Login or Meta tokenNoneApp review plus tokenOften none
Keyword tagged on every resultYesNoRarely
Price per 1,000 posts$1.80, no start feeFree, capped$2.50 to $20, often plus $0.02 per run

What it costs: 1,000 posts cost $1.80. Monitoring 10 brand keywords at 200 posts each is about $3.60 per run.

A Threads search API with no 500-query weekly cap

Meta's official Threads API allows roughly 500 keyword searches per rolling seven days. Social listening burns through that in an afternoon, and brand monitoring across a handful of terms burns through it faster.

This Actor reads Threads search the way a logged-out visitor does. There is no weekly cap, nothing to authenticate, and no account pool to keep alive.

What you get

For every keyword you supply, every matching public post with:

  • Full post text, language, and the canonical URL
  • Author handle, display name, verification status, and profile picture
  • Likes, replies, reposts, quotes, and reshares
  • Images, video, and carousels at the largest available resolution
  • Link previews, and quoted posts resolved inline
  • The keyword that found it in searchQuery, so one run can track many terms

Threads offers two orderings, by relevance and by recency. They return overlapping but different sets, so choose Both for the widest coverage.

Input

{
"searchQueries": ["your brand", "competitor brand", "category term"],
"searchSort": "both",
"maxPostsPerQuery": 200,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Running with no input. If you start a run without setting anything, the Actor returns a small live sample so you can see the output shape immediately. Set your own keywords for a real run.

The same run can optionally take profiles and postUrls as well, if you want profile records or reply trees alongside your keyword results.

Output

{
"type": "post",
"id": "3981852126213720917_63055343223",
"pk": "3981852126213720917",
"code": "DdCYWl7GktV",
"url": "https://www.threads.com/@zuck/post/DdCYWl7GktV",
"text": "Mostly superintelligence and MMA takes",
"language": "en",
"createdAt": "2026-09-08T14:56:24.000Z",
"likeCount": 2715,
"replyCount": 1602,
"repostCount": 231,
"quoteCount": 142,
"isQuotePost": false,
"quotedPost": null,
"mediaType": "text",
"media": [],
"author": {
"username": "zuck",
"fullName": "Mark Zuckerberg",
"isVerified": true,
"profileUrl": "https://www.threads.com/@zuck"
},
"authorUsername": "zuck",
"source": "search",
"searchQuery": "superintelligence",
"scrapedAt": "2026-09-10T04:31:00.000Z"
}

Three details that matter downstream:

  • authorUsername is the flat copy of author.username. Spreadsheet and table views cannot read nested paths, so use the flat field for CSV exports and the nested author object in code.
  • pk is a string. Threads primary keys exceed 2^53, so pipelines that read them as JSON numbers silently corrupt the last digits and break de-duplication. This Actor never emits them as numbers.
  • Missing counters stay null, never 0. You can tell "no likes" apart from "not published by Threads".

Monitoring mode: only new posts since the last run

Turn on Only new since last run (onlyNewSinceLastRun) and put the Actor on a schedule, hourly or daily. The first run returns everything it finds and remembers it. Every run after that returns only the posts it has not delivered before, so you pay only for what is new and your sheet, Slack channel or pipeline receives only fresh items.

  • Works as a brand-mention alert. Point a schedule at your brand and competitor names, then send the dataset to Slack, Google Sheets or email through an Apify integration. Each run carries only the new mentions.
  • Memory is kept per keyword, in a key-value store named threads-monitor-… in your own Apify account. Nobody else can see it.
  • Running several schedules? Give each one its own Monitor name (monitorName), one per client or campaign for example, and they keep separate memory.
  • Every run writes a SUMMARY record to its key-value store with the number of new and skipped items, which suits integrations and AI agents.
  • To start over, change the monitor name.
{
"searchQueries": ["your brand", "competitor name"],
"onlyNewSinceLastRun": true,
"monitorName": "brand-mentions"
}

Pricing

Pay per result. A run that returns nothing costs nothing. Search results are billed as posts scraped.

Limits, stated plainly

Search depth. Threads returns the first page of search results to logged-out visitors, about 25 per keyword and ordering. Running both orderings roughly doubles coverage per term. For broad coverage across many terms, this is ideal. For thousands of posts on a single term, it is not the right tool.

Proxies. Threads rate-limits single IP addresses quickly. Residential proxies are strongly recommended beyond a handful of requests.

Public data only. Private accounts and anything behind a login are out of scope by design.

This Actor reads only public Threads pages, the same ones any logged-out visitor can open. It does not log in and does not bypass an access control.

Threads posts contain personal data. If you are in the EU or UK, GDPR applies to what you collect and what you do with it, and having a lawful basis is your responsibility as the data controller.

  • Threads Scraper for posts, reply trees, profiles, and search in one Actor
  • Threads Profile Scraper for handles, follower counts, and profile posts

FAQ

Do I need a Threads or Instagram account? No. Nothing here authenticates, and there is nowhere to enter credentials.

How many keywords can I track in one run? As many as you like. Each is fetched separately, and concurrency is configurable.

Why is text empty on a few records? Those are quote posts where the author added no words of their own. The post they quoted is in quotedPost, with its text and author.

Does this work with threads.net links? Yes. Threads moved from threads.net to threads.com, and both forms are accepted, as are bare handles and bare post shortcodes. You do not need to rewrite old links.

How is this different from the official Threads API? Meta's Threads API needs an app, an access token, and it caps keyword search at roughly 500 queries per rolling seven days. This Actor needs none of that and has no weekly quota, because it reads the same public pages a logged-out visitor sees.

Can I use it from Make, Zapier, n8n, or a script? Yes. Every Apify Actor is callable over the REST API and through Apify's integrations, and results come back as JSON, CSV, or Excel.

Does it break when Meta ships an update? Less often than most. Meta changes Threads often, and many scrapers break with each change. This Actor is engineered to keep working through those changes, so your runs and integrations stay stable.

Use it as an API

Run it from your own code and get the results back in one call. Replace YOUR_TOKEN with your Apify API token.

curl -X POST "https://api.apify.com/v2/acts/headply~threads-keyword-search-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["openai"], "maxPostsPerQuery": 100}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run_input = {'searchQueries': ['openai'], 'maxPostsPerQuery': 100}
run = client.actor("headply/threads-keyword-search-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

It also works from Make, Zapier, n8n, Google Sheets, and as a tool for AI agents through the Apify MCP server.

More data tools from the same developer