TikTok Video Stats API reference

Views, likes, comments, shares and collects for a public TikTok video. 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 Video Stats API.

Endpoint

GET /v1/tiktok/stats
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

NameTypeRequiredNotes
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/stats' \
  -H 'Authorization: Bearer sv_live_...' \
  --data-urlencode 'url=https://www.tiktok.com/@tiktok/video/7679101730352565535'

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/video/7679101730352565535",
    "likes": 6325,
    "views": 358600,
    "cached": false,
    "shares": 689,
    "videoId": "7679101730352565535",
    "collects": 726,
    "comments": 1891,
    "fetchedAt": "2026-09-02T16:45:56Z",
    "channelLink": "https://www.tiktok.com/@tiktok",
    "channelName": "tiktok",
    "contentType": "video",
    "description": "what started on TikTok grew into a special IRL connection on tour between @Bella Kay \"Behind the Breakthrough.\"",
    "publishedAt": "2026-08-28T15:16:51Z",
    "cacheAgeSeconds": null,
    "sourceTimestamp": null
  },
  "success": true,
  "available": true
}

Fields

FieldTypeNotes
url string Canonical public post URL.
videoId string Platform post or video id.
description string | null Public text after contact-detail scrubbing.
views integer | null Absent where the platform does not publish it.
likes integer | null Public like count when available.
collects integer | null Platform-native engagement field.
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

StatusChargedClient behavior
availableyes for live readsUse data.
not_foundyesStore the state and stop polling.
privateyesStore the state and stop polling.
unsupportednoFix the URL or call the matching API.
upstream_unavailablenoRetry 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 comment bodies: Stats APIs return public engagement counts. They do not return individual comments or commenter identities.

Related

Last updated 1 September 2026