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.
Rank any TikTok feed by views/day velocity, read the hook that made each one blow up, and see whether a trend is still heating or already saturated, from a single scrape, no polling.
@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 14.5B views across 1114 breakouts with 99 heating signals and 548 sounds captured across 3 platforms.
Snapshot captured 37m 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/viraltiktok_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}By the time a TikTok shows up on a 'trending' list, the window has closed. Catching a breakout early means watching speed, not totals — and reading what made it work fast enough to ride it. That's exactly what viral TikTok data from viralcli is built for.
A lifetime view count rewards old videos. Age-normalized views/day rewards the ones accelerating right now. viralcli ranks a TikTok feed by velocity so a 3-day-old rocket sorts above a 6-month-old hit — the difference between catching a trend and documenting one.
Every breakout in the list comes with its hook transcript — the opening words — and a storyboard of the visual beats. Instead of guessing why a viral TikTok worked, you read it, and you can reuse the structure on your own video the same day.
A single discovery scrape reconstructs the format's adoption curve and flags it heating, steady, or saturating. Heating means runway; saturating means you're late. Each breakout also names the sound carrying it, so you can ride the audio as well as the format. Add a breakout webhook and viralcli pings you the instant a TikTok's velocity crosses your threshold — no dashboards to watch.
Paste a link, get the signal.
For solo builders and side projects.
For tools and agents in production.
Pipeline-grade volume + the dataset.
It ranks videos by age-normalized velocity — views divided by the video's age in days — instead of lifetime views, so fast-accelerating clips surface while they're still climbing. A single discovery scrape also reconstructs the format's adoption curve to tell you whether the trend is heating or already saturated, and breakout webhooks fire the moment a video crosses your velocity threshold.
Free to start, no card. Analyze, track, and export short-form video data: one key, clean JSON.