Threads Scraper — Posts, Profiles & Replies avatar

Threads Scraper — Posts, Profiles & Replies

Pricing

Pay per usage

Go to Apify Store
Threads Scraper — Posts, Profiles & Replies

Threads Scraper — Posts, Profiles & Replies

Collect public Threads posts by username or keyword. Return structured text, timestamps, engagement, media and link fields. Run with username or keyword; no login or API key.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

28

Total users

1

Monthly active users

a day ago

Last modified

Categories

Features

Limited permissions

Share

Threads Posts Scraper by Username or Keyword

Scrape public Meta Threads posts by username or keyword, including post text, authors, timestamps, engagement counts, media URLs, and post links.
This Actor is free to run since 2026-11-10: no event fees apply on any plan, only Apify platform usage. See Pricing.

  • No buyer login or API key is required.
  • Monitor public profile posts with author, timestamp, text, and engagement data.
  • Research keyword conversations and collect the posts Threads surfaces in search.
  • Extract media URLs, post URLs, short codes, and thread context for content research.
  • Export structured Threads results for analysis in JSON or CSV.

What you get

Field familyFieldsDescription
Identitypost_id, code, post_urlNumeric post ID, short URL code, and direct post link.
Authorauthor_id, author_username, author_profile_pic, author_verifiedAuthor identifiers, handle, profile picture URL, and verified status.
Contenttext, taken_at, taken_at_epochPost text, ISO-8601 UTC timestamp, and Unix epoch timestamp.
Engagementlike_count, reply_count, repost_count, quote_countAvailable likes, replies, reposts, and quotes counts.
Thread contextis_reply, reply_to_usernameWhether the post is a reply and the username it replies to, when available.
Mediamedia_urls, media_types, has_mediaImage or video URLs, media types, and a media-presence boolean.
Link and provenancelink_preview_url, mode, query, source, scraped_atLink preview URL, selected mode, input query, retrieval source, and scrape timestamp.

User mode uses the public profile page and its embedded data. Its primary request uses POST /api/graphql; if needed, the Actor can use the profile page's embedded Relay preloader. Keyword mode parses the embedded Relay preloader from a Threads search page.

Sample output

This shortened sample keeps one real dataset record and selected fields; omitted fields are not changed or represented.

{
"post_id": "4020948437830849967", "code": "DfNR0zhEdWv",
"post_url": "https://www.threads.net/@zuck/post/DfNR0zhEdWv",
"author_id": "63055343223", "author_username": "zuck", "author_verified": true,
"text": "Tried to get the family to dress as burger night, but couldn't corral the littlest burger",
"taken_at": "2026-11-01T17:33:48+00:00", "like_count": 4205, "reply_count": 0, "repost_count": 0,
"quote_count": 0, "is_reply": null, "reply_to_username": null,
"media_types": ["image", "carousel_image", "carousel_image", "carousel_image"], "has_media": true,
"mode": "user", "query": "zuck", "source": "graphql_api",
"scraped_at": "2026-11-03T21:42:56.755463+00:00"
}

Pricing

Today's model: FREE. Since 2026-11-10 the Actor charges no pay-per-event fees on any plan (the Free plan included). Apify platform usage (compute, storage, Apify Proxy traffic) still counts against your plan; the Apify Free plan includes $5 per month of platform usage credit. Check the Pricing tab on the Actor page before a large run.

Earlier pricing, pay-per-event until 2026-11-10 (shown for reference only):

  • post-item: $0.0025 per returned post on the Free plan.
  • apify-actor-start: $0.00005 per event on the Free plan (one event per GB of memory, minimum one).
  • Free plan, 1,000 results: 1,000 x $0.0025 = $2.50 in post-item events.
  • Free plan, 10,000 results: 10,000 x $0.0025 = $25.00.

