Instagram Reels data, without the official API.

Stats, caption, hook transcript, storyboard, and views/day velocity for any public Instagram Reel: clean JSON over a REST API. No Graph API, no app review, just public data enriched.

FollowingFor You
284K
1,902
40.1K

@livia.rae

is this my most-viewed video yet? 👀

original audio · livia.rae
TikTokInstagramYouTubeTikTokInstagramYouTubeTikTokInstagramYouTube

The fastest Instagram Reels videos our engine is watching right now.

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 7m 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.

1
call → full record
stats · caption · transcript · velocity
no
Graph API
public Reels, no app review
hook
transcript
the opening seconds, as text
JSON
+ webhooks
REST API and breakout alerts
The record

The signal, not just the view count.

One call, the whole record

Paste a Instagram Reels URL and get back the stats, caption, hook transcript, storyboard, and views/day velocity as a single structured object. Not five scrapes to stitch.

analyze → record.json
{
"platform":"instagram",
"views":2_840_000,
"views_per_day":916_129,
"transcript":"you've been doing this wrong…",
"storyboard":"cdn/sb/7361.jpg",
"creator":"@livia.rae"
}
v/day

Age-normalized velocity

Views divided by age, so a 2-day breakout and a 2-month evergreen are finally comparable. The number that means “going viral now.”

Hook + storyboard

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.

Discovery with a heating verdict

Give a keyword, get the breakout Instagram Reelsvideos 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.

Adoption curve · posts × median velocity HEATING
100
82
52
36
24
0–3d3–7d1–2w2–4w1–2mo

Freshest posts are outrunning older ones. The format still has runway.

Trajectory

Not a snapshot. The whole trajectory.

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.

True velocity & acceleration
Tracked trajectory · views/day peaking

Breakout & peaking webhooks

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.

A dataset that compounds

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.

Coverage

Instagram Reels coverage, one schema.

The same call shape works on every platform we cover, so an agent written for one is already written for all of them.

Each call returns

7 fields
Likes / commentsCaptionHook transcriptReel audioStoryboardViews/day velocityCreator

Sources

2
Instagram Reel URLReels enrichment
GET /v1/analyze?url=… same JSON on every source
The API

Analyze, discover, track.

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.

  • Deterministic JSON schema
  • REST + CLI, Bearer key
  • Trajectory + breakout webhooks
viralcli.sh
# 1 · Analyze any short-form video — CLI or REST, same JSON
$ viralcli analyze "https://www.instagram.com/reel/Cxy123abcd/"

{
  "platform": "instagram",
  "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/reels_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":"folding hack"}'
# {"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}
Field guide

What Instagram Reels data API access actually gives you

Instagram's official Graph API needs a business account, app review, and still won't hand you a competitor's Reels or a transcript. viralcli reads public Reels the way a browser does and returns clean JSON — caption, engagement, the spoken hook, and a velocity number Instagram never exposes.

The data the Graph API won't give you

One request to the Reels data API returns the caption, likes, comments, and creator for any public Reel — plus the hook transcript and a storyboard of the visual beats. No app review, no business-account linkage, no waiting on Meta to approve a use case.

Velocity for a platform that hides views

Instagram is stingy with view counts, so reach is hard to judge. Where a Reel exposes plays, viralcli stamps its age and computes views per day; where it doesn't, engagement velocity stands in. Either way you can rank Reels by momentum instead of a raw, ageless number.

Read the hook, reuse the format

Every Reel comes back with its opening hook as text and its visual beats as a storyboard, so you can see exactly how a viral Reel opens and structures itself. Study a batch of breakouts and the repeatable format is obvious — then build your own on the same skeleton.

Pricing

Simple plans. Start without a card.

Free

$0no card

Paste a link, get the signal.

  • 25 video analyses / month
  • Hook transcript + storyboard + stats
  • Views/day velocity on every video
  • YouTube · track 3 videos
Start free

Starter

$29per month

For solo builders and side projects.

  • 800 analyses / month
  • YouTube + TikTok
  • Keyword discovery + format curves
  • Track 15 videos · 90-day history
  • Breakout webhooks
Choose Starter

Pro

$79per month

For tools and agents in production.

  • 2,500 analyses / month
  • All platforms — TikTok, Reels, Shorts
  • Track 50 videos · 1-year history
  • Trajectory: true velocity + acceleration
  • Breakout & peaking webhooks
Choose Pro

Scale

$199per month

Pipeline-grade volume + the dataset.

  • 6,000 analyses / month
  • Track 200 videos · unlimited history
  • Longitudinal Parquet exports
  • 600 req/min · bulk endpoints
  • Priority queue + dedicated workers
Choose Scale
FAQ

Questions, answered.

For any public Reel URL: caption, likes, comments, creator handle, a transcript of the spoken hook, a storyboard image of the visual beats, the Reel's age, and a velocity estimate (views/day where plays are exposed, engagement velocity otherwise). Private accounts are never accessed — public data only.

Put Instagram Reels data in your pipeline.

Free to start, no card. Analyze, track, and export short-form video data: one key, clean JSON.