Threads Fast Scraper avatar

Threads Fast Scraper

Pricing

from $3.80 / 1,000 profile scrapeds

Go to Apify Store
Threads Fast Scraper

Threads Fast Scraper

Fast scraper for Meta Threads. Extract profiles, posts, replies, and engagement metrics. HTTP-only, optimized for cost.

Pricing

from $3.80 / 1,000 profile scrapeds

Rating

0.0

(0)

Developer

Samy

Samy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Threads Scraper

Fast HTTP-only scraper for public Meta Threads data. It extracts profiles, user posts, replies, search users, search threads, and engagement metrics without launching a browser.

Supported Actions

ActionInputOutput
getProfilesusernamesProfile metadata for each user
getUserPostsusernames, optional sessionIdPosts/threads from each user
getRepliespostUrlsReplies or the main post for each URL
searchUserssearchQueryMatching public usernames
searchThreadssearchQueryMatching public threads found in search HTML

Input

{
"action": "getUserPosts",
"usernames": ["zuck", "mosseri"],
"maxResults": 50,
"concurrency": 12,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

For deeper user-post pagination, provide an Instagram/Threads sessionid cookie:

{
"action": "getUserPosts",
"usernames": ["zuck"],
"maxResults": 200,
"sessionId": "YOUR_SESSIONID_COOKIE"
}

Fields

FieldTypeRequiredDescription
actionenumYesgetProfiles, getUserPosts, getReplies, searchUsers, or searchThreads
usernamesstring[]For profiles/postsThreads usernames, with or without @
postUrlsstring[]For repliesFull Threads post URLs from threads.net or threads.com
searchQuerystringFor searchSearch term
maxResultsintegerNoMax results per user/query. Default: 50, max: 1000
concurrencyintegerNoParallel targets to process. Default: 12, max: 25
sessionIdstringNoOptional sessionid cookie for authenticated mobile API pagination
proxyobjectNoApify proxy or custom proxy URLs. Residential proxies are recommended

Session ID

searchThreads, searchUsers, and getProfiles are fully public and need no Session ID. You only need one for getReplies and for deeper getUserPosts pagination (beyond ~25 posts).

When you do need it, paste the sessionid cookie value (not the whole Cookie header) into the sessionId input.

How to get your Session ID

  1. In a desktop browser, log in to https://www.threads.com (or https://www.instagram.com — they share the cookie).
  2. Open DevTools (F12 or right-click then Inspect).
  3. Go to the Application tab (Chrome/Edge) or Storage tab (Firefox).
  4. In the sidebar, expand Cookies and select the site (e.g. https://www.threads.com).
  5. Find the row named sessionid and copy its Value. It looks like 12345678%3AAbCdEf...%3A12%3A....
  6. Paste that value into the sessionId field.

Use a throwaway account, not your main one. Meta can flag, rate-limit, or ban accounts used for scraping. Create a dedicated secondary Threads/Instagram account and use its sessionid. Only use a session you are authorized to use. The cookie grants account access, so treat it like a password — the input is stored as a secret.

Pagination

Public, logged-out scraping is limited by Threads. The logged-out search page returns a single page (~10-25 results) with no working public next-page request, and the logged-out GraphQL/profile paths hit a login wall after ~25 posts.

When sessionId is provided, the scraper uses the authenticated mobile API and paginates until maxResults, the API stops returning pages, or rate limiting/session expiry occurs.

Output Examples

Profile

{
"id": "314216",
"username": "zuck",
"fullName": "Mark Zuckerberg",
"bio": "CEO of Meta",
"followers": 3200000,
"following": 523,
"isVerified": true,
"profilePicUrl": "https://...",
"threadCount": 1234,
"url": "https://www.threads.net/@zuck",
"scrapedAt": "2026-06-26T10:30:00.000Z"
}

Post

{
"id": "3456789012345678",
"shortcode": "CuXyz123",
"text": "Post content here...",
"timestamp": "2026-06-26T08:00:00.000Z",
"likes": 12500,
"replies": 340,
"reposts": 890,
"author": {
"username": "zuck",
"fullName": "Mark Zuckerberg",
"profilePicUrl": "https://...",
"isVerified": true
},
"mediaUrls": ["https://..."],
"url": "https://www.threads.net/@zuck/post/CuXyz123",
"scrapedAt": "2026-06-26T10:30:00.000Z"
}

Development

bun install
bun test
bun run typecheck
bun run lint

Notes

  • Residential proxies are recommended because Meta frequently blocks datacenter IPs.
  • The scraper retries rate limits and transient server errors with exponential backoff.
  • Private accounts and login-only content are not available in public mode.
  • Threads internal endpoints can change without notice; keep parser tests current when response shapes change.