Creator qualification
Check audience size and publishing volume before inviting a creator.
TikTok profile API
Follower, video and heart counts for a public TikTok account. Send a public URL and get the fields in the same terms the platform uses.
Input: Public TikTok profile URL. Returns: one object, in TikTok's own field names. Price: 1 credit per call; failed reads are free.
GET /v1/tiktok/profile
See it in action
The snippets use the production endpoint. Replace the sample URL with your own public target before running them.
Start from a valid shape, then replace the sample value with your public target.
Selected tiktok https://www.tiktok.com/@tiktok
Open
Use a server-side key and send parameters as query values.
https://api.sourcevine.io/v1/tiktok/profile curl -G 'https://api.sourcevine.io/v1/tiktok/profile' \
-H 'Authorization: Bearer sv_live_...' \
--data-urlencode 'url=https://www.tiktok.com/@tiktok' const params = new URLSearchParams({
"url": "https://www.tiktok.com/@tiktok",
});
const res = await fetch('https://api.sourcevine.io/v1/tiktok/profile?' + params, {
headers: { Authorization: 'Bearer sv_live_...' },
});
const body = await res.json();
console.log(body.data); import requests
r = requests.get(
"https://api.sourcevine.io/v1/tiktok/profile",
params={"url": "https://www.tiktok.com/@tiktok"},
headers={"Authorization": "Bearer sv_live_..."},
)
body = r.json()
print(body["data"]) Every success includes availability, a fetch timestamp and billing context.
Hit Show sample response to see the response.
A real TikTok Profile API response, recorded against the public target above.
{
"data": {
"url": "https://www.tiktok.com/@tiktok",
"cached": false,
"nickname": "TikTok",
"username": "tiktok",
"verified": true,
"avatarUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=3416029a&x-expires=1788537600&x-signature=%2Ff%2FTFAD3Ey36C4H2C%2BdKyeDJ5zs%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8",
"fetchedAt": "2026-09-02T16:46:56Z",
"heartCount": 463000000,
"videoCount": 1498,
"followerCount": 95500000,
"followingCount": 2,
"cacheAgeSeconds": null,
"sourceTimestamp": null
},
"success": true,
"available": true
} Ship it anywhere
We build and maintain theseFirst-party surfaces, versioned with the API.
Works anywhere that can make an HTTP requestNo plugin to install, and none to wait for.
Response
Each response includes typed availability, a fetch timestamp, and only the public fields this API promises.
| Field | Type | Meaning |
|---|---|---|
| url | string | Canonical public profile or channel URL. |
| username | string | Platform identity. |
| nickname | string | null | Display name as the platform publishes it. |
| followerCount | integer | null | The platform's public audience count. |
| heartCount | integer | null | Platform-specific profile metric. |
| fetchedAt | ISO datetime | When Sourcevine read the public page. |
| sourceTimestamp | ISO datetime | null | The platform timestamp when it is available. |
| cached | boolean | True when this answer repeats an identical request made moments earlier. |
| cacheAgeSeconds | integer | Seconds since the reading was taken. |
| verified | boolean | |
| avatarUrl | string | |
| videoCount | integer | |
| followingCount | integer |
Request flow
Send a public TikTok profile URL. Sourcevine resolves ids, validates the resource type and returns a typed response.
A URL of the wrong kind or platform is refused with a 400 before any fetch, and not charged.
The public data is read when you call. An identical request moments earlier is answered again, free.
Deleted, private and unsupported resources return explicit statuses, so clients can stop retrying facts about the world.
TikTok names stay intact, so your code reads collects instead of reverse-engineering a generic schema.
fetchedAtcreditsChargedavailableEvery response carries fetchedAt and the platform timestamp, so you know how old a reading is before you act on it. TikTok Profile API fits recurring profile checks in dashboards, spreadsheets, workflows and agents.
Boundaries
Bios, email addresses, phone numbers, postal addresses and messenger handles are outside the response contract.
Private accounts, restricted content and unavailable resources return typed availability instead of guessed data.
Sourcevine does not claim that two profiles on different platforms belong to the same person.
Use cases
Check audience size and publishing volume before inviting a creator.
Attach public profile metrics to a contact, account or opportunity record.
Refresh public profile counters on a schedule and keep the history yourself.
Separate private, deleted and unsupported links from valid public profiles.
Pricing
The response and X-Credits-Charged header tell you what
happened, including when it is zero.
Charged1 credit
Not charged0 credits
FAQ
Follower, video and heart counts for a public TikTok account.
A call costs 1 credit, including an empty result. Retrieval failures are not charged.
The request returns available=false with a typed availability status. Not-found and private results are charged like any lookup; unsupported URLs and retrieval failures are not.
No. Bios, emails, phone numbers, postal addresses and private or restricted content are outside the public response contract.
No. Your integration authenticates with a Sourcevine API key. You do not need to supply TikTok credentials or a session.