One call, the whole record
Paste a TikTok URL and get back the stats, caption, hook transcript, storyboard, and views/day velocity as a single structured object. Not five scrapes to stitch.
Stats, captions, hook transcript, storyboard, and views/day velocity for any TikTok video, over a clean REST API. No official API, no logins, just public data enriched.
@livia.rae
is this my most-viewed video yet? 👀









Not a mockup. These rows come from the same discovery engine the API serves, ranked by age-normalized views/day. The feed currently represents 16.6B views across 1199 breakouts with 104 heating signals and 590 sounds captured across 3 platforms.
Snapshot captured 12m ago.
A view count tells you what already won. It can’t tell you the hook that made people stay, how fast a video is accelerating right now, or whether its format still has runway. viralcli returns all of it: per video, tracked over time, as a dataset you can build on.
Paste a TikTok URL and get back the stats, caption, hook transcript, storyboard, and views/day velocity as a single structured object. Not five scrapes to stitch.
Views divided by age, so a 2-day breakout and a 2-month evergreen are finally comparable. The number that means “going viral now.”
The opening line as text and the visual beats as one image, so you read why a video worked instead of guessing from a thumbnail.
Give a keyword, get the breakout TikTokvideos ranked by velocity, plus the format’s adoption curve and a one-word read: heating, steady, or saturating. Each breakout carries the sound riding it. From a single scrape, no polling.
Freshest posts are outrunning older ones. The format still has runway.
One scrape tells you where a video stands. Keep watching and you get the truth: how fast it’s accelerating, whether it’s peaking, and a history no one else has. viralcli tracks any video or keyword and pushes events over the same API your agents already call.
Track a video or keyword and the watcher polls it on an adaptive cadence, fast while it accelerates, slow once cold, then pushes a signed webhook the moment velocity crosses your threshold or the video peaks. No dashboard to babysit.
Every snapshot lands in a longitudinal store: hot for live reads, Parquet for history, and exportable. The view counts you capture today become time-series trend history no official API can backfill tomorrow.
The same call shape works on every platform we cover, so an agent written for one is already written for all of them.
One command, or one HTTP request, returns the whole record as JSON, then keeps watching it over time. Same shape on TikTok, Reels, and Shorts, so the code you write once runs everywhere.
# 1 · Analyze any short-form video — CLI or REST, same JSON
$ viralcli analyze "https://www.tiktok.com/@user/video/7361234567890123456"
{
"platform": "tiktok",
"views": 2840000,
"age_days": 3.1,
"views_per_day": 916129, # age-normalized velocity
"transcript": "you've been doing this wrong your whole life",
"transcript_kind": "hook", # the opening seconds, as text
"storyboard": "https://cdn.viralcli.com/sb/tiktok_7361234.jpg",
"creator": "@user"
}
# 2 · Discover breakouts for a keyword — heating or saturating?
$ curl -s -X POST https://api.viralcli.com/v1/discovery \
-H "Authorization: Bearer $VIRALCLI_KEY" \
-H "content-type: application/json" \
-d '{"seed":"tiktok made me buy it"}'
# {"verdict":"HEATING","breakouts":[{…,"sound":"…"}],"adoption_histogram":[…]}
# 3 · Track it over time — true velocity, acceleration, peaking
$ viralcli track <url> --webhook https://you.dev/hooks
# POST on breakout:
# {"event":"breakout","true_vpd":124000,"accel":18000}TikTok has no public data API for this — the official endpoints are gated to advertisers and academic researchers. viralcli reads the same public data you'd see in a browser and returns it as clean JSON: every stat, the caption, the spoken hook, and a velocity number the raw page never shows.
One request to the TikTok data API returns views, likes, comments, the creator, and the full caption — plus the hook transcript, the actual words from the opening of the video. That last part is the difference between scraping numbers and understanding why a TikTok worked.
TikTok shows a lifetime view count and nothing about speed. viralcli stamps each video's age and computes views per day, so you can rank a feed of TikToks by how fast they're actually growing — the metric that separates a current breakout from an old hit coasting on its total.
Beyond single videos, the TikTok trending data endpoint takes a keyword and returns the breakouts plus an adoption histogram — how saturated the format is and whether it's still heating. Every breakout carries its sound (title, artist, and sound ID), so you can see which audio is doing the carrying. Wire breakout webhooks to get pinged the moment a TikTok's velocity crosses your line.
Paste a link, get the signal.
For solo builders and side projects.
For tools and agents in production.
Pipeline-grade volume + the dataset.
For any TikTok video URL: views, likes, comments, share count where available, creator handle, the full caption, a transcript of the spoken hook, a storyboard image of the visual beats, the video's age, and views/day velocity. For a keyword: a ranked list of breakout TikToks — each with the sound riding it (title, artist, sound ID) — plus an adoption histogram and a heating/saturating verdict on the format.
Free to start, no card. Analyze, track, and export short-form video data: one key, clean JSON.