Instagram Trending Reels Scraper — Viral Reels avatar

Instagram Trending Reels Scraper — Viral Reels

Pricing

from $5.00 / 1,000 trending reel returneds

Go to Apify Store
Instagram Trending Reels Scraper — Viral Reels

Instagram Trending Reels Scraper — Viral Reels

Get a fresh, deduplicated sample of trending and viral Instagram Reels. Each row has Reel URL, caption, hashtags, posted time, plays, likes, comments, engagement rate, creator and audio. Filter by plays, likes, comments or date; filtered and duplicate Reels are never charged.

Pricing

from $5.00 / 1,000 trending reel returneds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

1

Bookmarked

140

Total users

48

Monthly active users

14 hours ago

Last modified

Features

Limited permissions

Share

Get today's trending and viral Instagram Reels with plays, likes, comments, captions, hashtags, audio and creator details in one deduplicated dataset. It is built for creative strategists, social researchers, brand teams, analysts and AI agents who need a fresh sample of what is popular on Instagram right now. No Instagram login or cookies are needed.

You giveYou getPrice
A result cap and optional play, like, comment and date filtersOne row per unique trending Reel: Reel URL, caption, hashtags, posted time, plays, likes, comments, engagement rate, creator, audio$5 per 1,000 Reels (trending-reel-found), Apify platform usage included

The sample comes from Instagram's recent popular-content discovery (public Popular pages and featured topics). Reels older than about seven days are left out, and repeated refreshes can overlap, so the Actor deduplicates by Reel ID. This is a recent popular-Reels sample, not an official global ranking or a measure of view growth.

Two ways to use it

ModeSetYou get
Trending sample (default)leave searchQuery emptyThe current recent popular-Reels sample, deduplicated. Event: trending-reel-found.
Keyword searchsearchQuery (for example home workout)Up to 100 Reels about your topic, 10 per source page, recency filter with postedWithin. Event: reel-search-result. Opens once its price takes effect; the Pricing tab always shows what is live.

Both modes share the same filters: plays, likes, comments, date and word lists. Word lists work like a Boolean search on the caption, hashtags and creator name: mustIncludeWords = AND, anyOfWords = OR, excludeWords = NOT. Reels removed by a filter or as duplicates are never charged.

Best fit for this Actor

  • Choose this Actor when your question starts with "what is trending on Instagram Reels right now?" and you want a bounded, deduplicated sample.
  • Use the play, like, comment and publication-time filters to keep only Reels that match your brief. Filtered Reels are skipped before any charge.
  • Enable temporary media URLs when a downstream step consumes the video or thumbnail links promptly.
  • Continue with the Instagram Profile Scraper when selected creatorUsername values need profile, bio, category and public contact enrichment.

A creative strategist asks for 50 trending Reels with at least 100,000 plays. The Actor refreshes the recent popular-Reels sample, removes duplicates, applies the filters and saves one row per accepted Reel. The strategist then groups recurring hooks, hashtags, creator types and audio choices, keeping reelUrl and sampledAt beside every observation so each point in the brief links back to a real Reel.

Quick start input

{
"maxResults": 20,
"minPlayCount": 100000,
"minLikeCount": 0,
"includeMediaUrls": false
}

maxResults is the hard cap for saved Reels and Reel events. maxRefreshes (optional) limits how many times the Actor refreshes the sample when it keeps returning Reels you already have. A charge limit that stops collection ends the run as PARTIAL.

Input reference

FieldTypeWhat it controls
maxResultsintegerCap on unique trending Reel rows (1–100).
maxRefreshesintegerMaximum source calls used to gather unique Reels: 1–20 for the trending sample, 1–11 result pages for search. Derived from maxResults when left empty.
minPlayCountintegerKeeps Reels at or above this public play count.
minLikeCountintegerKeeps Reels at or above this public like count.
minCommentCountintegerKeeps Reels at or above this public comment count.
onlyReelsNewerThanstringISO publication cutoff in YYYY-MM-DD form.
searchQuerystringKeyword or short phrase for search mode. Leave empty for the trending sample.
postedWithinstringSearch mode only: any, last-week, last-month or last-year.
mustIncludeWordslistKeep only Reels containing every word (AND).
anyOfWordslistKeep only Reels containing at least one word (OR).
excludeWordslistDrop Reels containing any of these words (NOT).
includeMediaUrlsbooleanAdds temporary public video and thumbnail URLs.

What data you receive

One dataset item is one unique public Reel accepted from the recent popular-Reels sample.

