Threads Profile API
Pricing
from $2.80 / 1,000 profiles
Threads Profile API
One Threads username in, one row out: followers, name, bio, bio links, website, e-mails and phones from the bio, verification, linked Instagram and the latest post. Built for one call per account, from an agent, n8n or code.
Pricing
from $2.80 / 1,000 profiles
Rating
5.0
(2)
Developer
Matvey
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
5
Monthly active users
a day ago
Last modified
Categories
Share
Threads Profile API turns one Threads username into one row: followers, full name, bio, the links and the website from the bio, any e-mail or phone published there, verification, the linked Instagram account, and the account's latest post with its engagement.
One call, one account, one row. That is the shape an AI agent, an n8n loop or a for loop in your code actually wants — not a batch job that returns a thousand posts you did not ask for.
No login, no cookies, no official API access. An account that does not exist comes back as an error row and is never billed.
Tested head-to-head — 24 September 2026

The same request went to this Actor and to the four most-used Actors on the Apify Store that return a Threads profile by username, on the same afternoon from a fresh free account: five public accounts (zuck, mosseri, nasa, natgeo, nytimes), one row each. Follower counts were checked against what Threads itself shows.
| This Actor | The 4 others | |
|---|---|---|
| Accounts with the correct Threads follower count | 5 of 5 | 5 of 5 at two; Instagram's count at one; nothing at one |
| Date, link and likes of the latest post in the row | Yes | Only one of the four |
| What this request cost | $0.020 | $0.021 – $0.045 (the one that returned nothing cost $0) |
What is the Threads Profile API?
Meta publishes an API for your own Threads account and nothing for anyone else's. This Actor is the missing lookup: give it zuck, get back the profile as structured data, in about a second.
Typical uses: creator and influencer research, enriching a CRM with a social profile, checking follower counts on a schedule, pulling the contact an account publishes in its bio, and giving an AI agent a tool that answers "who is this account".
What comes back
| Field | Example |
|---|---|
username, fullName, userId | zuck · Mark Zuckerberg · 314216 |
followerCount | 5 738 024 |
biography | "Mostly superintelligence and MMA takes" |
bioLinks, websiteUrl | every link the account published |
emails, phones | the contact details put in the bio, when there are any |
isVerified, isPrivate | true · false |
instagramUrl, profilePicUrl, profileUrl | linked Instagram, the avatar in full size, the profile link |
latestPostAt, latestPostUrl, latestPostText | when the account last posted, and what it said |
latestPostLikes, latestPostReplies | how that post landed |
recentPosts | the last N posts with text, time, engagement and media — when you ask for them |
How much does it cost?
$4 per 1,000 profiles — one account, one charge, no start fee.
- A username that does not exist, is private or was renamed: $0.
- Rate limits and blocks: $0.
At one call per account, a thousand lookups cost four dollars. There is no monthly minimum and no quota to hit.
Bulk export
This Actor is built for bulk jobs — put hundreds of inputs into one run, or call it from the API on a schedule. There is no fee per run, no fee per page and no proxy charge: you pay for the rows you keep, and error rows are free, so a 50,000-row job costs exactly 50,000 × the row price with nothing added on top.
How to use it
- Put one username into 👤 Username —
zuck,@natgeo, or a full profile URL. - Press Start. One row comes back, usually within a second or two.
- To do it from code, call the run from the API, n8n, Make, Zapier or an AI agent, one account per call.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")def threads_profile(username: str) -> dict:run = client.actor("lergassy/threads-profile-api").call(run_input={"username": username})return next(client.dataset(run["defaultDatasetId"]).iterate_items())p = threads_profile("natgeo")print(p["fullName"], p["followerCount"], p["websiteUrl"])
Have a spreadsheet instead of a loop? 👥 Or several at once takes a short list; each account is still one row and one charge.
⬆️ Output
{"username": "zuck","fullName": "Mark Zuckerberg","userId": "314216","followerCount": 5738024,"biography": "Mostly superintelligence and MMA takes","bioLinks": [],"websiteUrl": null,"emails": [],"isVerified": true,"isPrivate": false,"instagramUrl": "https://www.instagram.com/zuck/","profileUrl": "https://www.threads.net/@zuck","latestPostAt": "2026-09-15T23:01:39.000Z","latestPostUrl": "https://www.threads.net/@zuck/post/DAbC1dEfGh","latestPostLikes": 1296,"recentPosts": [],"scrapedAt": "2026-09-17T00:41:02.118Z"}
A failed lookup pushes one type: "error" row naming the account and the reason — account not found, private, or renamed — free of charge.
❓ FAQ
Why a single username instead of a big list?
Because that is how it gets used. An agent asks about one account; an n8n node runs once per row; a CRM enrichment fires per contact. A batch actor makes that awkward and bills you for work you did not need. A list input is here anyway for the spreadsheet case.
Is a private account returned?
No. Threads shows a logged-out visitor nothing but the fact that the account is private, and that is what you get — as an error row, not as an invented profile.
Does it need my Threads account?
No. No login, no cookies, nothing of yours can be rate-limited because of it.
Is the follower count live?
It is what the profile page showed at the moment of the check, with scrapedAt on the row so you always know when that was.
Can I use it through the Apify API or an MCP server?
Yes to both. There is one required-looking field and a sensible default, so an agent can call it correctly without reading this page.
Your feedback
Something missing from the row? Open an issue on the Issues tab — it gets read and answered.
You might also like
| Actor | What it does |
|---|---|
| Threads Scraper | The full archive: search, an account's posts, replies, reposts, whole threads and account discovery |
| Threads Monitor | Watch accounts or keywords and receive only what is new since the last check |
| Threads Profile Scraper | The same profile data in bulk, for long lists |
| Threads Replies Scraper | Replies and conversations: who answered what |