Sourced from Meta's own documentation. August 2026.
There is a lot of confidently wrong writing about this. Several widely-shared guides state that the official Threads API "has no search functionality" — that is not true, and building a decision on it will send you down the wrong path. Meta ships a Keyword Search endpoint. What it needs, and what it still will not give you, is the actual question.
Every claim below traces to developers.facebook.com/docs/threads. Where we scraped a number ourselves, it says so.
| What you need | Official API | Public pages |
|---|---|---|
| Publish or schedule your own posts | Yes — use it | No |
| Analytics on your own posts | Yes — use it | No |
| Manage replies to your own posts | Yes — use it | Partially |
| Keyword search across public posts | Yes, with an approved permission | Yes, no approval |
| Replies under someone else's post | No | Yes (~20) |
| Posts on an arbitrary user's profile | No | Yes (16–22) |
| Find creators by topic | No | Yes |
If your job is on the first three rows, stop reading and use the official API. It is built for exactly that, it is supported, and no scraper should be anywhere near your own account's publishing pipeline.
The documentation is explicit that visibility of posts is limited to the person who created them. The publishing, insights, reply-management and delete endpoints all operate on the authenticated user's own content. There is no endpoint that hands you an arbitrary user's profile feed.
The Keyword Search endpoint searches public Threads media by keyword or hashtag, and lets you interact with the results (reply, quote, repost). Its reach depends on one permission:
| Permission state | What you can search |
|---|---|
threads_keyword_search not approved | Only the authenticated user's own posts |
threads_keyword_search approved | All public posts |
threads_basic is required for every Threads API endpoint, and
threads_keyword_search is required on top of it for this one.
| Limit | Value |
|---|---|
| Queries | 2,200 per rolling 24 hours, per user |
| Repeat queries | Re-querying the same keyword still counts against the quota |
| Zero-result queries | Do not count against the quota |
| Results per query | 25 by default, 100 maximum |
| Earliest timestamp | 1688540400 — Threads' launch, 2023-07-05 |
100 results per query is more than logged-out scraping gets you — we measure about 50 unique posts per keyword after merging all five public search surfaces. If you can get the permission approved, the official endpoint is the better instrument for keyword search, and we will not pretend otherwise.
| Action | Per 24 hours |
|---|---|
| Posts published via API | 250 (a carousel counts as one) |
| Replies | 1,000 |
| Deletes | 100 |
| Location searches | 500 |
General API call volume is derived from impressions — 4800 × impressions,
with impressions floored at 10. A new account with no reach therefore gets a small budget, which is
worth knowing before you design around it.
Content specs, for completeness: 500 characters of text, video up to 5 minutes, images up to 8 MB, carousels of 2–20 items.
These are the cases where reading public pages is the only route — and where we built our tooling. Not because scraping is better, but because for these questions the official API is not in the running.
It is not free of limits either, and the limits are Meta's:
| Surface | Ceiling without an account |
|---|---|
| Replies to a post | ~20, hard — then a login wall |
| Keyword search | ~20 per surface; ~50 after merging all five |
| Posts on a profile | ~5 per tab; 16–22 after merging all four |
Full measurements, method and dates are on the reference page, including the empty shell page Meta serves to datacenter IPs as a valid HTTP 200 — the single most common reason a Threads scraper silently returns nothing.
Three Actors, reading public pages only — no login, no cookies, no CAPTCHA solving, no access-control circumvention:
Or read the client. Either way, the ceilings above apply — they are Meta's, not ours.