All questionsTikTok

How do I get the view count of a TikTok video?

Call the Openhandle post endpoint with the video ID. The response has metrics.views, plus likes, comments, shares, and saves, as integers. You need an API key, not a TikTok login or a Research API application.

If you have the video URL, pass it to the fetch endpoint first. It returns the video with its id. Short links from the app are expanded for you.

Checked September 2026 · request and response run against the API · no affiliate links

GET /v1/tiktok/posts/{id}
curl "https://api.openhandle.dev/v1/tiktok/posts/920100000000000001" \
  -H "Authorization: Bearer $OPENHANDLE_API_KEY"
TypeScript SDK
import { OpenHandle } from '@openhandle/sdk';

const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
const response = await openhandle.tiktok.post('920100000000000001').get();

console.log(response.data.metrics.views); // 23000
200 OK
{
  "platform": "tiktok",
  "resource": "post",
  "capturedAt": "2026-09-18T09:31:07Z",
  "source": "live",
  "data": {
    "id": "920100000000000001",
    "url": "https://www.tiktok.com/@pixel_orchard_tt_test/video/920100000000000001",
    "caption": "A synthetic orchard loop. #pixelorchard",
    "createdAt": "2026-08-09T15:30:00Z",
    "metrics": {
      "views": 23000,
      "likes": 1200,
      "comments": 24,
      "shares": 73,
      "saves": 88
    }
  }
}

Trimmed to the fields this question needs. The full post has the author, media renditions, sound, hashtags, and more. The example is a Test video, so you can run it on a free Test key.

Why the official TikTok APIs do not do this

The TikTok Research API is for approved academic and non-profit research and needs an application. The Display API only reads the account that logged in. Neither lets a brand or a developer read the view count of a video they do not own.

What a view means

On TikTok a view is a play. Loops count. A video watched three times in a row by one person adds three. That is the same number the app shows, without the "23K" rounding. See metric semantics for how views, likes, and shares differ per platform.

Payouts and reports

  • Use live for money. Add ?freshness=live when the number decides a payout or a contract. The default answers from a capture up to 24 hours old at a lower price.
  • Store the capture time. Every answer carries capturedAt. Store it with the number so a report can be repeated and disputed.
  • Fresh uploads. A video posted minutes ago can show low or missing metrics for a while. A metric TikTok has not published yet is null, never 0.

When this does not work

These answers are definitive. Store them, do not retry them.

SituationStatusCode
The video is deleted or never existed404POST_NOT_FOUND
The account is private403PROFILE_PRIVATE
The identifier is malformed400INVALID_IDENTIFIER
404 Not Found
{
  "error": {
    "code": "POST_NOT_FOUND",
    "message": "This post was not found.",
    "requestId": "req_01j8…",
    "retryable": false
  }
}

A region-locked video that is public in one country and hidden in another answers as the platform shows it to a logged-out visitor. Every new workspace starts with 100 free live requests, no card needed.

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.

For agents