Meta Threads Profile Scraper
Pricing
$3.00 / 1,000 results
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
Maintained by CommunityActor 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
| Field | Required | Description |
|---|---|---|
profiles | Yes | Threads usernames to scrape, without @. |
maxConcurrency | No | Number of profiles fetched in parallel. Default is 5. |
maxRetries | No | Retry budget for HTTP 5xx and parse errors. |
maxProxyFailures | No | Retry budget for connection, proxy, and TLS errors. |
maxBlockedFailures | No | Retry budget for 403, 429, and challenge pages. |
timeoutSecs | No | Per-request timeout in seconds. |
rawOutput | No | Adds _raw.user with the unprocessed profile payload. |
proxy | No | Proxy settings. Residential US proxy is recommended. |
Output Fields
Successful profile items include:
url,sourceUrlusername,full_name,biography,text_app_biographyfollower_countis_verified,is_privateprofile_pic_url,hd_profile_pic_versionsbio_linkspk,idfriendship_statustransparency_labelis_threads_only_usershow_text_post_app_badgegatingprofile_context_facepile_userslatestPosts_rawwhenrawOutputis 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:
| Value | Meaning |
|---|---|
no_data | Threads did not expose profile data, or the handle does not exist. |
blocked | Threads returned a block or challenge page. |
proxy | Proxy, connection, or TLS error. |
http | HTTP error response. |
unknown | Unexpected 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.