Field groupUseful fields
Reel identityreelId, shortcode, reelUrl
Contentcaption, captionHashtags, postedAt
EngagementplayCount, likeCount, commentCount, engagementCount, playEngagementRate
CreatorcreatorId, creatorUsername, creatorName, creatorProfileUrl, creatorIsVerified, creatorIsPrivate
Audio and mediaaudioId, audioTitle, audioArtist, hasAudio, videoUrl, thumbnailUrl
Extra detail (mostly search mode)durationSeconds, isPaidPartnership, isAd, locationName, locationLatitude, locationLongitude
Sample contexttrendingFeedPosition (trending), searchQuery and searchPosition (search), trendSource, sampledAt, runId

Example row from a real run (caption shortened):

{
"reelId": "4002691241979923488",
"shortcode": "DeMano3x8wg",
"reelUrl": "https://www.instagram.com/reel/DeMano3x8wg/",
"caption": "Dancing with the Stars: Live! - 2027 Tour is coming to Bridgestone Arena on Feb. 28, with an all-new show!",
"captionHashtags": [],
"postedAt": "2026-10-07T13:00:22.000Z",
"playCount": 404205,
"likeCount": 6307,
"commentCount": 256,
"engagementCount": 6563,
"playEngagementRate": 1.6237,
"creatorUsername": "bridgestonearenaofficial",
"creatorName": "Bridgestone Arena",
"creatorProfileUrl": "https://www.instagram.com/bridgestonearenaofficial/",
"creatorIsVerified": true,
"audioTitle": "Original audio",
"hasAudio": true,
"trendingFeedPosition": 1,
"trendSource": "instagram-recent-popular-reels",
"sampledAt": "2026-10-12T06:13:55.161Z"
}

Use through the API

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~instagram-trending-reels-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"maxResults": 20,
"minPlayCount": 100000,
"includeMediaUrls": false
}'

When the run is done, read the default dataset for Reel rows and the OUTPUT or RUN_SUMMARY record for the outcome (COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT or UPSTREAM_FAILED), item counts and billing counters.

Use with AI agents through Apify MCP

Collect 30 currently trending public Instagram Reels with at least 50,000 plays. Return Reel URL, caption, hashtags, posted time, plays, likes, comments, creator username and audio title. Then summarize recurring creative patterns, keeping each Reel URL beside the observation it supports.

For good agent results, state the sample size and filters, ask only for the fields the brief needs, and keep reelUrl and sampledAt with every comparison.

Pricing

This Actor uses Pay per event with Apify platform usage included. Each saved Reel is one trending-reel-found event ($5 per 1,000 Reels), plus a tiny apify-actor-start event per run. A 20-Reel trending run costs about $0.10 in Reel events (when the sample holds that many unique Reels). Keyword search results are a separate reel-search-result event; its price is shown on the Pricing tab once live. Reels removed by your filters or as duplicates are not charged. See the Pricing tab for the current rates.

Best results

  • Keep each sample focused on one creative, audience or category question.
  • Use minPlayCount, minLikeCount and onlyReelsNewerThan when the brief has clear engagement or recency criteria.
  • Enable media URLs only when you use the temporary links straight away.
  • Treat trendingFeedPosition as the order within this sample, not a global Instagram rank.

FAQ

Can I get Reels for a specific keyword or niche?

Yes, with keyword search: set searchQuery (for example home workout), add postedWithin for recency, and use the word lists to narrow it further. The trending sample itself is global and small (usually 10–20 unique Reels at a time), so a keyword is the way to get more volume on a topic. For Reels from specific profiles, use the Instagram Reels Scraper.

Instagram's recent popular-Reels sample changes slowly and repeats. The Actor stops refreshing once two refreshes in a row bring nothing new, so you do not pay for repeats and the run ends sooner. Ask for what you need with keyword search instead.

Why did I get fewer Reels than I asked for?

The sample overlaps between refreshes, search pages run out after about 110 Reels, and your filters remove Reels below the thresholds. Relax the filters or change the keyword to collect more unique Reels.

Do I need an Instagram account?

No. The Actor reads public data only and never asks for a login or cookies.

Builder's note

I built the normalization around a stable Reel ID and a canonical public URL because repeated refreshes of a popular-content sample overlap a lot. Deduplicating by ID before charging keeps the sample honest and means you never pay twice for the same Reel.

What's new

  • 2026-11: Keyword search with Boolean-style word lists, posted-within filter, Reel length, ad and paid-partnership flags and place tags. The trending sample now stops early when it only repeats, so runs finish sooner.

Responsible use

Use public Instagram data for authorized research, keep source context, and handle creator information in line with applicable laws, Instagram's terms and your organization's social-data policies.