TikTok Profile API reference
Follower, video and heart counts for a public TikTok account. Takes a public URL, returns one object, 1 credit a call.
This named API keeps TikTok fields in TikTok's own vocabulary. For a higher-level product page, see TikTok Profile API.
Endpoint
GET /v1/tiktok/profile
Authorization: Bearer sv_live_... `POST` is also accepted with the same parameters in the request body. Send the key in the `Authorization` header, never in the query string.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
url | string | yes | Public TikTok URL matching this API's input. |
Sample Request
This is a copyable request shape. Replace the sample values with the public TikTok target or parameters your workflow uses.
curl -G 'https://api.sourcevine.io/v1/tiktok/profile' \
-H 'Authorization: Bearer sv_live_...' \
--data-urlencode 'url=https://www.tiktok.com/@tiktok' Sample Response
A response this API returned, against the target above. Your values depend on the resource you ask about and when you ask.
{
"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
} Fields
| Field | Type | Notes |
|---|---|---|
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. |
Availability States
| Status | Charged | Client behavior |
|---|---|---|
available | yes for live reads | Use data. |
not_found | yes | Store the state and stop polling. |
private | yes | Store the state and stop polling. |
unsupported | no | Fix the URL or call the matching API. |
upstream_unavailable | no | Retry later with backoff. |
Unavailable resources return `success: true`, `available: false`, `availability`, and `data: null`. API or authentication failures return `success: false` with an `error` object.
Billing
A call costs 1 credit. A deleted, private or empty resource is charged like any lookup and says so. An unsupported URL or a read we could not complete is not charged. The `X-Credits-Charged` response header is the source of truth for what happened on that request.
Successful responses include `fetchedAt`, the time we read the platform.
What This API Does Not Return
- No contact or bio fields: Bios, email addresses, phone numbers, postal addresses and messenger handles are outside the response contract.
- No private data: Private accounts, restricted content and unavailable resources return typed availability instead of guessed data.
- No identity matching: Sourcevine does not claim that two profiles on different platforms belong to the same person.
Related
- TikTok API hub
- TikTok Profile API product page
- Quickstart
- Credits and billing
- TikTok Video Stats API reference
- TikTok Channel Videos API reference
- TikTok Search API reference
- TikTok Hashtag API reference
Last updated 1 September 2026