How do I get a TikTok follower count for any username?
Call the Openhandle profile endpoint with @username. The response has metrics.followers, plus following, total likes, and video count, as integers. You need an API key, not a TikTok login or a Research API application.
The number is exact, not the "75.1K" the app shows. A private account returns PROFILE_PRIVATE with no count.
Checked September 2026 · request and response run against the API · no affiliate links
curl "https://api.openhandle.dev/v1/tiktok/profiles/@pixel_orchard_tt_test" \
-H "Authorization: Bearer $OPENHANDLE_API_KEY"import { OpenHandle } from '@openhandle/sdk';
const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
const { data } = await openhandle.tiktok.profile('pixel_orchard_tt_test').get();
console.log(data.metrics.followers); // 75120{
"platform": "tiktok",
"resource": "profile",
"capturedAt": "2026-09-18T11:58:33Z",
"source": "live",
"data": {
"id": "920000000001",
"handle": "pixel_orchard_tt_test",
"displayName": "Pixel Orchard",
"isVerified": true,
"isPrivate": false,
"metrics": { "followers": 75120, "following": 411, "likes": 9814220, "posts": 4 }
}
}Trimmed to the fields this question needs. The full profile has bio, links, avatar, region, and more. The example is a Test account, so you can run it on a free Test key.
What each metric means
| Field | Meaning |
|---|---|
metrics.followers | Accounts following this one |
metrics.following | Accounts this one follows |
metrics.likes | Total likes across all videos, the heart count on the profile |
metrics.posts | Public videos on the profile |
Usernames, IDs, and URLs
- —Username. Pass
@username. The@marks it as a handle. - —ID. The response carries
data.id. Store it. A renamed account still resolves by ID. - —URL. Pass a tiktok.com profile URL to
POST /v1/urls/fetch. Short links from the app are expanded.
Bulk checks
One profile per request, up to 10 requests per second per key. A thousand creators is a few minutes. Use freshness=24h when a day-old number is fine and the batch runs more than once a day. Use freshness=live for payouts and contracts.
When this does not work
These answers are definitive. Store them, do not retry them.
| Situation | Status | Code |
|---|---|---|
| The account is private | 403 | PROFILE_PRIVATE |
| The account is deleted, banned, or never existed | 404 | PROFILE_NOT_FOUND |
| The username is malformed | 400 | INVALID_IDENTIFIER |
{
"error": {
"code": "PROFILE_PRIVATE",
"message": "This profile is private.",
"requestId": "req_01j8…",
"retryable": false
}
}A metric TikTok hides is null, never 0. A measured zero, a new account with no followers, is 0.
Read next
More TikTok questions
Send your agent ahead.
Paste the prompt into your agent and it sets everything up. Or come yourself, it takes five minutes.