Threads scraper for Meta Threads: posts, replies, reposts, profiles and keyword or hashtag search with no login and no cookies. The free plan gets the full result. Flat rows with engagement, views, media, links and bio contacts. Monitoring returns only new posts. Export, API, schedules, AI agents.
Monitoring mode (monitoringStoreName) gets a run fee: $0.005 once per monitoring run, also when nothing new is found, from 23 November 2026. Row prices and normal runs (no start fee) are unchanged.
README: a ready hourly schedule for Monitoring mode; the free plan gets the full result (75 posts for ai agents on 8 November 2026).
2026-11-06
Faster runs with view counts: a view lookup that stalls is now given up after 8 s instead of 20 s (the row still goes out, only viewCount stays empty). The default 100-post example dropped from about 3 minutes to about 1–1.5.
2026-11-02
Fix: when "Max cost per run" stops a run before any row is delivered, the status message now quotes the price of the rows you asked for (not the cheapest row of the Actor), and never reports a row count over an empty dataset.
2026-10-24
A username that does not exist (also private, renamed or deleted) is answered about three times faster: Threads serves such a request as its own login page with HTTP 200 and no "Sorry, this page isn't available" text, which the Actor used to treat as a blocked shell and retry three times with backoff. The login page is now recognised from its canonical URL and confirmed from a second exit address, without the backoff; search and feed pages keep the full retry budget, because there the login page means throttling.
2026-10-21
Maintenance: run-end alerts updated to the current shared version; proxy helper updated to the current shared version; a run stopped by "Max cost per run" always ends with a status message telling you so.
2026-10-18
Search: Japanese and Chinese phrases written without spaces ("担当者ガチャ", "マイナビエージェント") were treated as one word, so the word-by-word fallback never ran and Threads (which shows a logged-out visitor nothing for such compounds) left the run empty. They are now split into words, each word is searched, and posts that contain every word are returned.
2026-10-16
Threads changed the internal ids of its "more posts", "more replies" and profile-replies queries. Profiles again page past the first screen (before the fix only the first 25–49 posts came back after a minute-long search for the new id), and the new ids are now found in about 3 seconds if Threads changes them again.
2026-10-09
Accounts whose feed keeps answering with pages that hold no new posts (seen on @netflix: 130+ such pages, 74 s for 4 posts) now stop after three empty pages instead of paging on.
A run with a short Timeout no longer ends as TIMED-OUT: shortly before the timeout it stops starting new keywords/accounts, skips the remaining view lookups, and finishes normally with every row collected so far. Targets it did not finish are listed in the NOT_ATTEMPTED record and are not charged; the status message says to raise Timeout for the full result.
Monitoring with a long monitoringStoreName (or one that ended in a symbol) crashed at start because Apify refused the store name. Such names are now shortened safely; names that worked before keep their memory unchanged.
2026-10-04
Search: Threads shows a logged-out visitor nothing for most phrases of several words ("マーケ 転職", "web marketing jobs"). Such a phrase is now searched word by word, and only posts that contain every word are returned, instead of an empty run.
2026-10-03
A run that ends with no rows now says why in its status message: which filters removed the posts Threads returned (and how many each), that a monitoring run found nothing new, or that Threads showed no posts for the target. Nothing is charged for such a run.
2026-10-02
In thread mode, short share links (threads.com/share/CODE and older threads.net/t/CODE) are now resolved to the post instead of being rejected.
Default memory now scales with the number of rows requested, so small runs use less memory.
2026-10-01
View counts are read from just the start of each post page, so runs with views on are faster and lighter.
When Threads refuses a run, it pauses and then stops cleanly; targets it never tried are listed in the status message and saved to the NOT_ATTEMPTED record, free of charge.
Pages refused on the configured proxy get one more try over a residential route; accounts that do not exist are reported as not found right away instead of being retried.
Memory use capped on parallel requests and a connection leak fixed, so long runs no longer run out of memory; runs capped by your maximum cost no longer stop early.
2026-09-27
Rows are written in chunks of 16 as they are ready, so results appear within seconds and a stopped run keeps what it already delivered; view lookups run faster.
Runs stop cleanly at your maximum cost per run instead of being aborted; nothing beyond your limit is written or charged.
2026-09-26
Search results that actually contain your keyword now come first, instead of unrelated posts from the same thread.
Thread mode pages through all replies under a post instead of stopping at the first ~10; replies mode returns up to 25 threads per account instead of 4.
latestPostAt on profile rows is now the newest post by time, not an old pinned post.
2026-09-24
Every post now carries viewCount (the number Threads shows under a post), at no extra charge; can be switched off for faster bulk runs.
Duplicate posts no longer count toward maxPosts, so you get the number of posts you asked for.
2026-09-06
Initial release: scrapes Threads without a login: keyword and hashtag search with language, engagement and date filters, an account's posts, replies and reposts, whole threads with replies, profiles with followers, bio links and contacts, and account discovery by keyword.