Threads Profile Scraper - Followers, Bio, Recent Posts
Pricing
from $1.05 / 1,000 profiles
Threads Profile Scraper - Followers, Bio, Recent Posts
Bulk-check Threads profiles: exact follower count, verified flag, bio, bio links, profile picture and the most recent posts with likes, replies, reposts and media. Paste usernames or profile URLs. No login.
Pricing
from $1.05 / 1,000 profiles
Rating
0.0
(0)
Developer
Solar G
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Bulk-checks Threads profiles. For each username it returns the exact follower count, verified flag, full name, bio, bio links, profile picture and the most recent posts shown on the public profile page, with likes, replies, reposts, quotes, shares, media links and dates. Average likes and replies over those posts are included. Useful for vetting creator and influencer lists, tracking follower growth, and enriching lead lists with Threads data.
No Threads or Instagram login is needed. Only public profile pages are read.
Input
| Field | Description |
|---|---|
profiles | Usernames (zuck, @zuck), profile URLs (https://www.threads.com/@nasa, threads.net also works), or post URLs (the post's author is checked). |
includePosts | Add the recent posts and the averages. On by default. Turn it off for smaller rows with profile fields only. The price is the same either way. |
{"profiles": ["@zuck", "nasa", "https://www.threads.com/@duolingo"],"includePosts": true}
- Duplicates are checked and charged once.
@NASA,nasaandhttps://www.threads.com/@nasacount as the same profile. - Every input gets a row. Inputs that are not Threads usernames or links get a row with an
errorfield.
Output
{"input": "@zuck","handle": "zuck","username": "zuck","fullName": "Mark Zuckerberg","url": "https://www.threads.com/@zuck","userId": "63055343223","verified": true,"privateAccount": false,"followers": 5753796,"bio": "Mostly superintelligence and MMA takes","bioLinks": [],"profilePic": "https://scontent-lhr11-1.cdninstagram.com/...","recentPostsCount": 4,"avgLikes": 2906,"avgReplies": 1063,"lastPostAt": "2026-10-12T16:56:29.000Z","recentPosts": [{"id": "4006434140014576097","code": "DeZtp-TkQHh","url": "https://www.threads.com/@zuck/post/DeZtp-TkQHh","text": "Introducing Muse Wonder, our new family of frontier models ...","postedAt": "2026-10-12T16:56:29.000Z","mediaType": "image","likes": 2117,"replies": 549,"reposts": 168,"quotes": 60,"shares": 145,"isPinned": false,"isQuote": false,"isRepost": false,"threadLength": 4,"images": ["https://scontent-lhr6-1.cdninstagram.com/..."],"videos": [],"linkUrl": null,"language": null}]}
| Field | Meaning |
|---|---|
input | The value exactly as you entered it. |
handle | The username taken from the input. |
followers | Exact follower count, not rounded like "5.7M". |
bioLinks | Links listed on the profile. |
profilePic | The largest profile picture available. |
recentPosts | The posts shown on the public profile page, newest first apart from a pinned post. Usually 4, sometimes up to 10. |
recentPostsCount, avgLikes, avgReplies, lastPostAt | Count, averages and newest date over recentPosts. |
mediaType | text, image, video or carousel. |
threadLength | Number of posts in the author's own thread that starts with this post (1 for a single post). |
images, videos | Media URLs. For a carousel, one entry per slide. |
error | Set only on rows that could not be checked. Other profile fields are absent on these rows. |
recentPosts, recentPostsCount, avgLikes, avgReplies and lastPostAt are null when includePosts is off.
Error messages:
Profile not found, or not public on Threads: the account does not exist, has no Threads profile, or is not shown to logged-out visitors. The check is repeated once before this is reported.Threads did not respond with the profile. Please try again later.: Threads did not return the page after 4 attempts. Run the input again.Not a Threads username or profile URL: the input could not be read as a username or Threads link.
Rows with an error field are not charged.
Schedule a daily run on the same list to track follower growth over time.
API usage
curl -X POST "https://api.apify.com/v2/acts/solarg~threads-profile-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"profiles": ["zuck", "nasa"]}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("solarg/threads-profile-scraper").call(run_input={"profiles": ["zuck", "nasa"]})items = client.dataset(run["defaultDatasetId"]).list_items().items
Pricing
$1.50 per 1,000 profiles, recent posts included. Platform usage is included in the price. Error rows and duplicates are not charged.
Limitations
- Only the posts shown on the public profile page are returned (usually 4). This Actor does not page through a profile's full post history, and does not return replies from other users, followers lists or the following count (Threads does not show it to logged-out visitors).
- Posts of private profiles are not shown to logged-out visitors, so such profiles return no posts or a not-found row.
- Profile picture and media URLs are signed by Meta and expire after a few days. Download them promptly if you need to keep them.
Report problems in the Issues tab.