TikTok view counts by API: the x402 way

TikTok is where short form video performance is decided, and view counts there move faster than on any other platform. A clip can go from ten thousand views to four million between lunch and dinner. If you are verifying campaign deliverables, monitoring trends, or feeding an AI agent that reasons about content, you need those numbers programmatically, at the moment you ask, without babysitting infrastructure. Here is how to get them for one cent per lookup.

Why TikTok stats are annoying to get

TikTok's official APIs mirror Instagram's structure: solid if you are the account owner or a registered TikTok marketing partner, and largely unavailable for the everyday case of "here is a public video URL, tell me its numbers." The official Research API is gated behind an application process aimed at academic institutions. The Display API returns data for authenticated users about their own content. None of it helps an agent or a script holding a third party URL.

Scraping TikTok yourself means fighting aggressive bot defense on a platform that changes internals constantly. Subscription data vendors will sell you the numbers wrapped in a sales cycle and a monthly minimum. We built a fourth option: a single paid GET request with no account anywhere.

One request, six numbers

GET /api/v1/tiktok/post takes a public video URL and returns views, likes, comments, shares, the author's handle, and the author's follower count. That last field matters: most TikTok stat sources make you do a second lookup for follower data, but our endpoint returns it in the same response, so engagement-relative-to-audience math is one call, not two.

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.AGENT_PRIVATE_KEY);
const payFetch = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
});

const res = await payFetch(
  "https://x402.findclout.com/api/v1/tiktok/post?url=" +
    encodeURIComponent("https://www.tiktok.com/@nflstreetmoments/video/7401882236711")
);
console.log(await res.json());
{
  "success": true,
  "platform": "tiktok",
  "fetchedAt": "2026-07-19T14:05:56.000Z",
  "url": "https://www.tiktok.com/@nflstreetmoments/video/7401882236711",
  "username": "nflstreetmoments",
  "views": 4102338,
  "likes": 512004,
  "comments": 3912,
  "shares": 21480,
  "followers": 1306700
}

The payment happens invisibly inside payFetch: the first attempt receives an HTTP 402 challenge, the wrapper signs a $0.01 USDC authorization on Base, retries, and returns the paid response. Your wallet needs USDC on Base and nothing else, no ETH, because settlement is gasless for the payer via EIP-3009. New to that flow? What is x402 explains the whole cycle in one read.

Reading the numbers correctly

  • views is the platform's play count. TikTok counts a view early in playback, so views run high relative to likes; a 10 to 12 percent like-to-view ratio is exceptional, 3 to 5 percent is healthy.
  • shares is TikTok's superpower metric. Shares per view predicts continued distribution better than likes do. The example above is at 0.52 percent shares per view, which is a strong signal the clip still has legs.
  • followers is the author's count at fetch time. Views far above follower count means the algorithm carried the clip beyond its home audience, which is exactly what you pay creators hoping for.
  • fetchedAt is your freshness timestamp. TikTok numbers move fast; log it with every reading and never compare stats across readings without it.

Polling patterns that make economic sense

At $0.01 per request you can afford real time series, not snapshots. A few shapes that work well:

  • Launch tracking: poll a new post every 30 minutes for its first 48 hours. That is 96 lookups, or 96 cents, for a complete early-life curve of a video.
  • Campaign audit: pull every deliverable once a day for the flight and once more a week after it ends. A 50 post campaign audited daily for 30 days costs $15 total.
  • Trend scan: keep a watchlist of 200 videos and refresh it every 6 hours: $8 a day for a live leaderboard.

Two implementation notes. First, respect the billing rules: bad URLs come back as HTTP 400 and 4xx responses are never charged, while a deleted or private video returns a paid {"success": false, "error": "not_found"}, so prune dead URLs from your polling lists. Second, batch politely: run your lookups with modest concurrency rather than firing hundreds simultaneously, and your latencies will stay smooth.

Third, cache with intent. TikTok numbers move fast during a video's first days and slowly after that, so an age-aware cache (refresh hourly for content under a week old, daily after) cuts your spend substantially without costing you meaningful freshness. The fetchedAt field makes the staleness of any cached reading explicit, so downstream consumers can decide for themselves whether a number is fresh enough.

Mixed platform lists

Campaigns rarely live on one platform. If your URL list mixes TikTok with Instagram reels and X posts, call the universal endpoint instead and let it route by hostname:

const urls = [
  "https://www.tiktok.com/@nflstreetmoments/video/7401882236711",
  "https://www.instagram.com/reel/DLmR4kXtQ2a/",
  "https://x.com/AdamSchefter/status/1812340221459871",
];

for (const url of urls) {
  const r = await payFetch(
    "https://x402.findclout.com/api/v1/post?url=" + encodeURIComponent(url)
  );
  const s = await r.json();
  if (s.success) console.log(s.platform, s.views, s.likes);
}

Same envelope, same cent, one code path. The full cross platform verification workflow, including delivered CPM math and scheduling, is written up in how agents verify influencer campaign results automatically. For Instagram specifics see the x402 Instagram API guide, and if you want to hand these endpoints to an LLM agent as tools, start with the agent wallet tutorial. Related reads: TikTok analytics without developer approval covers what the official Display and Research APIs actually require, and building a social listening agent with a wallet turns these lookups into a scheduled monitor for under a dollar a month.

We use these exact endpoints ourselves. FindClout operates a large American meme page network across sports, finance, entrepreneurship, movies, TV, and music, and view counts are the currency our business runs on; this API is the measurement layer we built for our own campaigns, opened to everyone. The story is in why FindClout built this API.

Want the views, not just the numbers?

FindClout runs the biggest independently owned American meme page network, with sports, finance, entrepreneurship, movie, TV, and music pages reaching real American audiences. We place brands natively inside viral clips people already love: not ads next to content, your product inside it.

Book a call at findclout.com