TikTok Channel Videos API reference

A page of recent public videos for a TikTok account, with a cursor. 2 credits for a live read, 0 credits from cache.

This named API keeps TikTok fields in TikTok's own vocabulary. For a higher-level product page, seeTikTok Channel Videos API.

Endpoint

GET /v1/tiktok/posts
Authorization: Bearer sv_live_...

`POST` is also accepted with the same parameters in the request body. Use the `Authorization` header rather than putting a key in the query string.

Parameters

NameTypeRequiredNotes
urlstringyesPublic TikTok URL matching this API's input.
cachebooleanno`true` by default. Send `false` to force a live read.
cursorstringnoCursor returned by the previous page.
limitintegernoMaximum items to return, up to 50.

Sample Request

This is a copyable request shape. Replace the sample URL with your own public TikTok URL.

curl -G 'https://api.sourcevine.io/v1/tiktok/posts' \
  -H 'Authorization: Bearer sv_live_...' \
  --data-urlencode 'url=https://www.tiktok.com/@atlas.makes' \
  --data-urlencode 'limit=20'

Sample Response

The response below is illustrative. Live values depend on the public resource, platform availability and cache state.

{
  "success": true,
  "available": true,
  "data": {
    "items": [
      {
        "videoId": "7042118893001",
        "description": "Desk build timelapse",
        "views": 1284300,
        "likes": 89300,
        "collects": 14720,
        "cached": true
      },
      {
        "videoId": "7042118893002",
        "description": "Tool wall setup",
        "views": 342900,
        "likes": 22830,
        "collects": 4910,
        "cached": true
      }
    ],
    "nextCursor": "eyJwYWdlIjoyfQ",
    "fetchedAt": "2026-08-28T09:41:44Z",
    "cached": true,
    "cacheAgeSeconds": 312
  }
}

Fields

FieldTypeNotes
itemsarrayA page of public TikTok posts or videos.
nextCursorstring | nullPass as cursor to request the next page.
items[].viewsinteger | nullPresent only where the platform reports it.
items[].likesinteger | nullPer-item public like count.
items[].cachedbooleanMatches the page provenance on cached reads.
fetchedAtISO datetimeWhen Sourcevine read the public page.
sourceTimestampISO datetime | nullThe platform timestamp when it is available.
cachedbooleanTrue when the response was served from cache and cost 0 credits.
cacheAgeSecondsintegerAge of the cached reading, or 0 for a live read.

Availability States

StatusChargedClient behavior
availableyes for live readsUse data.
not_foundnoStore the state and stop polling.
privatenoStore 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.

Caching And Billing

A live read costs 2 credits. A cache hit costs 0 credits. The `X-Credits-Charged` response header is the source of truth for what happened on that request.

Successful responses include `cached`, `cacheAgeSeconds` and `fetchedAt`. Send `cache=false` only when you need a live read; the default uses cache so repeated checks of the same public URL do not bill twice.

What This API Does Not Return

Related

Last updated 28 August 2026