How to use

  1. Choose user mode to collect the latest posts from a profile, or keyword mode to search Threads by a keyword or phrase.
  2. Enter a username such as zuck for user mode, or a keyword such as AI tools for keyword mode.
  3. Set maxItems to the maximum number of records you want, from 1 upward. The default is 50.
  4. Leave the default Apify Residential proxy configuration in place for the recommended access setup, or provide another supported proxy configuration.
  5. Run the Actor and open the resulting dataset to review the structured records.
  6. Repeat the run through Apify Schedules; as a starting point for social monitoring, try a daily schedule.
{
"mode": "user",
"username": "zuck",
"maxItems": 25,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Export the dataset as JSON or CSV, or read it through the Apify dataset API.

Input parameters

ParameterWhat it doesDefault
modeSelects user for profile posts or keyword for topic search.user
usernameProfile username used in user mode. A leading @ is accepted.Empty
keywordSearch term or phrase used in keyword mode.Empty
maxItemsMaximum number of posts to return. Values below 1 are raised to 1 by the Actor.50
proxyConfigurationConfigures the proxy used for Threads requests. The supplied default uses Apify Residential proxy.{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}

Provide a username for user mode or a keyword for keyword mode. The input schema does not require either field formally, but the selected mode must have its corresponding target for the Actor to fetch posts.

Limits and edge cases

ConditionWhat you seeWhat to do
User modeUp to 25 of the profile's most recent posts are available from the public endpoint. If the GraphQL request returns nothing, the Actor falls back to the profile page's embedded Relay preloader data, which holds about 4 posts and sets source to relay_preloader.Use a public profile and set maxItems according to the amount the source can provide.
Keyword modeThreads search supplies 10–30 posts, depending on what the search page surfaces.Try a different keyword or phrase when the returned set is too small.
maxItemsThe Actor limits the records it pushes, but it cannot create more results than the selected Threads source provides.Increase maxItems only when the source can provide additional posts.
Private profileThe profile returns 0 posts without login.Use a public Threads profile.
User-mode engagement countsReply and repost counts are 0 in user mode unless a post detail page is fetched separately. This Actor does not fetch that detail page separately.Use keyword mode when the available reply and repost counts are important to your run.
Missing targetA user-mode run without a username, or a keyword-mode run without a keyword, exits without pushing posts.Supply the target that matches the selected mode.
Blocked Threads requestAfter the available block retries, the run exits without post records being charged. When a proxy is configured, the Actor rotates the proxy session between block attempts.Keep the recommended Residential proxy configuration and review the run log.
Transport or Threads fetch errorThe run aborts without pushing post records or charging post-item events.Review the run log and run again with a supported target and proxy configuration.
Invalid individual post dataA malformed post is skipped rather than stopping parsing of the remaining posts.Check the delivered count and run logs if fewer records than expected are returned.
No valid posts after parsingThe dataset remains empty when no fetched posts produce a valid post ID.Check the target, mode, and Threads page availability.

FAQ

How much does it cost to scrape Meta Threads posts?

The Actor is free to run since 2026-11-10, so no event fees apply on any plan. Apify platform usage still applies to your plan. See Pricing for the earlier pay-per-event prices.

Does this Actor require a Threads login or API key?

No. The Actor uses Threads' public web surface and does not require a buyer login or API key. An Apify Residential proxy is recommended for reliable access.

Why did my run return no posts?

A private profile returns 0 posts, and a missing username or keyword leaves the selected mode without a target. A search can also return no posts when Threads does not surface matches. Check the selected mode, provide its matching target, and try a public profile or another keyword.

What should I check if the Actor is not working?

Check the run log, confirm that the username or keyword is valid for the selected mode, and leave the recommended Residential proxy configuration enabled. A blocked or transport-failed request can end the run without post records being pushed or charged as post-item events.

The Actor collects data from Threads' public web surface. Threads' source terms and applicable law depend on your use case, so review them before using the collected data; this Actor does not provide a legal guarantee.

Usage statistics

This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.

A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.

To opt out, set disableUsageStats to true in the input. Nothing is sent then.

Full list of collected fields