Instagram Reel Trend Decay Radar avatar

Instagram Reel Trend Decay Radar

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Instagram Reel Trend Decay Radar

Instagram Reel Trend Decay Radar

Track Instagram Reel momentum across scheduled snapshots. Detect breakouts, peaks, decay half-life, revivals, and forecast 24/72-hour views with evidence-backed confidence scores and action windows.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Sarthak Kumar

Sarthak Kumar

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

11 days ago

Last modified

Share

PulseDecay — Instagram Reel Trend Decay Radar

PulseDecay turns repeated Instagram Reel metric snapshots into decision-ready trend intelligence. It identifies whether a Reel is accelerating, breaking out, peaking, decaying, evergreen, reviving, or stalled—and shows whether there is still time to act.

Most Instagram APIs return cumulative counters. PulseDecay builds the missing time dimension:

  • Cross-run metric history stored in a named Apify key-value store
  • Interval views/hour, engagement velocity, and acceleration
  • Observed peak velocity and percentage of peak
  • Exponential decay half-life with model-fit quality
  • 24-hour and 72-hour view forecasts with uncertainty ranges
  • Breakout, acceleration, peak, decay, revival, and data-quality alerts
  • Confidence scores that explain missing or weak evidence
  • Within-run opportunity ranking and momentum percentiles
  • Creator-normalized views-per-follower and engagement metrics
  • Evidence series behind every conclusion

Why it stands out

PulseDecay does not label a Reel “viral” because it has many views. It measures the direction and rate of change. A 20,000-view Reel gaining 5,000 views/hour can outrank a two-million-view Reel gaining almost nothing.

It also separates inference from evidence. Every record includes the normalized velocity series, observation duration, snapshot count, model fit, confidence reasons, and forecast range. Downstream systems can decide how much trust to place in each signal.

Two collection modes

Live scrape orchestration

Scrape mode calls a configurable Instagram extraction Actor and normalizes common field names. By default it uses apify/instagram-scraper; extractorActorId and extractorInput can be replaced without changing the analytics layer. The Actor's no-input default runs a small built-in snapshot demo so Apify Store health checks remain deterministic and free of external scraping costs.

{
"mode": "scrape",
"reelUrls": [
"https://www.instagram.com/reel/REEL_CODE/"
],
"profileUrls": [
"https://www.instagram.com/example/"
],
"maxReelsPerProfile": 30,
"historyStoreName": "beauty-reels-radar",
"alertSensitivity": "balanced"
}

The default extraction payload is:

{
"directUrls": ["..."],
"resultsType": "reels",
"resultsLimit": 30
}

If the chosen extractor uses different input names, provide them in extractorInput. These values override the defaults.

Analyze supplied snapshots

Use this mode with the Instagram Graph API, another Apify Actor, a data warehouse, or authorized first-party analytics. Multiple timestamps for the same Reel can be analyzed in one run.

{
"mode": "analyzeSnapshots",
"persistHistory": false,
"snapshots": [
{
"url": "https://www.instagram.com/reel/ABC123/",
"username": "creator",
"publishedAt": "2026-07-26T08:00:00Z",
"collectedAt": "2026-07-26T09:00:00Z",
"views": 1000,
"likes": 80,
"comments": 12,
"followers": 15000
},
{
"url": "https://www.instagram.com/reel/ABC123/",
"username": "creator",
"publishedAt": "2026-07-26T08:00:00Z",
"collectedAt": "2026-07-26T10:00:00Z",
"views": 3400,
"likes": 240,
"comments": 31,
"followers": 15000
}
]
}

Common extractor aliases are accepted, including shortCode, code, videoPlayCount, playCount, views, likesCount, commentsCount, ownerUsername, owner.followersCount, and several audio shapes.

Scheduling strategy

Use the same historyStoreName for every scheduled run.

Reel ageSuggested intervalPurpose
0–6 hours30–60 minutesCatch early acceleration
6–24 hours1–2 hoursDetect breakout and peak
1–3 days3–6 hoursEstimate decay half-life
4–14 daysDailyDetect evergreen tails and revival

The minimum spacing defaults to 15 minutes. Observations inside that window replace the preceding snapshot instead of producing unstable velocity.

Output

{
"reelId": "ABC123",
"url": "https://www.instagram.com/reel/ABC123/",
"momentum": {
"phase": "breakout",
"viewsPerHour": 2400,
"previousViewsPerHour": 900,
"accelerationPct": 166.67,
"peakViewsPerHour": 2400,
"percentOfPeakVelocity": 100,
"momentumScore": 78.4,
"momentumPercentile": 100,
"rank": 1
},
"decay": {
"detected": false,
"halfLifeHours": null,
"modelFitR2": null,
"estimatedPeakAt": "2026-07-26T10:00:00.000Z",
"hoursSincePeak": 0
},
"forecast": {
"viewsIn24Hours": 61000,
"viewsIn72Hours": 176200,
"expectedAdditionalViews24h": 57600,
"range24h": { "low": 42000, "high": 80000 }
},
"opportunity": {
"trendScore": 82.1,
"actionWindow": "act_now",
"recommendation": "Breakout detected. Publish a differentiated response or activate this creator immediately."
},
"confidence": {
"score": 64,
"level": "medium",
"reasons": ["Observation window is shorter than six hours"]
},
"alerts": [
{
"type": "BREAKOUT",
"severity": "critical",
"message": "View velocity is breaking above its prior trajectory."
}
]
}

Results are ranked by opportunity score in the default dataset. OUTPUT contains phase counts, actionable-now totals, and the ten highest-ranking opportunities.

API usage

curl -X POST \
"https://api.apify.com/v2/acts/YOUR_USERNAME~instagram-reel-trend-decay-radar/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mode": "scrape",
"reelUrls": ["https://www.instagram.com/reel/ABC123/"],
"historyStoreName": "my-radar"
}'

Schedule the Actor in Apify Console and send critical alert records to Slack, email, a webhook, Make, or Zapier.

Local development

Requires Node.js 22 or newer.

npm install
npm run build
npm test

For a no-network local run, create storage/key_value_stores/default/INPUT.json using analyzeSnapshots mode, then run:

$npm run dev

Model behavior and limitations

  • At least two spaced snapshots are needed for velocity; three or more improve phase detection.
  • A decay half-life requires at least three positive velocity intervals and a negative fitted slope.
  • Forecasts are short-horizon extrapolations, not guarantees. Confidence and range widen with weak history.
  • Counter drops are treated as source corrections and ignored for velocity instead of becoming negative growth.
  • Within-run percentiles compare only the Reels analyzed in that run.
  • Profile follower counts may be absent from extractor results; creator-normalized metrics remain null rather than being guessed.

Responsible use

Use public or properly authorized data only. Do not collect private profiles, DMs, credentials, or sensitive personal data. Instagram/Meta restricts automated collection without permission; configure this Actor with a source and use case that comply with applicable platform terms, privacy law, data-retention requirements, and your contracts. The Actor deliberately separates analytics from extraction so it can work with official or first-party data.