Threads Profile Scraper - Followers, Bio, Recent Posts avatar

Threads Profile Scraper - Followers, Bio, Recent Posts

Pricing

from $1.05 / 1,000 profiles

Go to Apify Store
Threads Profile Scraper - Followers, Bio, Recent Posts

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

Solar G

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

FieldDescription
profilesUsernames (zuck, @zuck), profile URLs (https://www.threads.com/@nasa, threads.net also works), or post URLs (the post's author is checked).
includePostsAdd 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, nasa and https://www.threads.com/@nasa count as the same profile.
  • Every input gets a row. Inputs that are not Threads usernames or links get a row with an error field.

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
}
]
}
FieldMeaning
inputThe value exactly as you entered it.
handleThe username taken from the input.
followersExact follower count, not rounded like "5.7M".
bioLinksLinks listed on the profile.
profilePicThe largest profile picture available.
recentPostsThe posts shown on the public profile page, newest first apart from a pinned post. Usually 4, sometimes up to 10.
recentPostsCount, avgLikes, avgReplies, lastPostAtCount, averages and newest date over recentPosts.
mediaTypetext, image, video or carousel.
threadLengthNumber of posts in the author's own thread that starts with this post (1 for a single post).
images, videosMedia URLs. For a carousel, one entry per slide.
errorSet 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 ApifyClient
client = 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.