Meta Threads Profile Scraper avatar

Meta Threads Profile Scraper

Pricing

$3.00 / 1,000 results

Go to Apify Store
Meta Threads Profile Scraper

Meta Threads Profile Scraper

Extract public Threads (Meta) profile data — bio, follower count, full name, profile picture, bio links, verification, and latest posts. Fast HTTP-only scraper, no headless browser. Bulk usernames in parallel.

Pricing

$3.00 / 1,000 results

Rating

0.0

(0)

Developer

Blynx

Blynx

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

6

Monthly active users

11 hours ago

Last modified

Categories

Share

Threads Profile Scraper

Scrape public Meta Threads profiles by username and export profile data, follower counts, bio links, verification status, profile images, and latest public posts.

Use it for creator research, brand monitoring, social listening, influencer discovery, and public profile datasets.

What You Get

  • One dataset item per Threads profile.
  • Profile identity fields such as username, full name, profile URL, profile image, and internal IDs.
  • Public metrics such as follower count and verification status.
  • Biography, bio links, transparency labels, and profile flags.
  • Latest public posts when Threads exposes them in the page payload.
  • Error rows for missing, private, blocked, or unavailable profiles.
  • Optional raw user payload for debugging.

Quick Start

{
"profiles": ["puregymofficial", "instagram"],
"maxConcurrency": 5,
"rawOutput": false
}

Enter usernames without the leading @.

Input Fields

FieldRequiredDescription
profilesYesThreads usernames to scrape, without @.
maxConcurrencyNoNumber of profiles fetched in parallel. Default is 5.
maxRetriesNoRetry budget for HTTP 5xx and parse errors.
maxProxyFailuresNoRetry budget for connection, proxy, and TLS errors.
maxBlockedFailuresNoRetry budget for 403, 429, and challenge pages.
timeoutSecsNoPer-request timeout in seconds.
rawOutputNoAdds _raw.user with the unprocessed profile payload.
proxyNoProxy settings. Residential US proxy is recommended.

Output Fields

Successful profile items include:

  • url, sourceUrl
  • username, full_name, biography, text_app_biography
  • follower_count
  • is_verified, is_private
  • profile_pic_url, hd_profile_pic_versions
  • bio_links
  • pk, id
  • friendship_status
  • transparency_label
  • is_threads_only_user
  • show_text_post_app_badge
  • gating
  • profile_context_facepile_users
  • latestPosts
  • _raw when rawOutput is enabled

Example item:

{
"url": "https://www.threads.net/@instagram",
"sourceUrl": "https://www.threads.net/@instagram",
"username": "instagram",
"full_name": "Instagram",
"follower_count": 123456789,
"is_verified": true,
"is_private": false,
"biography": "Discover what's happening on Instagram.",
"bio_links": [
{
"url": "https://instagram.com"
}
],
"latestPosts": []
}

Error Items

If a profile cannot be scraped, the actor still returns a clear dataset item:

{
"username": "missing_profile",
"url": "https://www.threads.net/@missing_profile",
"sourceUrl": "https://www.threads.net/@missing_profile",
"found": false,
"error_type": "no_data",
"error": "user data not found in page (handle may not exist on Threads)"
}

Common error_type values:

ValueMeaning
no_dataThreads did not expose profile data, or the handle does not exist.
blockedThreads returned a block or challenge page.
proxyProxy, connection, or TLS error.
httpHTTP error response.
unknownUnexpected error while fetching or parsing.

Best Settings

For a small test:

{
"profiles": ["puregymofficial"],
"maxConcurrency": 1
}

For larger profile lists:

{
"profiles": ["instagram", "meta", "threads"],
"maxConcurrency": 5,
"maxRetries": 5,
"maxProxyFailures": 5,
"maxBlockedFailures": 5,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Notes And Limits

  • This actor scrapes public profile pages only.
  • Private profiles can have limited or unavailable data.
  • Latest posts are returned only when Threads exposes them in the public page payload.
  • Follower counts and profile details can change frequently.
  • Residential proxies are recommended because datacenter IPs are blocked more often.
  • Empty fields mean Threads did not expose that value for the profile.

Troubleshooting

A profile is not found

Check the spelling and remove the leading @. If the profile exists in a browser but returns no_data, try again later or use residential proxy.

The run has blocked errors

Use Apify Residential Proxy, lower maxConcurrency, and keep retry budgets enabled.

Latest posts are empty

Threads may not expose posts in the public payload for that profile or request. Profile fields can still be valid.