One call, the whole record
Paste a TikTok URL and get back the stats, caption, hook transcript, storyboard, and views/day velocity — a single structured JSON 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? 👀
$ viralcli analyze tiktok.com/@user/video/736123…
{
"platform": "tiktok",
"views": 2840000,
"age_days": 3.1,
"views_per_day": 916129,
"hook_transcript": "my video is going
viral — most views on TikTok?",
"storyboard": "…/sb/viraltiktok_736.jpg",
"verdict": "HEATING"
}








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 — a single structured JSON 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 — read why a video worked instead of guessing from a thumbnail.
Give a keyword, get the breakout TikTok videos ranked by velocity plus an adoption histogram — and a one-word read on whether the format is heating, steady, or saturating. From a single scrape, no polling.
A single scrape tells you where a video stands. Keep watching it 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 over time and pushes you events — over the same REST API and CLI your agents already call.
One scrape gives a lifetime average; tracking gives the truth. Two snapshots yield instantaneous views/day, three yield acceleration — so you know a video is peaking now, not just that it once went viral. Every tracked video returns its full trajectory.
Track a video or keyword and the watcher polls it on an adaptive cadence — fast while it accelerates, slow once cold — and 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 is 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
"hook_transcript": "you've been doing this wrong your whole life",
"storyboard": "https://cdn.viralcli.com/sb/viraltiktok_7361234.jpg",
"creator": "@user"
}
# 2 · Discover breakouts for a keyword — heating or saturating?
$ curl -s "https://api.viralcli.com/v1/discover?q=tiktok+made+me+buy+it" \
-H "Authorization: Bearer $VIRALCLI_KEY"
# {"verdict":"HEATING","breakouts":[…],"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. 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.
Start free