Instagram Reels Scraper: Views, Likes, Audio & Video URL avatar

Instagram Reels Scraper: Views, Likes, Audio & Video URL

Pricing

from $6.15 / 1,000 results

Go to Apify Store
Instagram Reels Scraper: Views, Likes, Audio & Video URL

Instagram Reels Scraper: Views, Likes, Audio & Video URL

Scrape public Instagram Reels by username or reel URL. No login, no API key. Get views, plays, likes, comments, engagement rate, caption, hashtags, mentions, audio track, tagged users, thumbnail and the direct video URL. Built for influencer and social media analytics. Export JSON, CSV, Excel.

Pricing

from $6.15 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

38

Total users

7

Monthly active users

2 days ago

Last modified

Share

Instagram Reels Scraper: Views, Likes, Audio & Video URL

Instagram Reels Scraper: Views, Likes, Audio & Video URL

Here is one real result, with every field the actor returns (long media URLs are trimmed with ... for readability and one hyphen in the caption replaces a source em dash; all values are real):

{
"imageUrl": "https://scontent-atl3-2.cdninstagram.com/v/t51.82787-15/764637906_18633750226049152_4753965783588088014_n.jpg?...",
"displayUrl": "https://scontent-atl3-2.cdninstagram.com/v/t51.82787-15/764637906_18633750226049152_4753965783588088014_n.jpg?...",
"thumbnailUrl": "https://scontent-atl3-2.cdninstagram.com/v/t51.82787-15/764637906_18633750226049152_4753965783588088014_n.jpg?stp=c0.420.1080.1080a_...",
"type": "reel",
"productType": "clips",
"shortcode": "Dbn-XJhk0_-",
"url": "https://www.instagram.com/reel/Dbn-XJhk0_-/",
"id": "3956405067326902270",
"ownerUsername": "nasa",
"ownerId": "528817151",
"ownerFullName": "NASA",
"ownerIsVerified": true,
"ownerFollowerCount": 104387691,
"ownerProfilePicUrl": "https://scontent-atl3-1.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg?...",
"caption": "Lunar landers, assemble. In clean rooms across the country, the next generation of commercial lunar landers is coming together. From @BlueOrigin and @FireflyAerospace to @IntuitiveMachines and @VoyagerTech_, we're taking you behind the scenes to see the spacecraft that will deliver NASA science and technology to the Moon - helping pave the way for humanity's first Moon Base. Visit the link in our bio to watch the full video and explore the latest progress. Credit: NASA #NASA #Moon #Exploration #Science",
"hashtags": ["NASA", "Moon", "Exploration", "Science"],
"mentions": ["BlueOrigin", "FireflyAerospace", "IntuitiveMachines", "VoyagerTech_"],
"accessibilityCaption": null,
"videoUrl": "https://scontent-atl3-3.cdninstagram.com/o1/v/t2/f2/m86/AQP0XWA-IZtYgM60sxQGnTcDFXB9Qr-EQhcVIY3ka_HcKhek4fKaQD2iWGdl7pTcpiDXif3z1Qlej6QLPtOZ2QpOcr5NNocP8vK3n3Y.mp4?...",
"viewCount": 8373356,
"playCount": 8373356,
"likeCount": 246074,
"commentCount": 2539,
"topComments": [],
"reshareCount": null,
"commentsDisabled": false,
"likeAndViewCountsDisabled": false,
"viewerCanReshare": true,
"isSponsored": false,
"sponsorUsername": null,
"isPinned": false,
"isVideo": true,
"hasAudio": true,
"duration": 32.448001861572266,
"takenAt": "2026-08-04T16:18:15.000Z",
"takenAtTimestamp": 1785860295,
"locationName": null,
"locationId": null,
"musicTitle": "Original audio",
"musicArtist": "nasa",
"musicAudioId": "27499185986420436",
"shouldMuteAudio": null,
"usesOriginalAudio": true,
"musicInfo": {"songName": "Original audio", "artistName": "nasa", "audioId": "27499185986420436", "usesOriginalAudio": true, "shouldMuteAudio": null},
"width": 1080,
"height": 1920,
"taggedUsers": [{"username": "nasamoonbase", "id": "44057602488", "fullName": "NASA Moon Base", "isVerified": true, "profilePicUrl": "https://scontent-atl3-3.cdninstagram.com/v/t51.82787-19/769182890_..._n.jpg?..."}],
"coauthors": ["nasamoonbase"],
"productTags": [],
"isTrialReel": false,
"ownerIsPrivate": false,
"ownerFollowsCount": 92,
"ownerPostsCount": 4879,
"ownerBiography": "Making the seemingly impossible, possible. ✨",
"ownerCategory": null,
"ownerExternalUrl": "https://www.nasa.gov",
"ownerBusinessEmail": null,
"ownerBusinessPhone": null,
"engagementRate": 0.2382,
"observedAt": "2026-08-14T08:28:30.413Z",
"error": null,
"aiSentiment": "positive",
"aiSentimentScore": 0.8,
"aiTopics": ["lunar landers", "space exploration", "NASA", "commercial spaceflight", "moon base"],
"aiCategory": "science"
}

The most complete Instagram Reels scraper and data API available. Pull public Instagram Reels by username or reel URL with no login and no API key, and get every public field a reel exposes: views, plays, likes, comments, caption, hashtags, mentions, audio track, tagged users, product tags, coauthors and the direct video URL. It also adds derived analytics fields such as engagementRate and optional AI caption sentiment and topics, and gives you ten inputs and filters to target exactly the reels you need. Ideal for influencer marketing, social media analytics, competitor research and content trend tracking.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

Give the actor one or more public Instagram usernames, specific reel URLs, or both. For a username, it opens the account's public reels listing (no login), pages through the reels newest first, and writes one normalized record per reel. For a reel URL or shortcode, it reads that single reel's public page. Each record carries the engagement counts (views, plays, likes, comments), the full caption with parsed hashtags and mentions, the audio track, tagged users, coauthors, thumbnail and the direct videoUrl, plus account-level context (follower count, bio, external link). A derived engagementRate is computed from likes, comments, and follower count. Optional paid AI add-ons tag each caption's sentiment and topics.

Only public accounts are supported. Private accounts, and reels that are unavailable, return a single item with a populated error field instead of a record.

  • Influencer marketing: vet creators by real reel views, plays, likes, comments and engagementRate before you spend.
  • Social media analytics: track a brand's or competitor's reel performance over time and by audio, hashtag or location.
  • Content and trend research: find the top reels for an account, the audio tracks they use, and the hashtags and mentions that drive reach.
  • Ad and creative intelligence: flag paid partnerships (isSponsored, sponsorUsername) and shoppable reels (productTags).
  • Lead and outreach data: capture the owner bio, external link and any business email exposed on the profile.

How this compares

CapabilityThis actorTypical Instagram Reels scrapers
Input by usernameYesYes
Input by reel URL or shortcodeYesUsually
Date range filter (newer / older than)Yes, both boundsOften newer-than only
Min views / min likes filtersYesRarely
Sort by views, plays, likes, comments, dateYesRarely
Skip pinned / trial reelsYesSometimes
Views, plays, likes, commentsYesYes
Reshare countYesPaid add-on elsewhere
Direct video URL + thumbnailYesUsually
Audio track (title, artist, id, original-audio flag)YesUsually
Tagged users, coauthors, product tagsYesPartial
Owner stats (followers, bio, link, business email)YesRarely
Derived engagementRateYesNo
AI caption sentiment and topics (opt-in)YesNo
Login or API key requiredNoNo

Field names follow the common Instagram scraper convention, so output is a drop-in replacement for most existing pipelines.

Quickstart

Open the actor, paste this into the input, and press Run. It returns the 5 most recent public reels from NASA.

{
"usernames": ["nasa"],
"maxReels": 5,
"sortBy": "recent"
}

Provide at least one of usernames, reelUrls, or shortcodes. Leave the filters empty to get each account's most recent reels.

Input reference

FieldTypeRequiredDefaultDescription
usernamesstring[]yes*(empty)Public Instagram usernames to scrape reels from, without the @, for example nasa. Private accounts return an error record.
reelUrlsstring[]yes*(empty)Specific reel links, for example https://www.instagram.com/reel/CxAbCdEfGhi/. Post and TV links (/p/, /tv/) are also accepted. Each returns one reel record.
shortcodesstring[]no(empty)Reel shortcodes (the code in a reel URL, for example CxAbCdEfGhi) as an alternative to full URLs.
maxReelsintegerno(unlimited)Maximum number of reels to collect across all inputs.
withDetailsbooleannotrueEnrich each profile reel from its public reel page to add duration and confirm view count and video URL. Turn off for a faster, lighter run.
onlyPostsNewerThanstringno(empty)Keep only reels posted after this point. Absolute date (2026-01-31 or ISO) or relative window such as 7 days, 2 weeks, 3 months.
onlyPostsOlderThanstringno(empty)Keep only reels posted before this point. Same formats as above. Combine both to target a date range.
minViewsintegerno(none)Keep only reels with at least this many views. Instagram hides the view count on many reels; those are excluded when this is set.
minLikesintegerno(none)Keep only reels with at least this many likes.
skipPinnedPostsbooleannofalseExclude reels the account has pinned to the top of its profile.
skipTrialReelsbooleannofalseExclude "trial reels" first shared only with non-followers. The trial flag is best-effort and not exposed on every reel.
sortByenumnorecentOrder before the results limit is applied. One of recent, oldest, views, plays, likes, comments.
withAiSentimentbooleannofalsePaid AI add-on. Classifies each caption's sentiment (positive/neutral/negative with a score). Requires a paid Apify plan. Billed per enriched record.
withAiTopicsbooleannofalsePaid AI add-on. Tags each caption with a broad category and specific topic tags. Requires a paid Apify plan. Billed per enriched record.

*Provide at least one of usernames, reelUrls, or shortcodes.

Output reference

One dataset item per reel. Types: string, integer, number, boolean, string[], object[], object, or null when the source value is absent.

FieldTypeDescription
imageUrlstringCover image URL (largest available).
displayUrlstringSame as imageUrl, the reel display image.
thumbnailUrlstringSmaller thumbnail image URL.
typestringAlways reel.
productTypestringInstagram media product type, for example clips.
shortcodestringThe reel shortcode.
urlstringCanonical reel URL built from the shortcode.
idstringInstagram media ID.
ownerUsernamestringAccount that posted the reel.
ownerIdstringNumeric account ID.
ownerFullNamestringAccount display name.
ownerIsVerifiedbooleanWhether the account is verified.
ownerFollowerCountintegerAccount follower count.
ownerProfilePicUrlstringAccount profile picture URL.
captionstringFull reel caption text, or null.
hashtagsstring[]Hashtags parsed from the caption (without #).
mentionsstring[]Usernames mentioned in the caption.
accessibilityCaptionstringInstagram accessibility caption, or null.
videoUrlstringDirect video file URL.
viewCountintegerView count, or null when Instagram hides it.
playCountintegerPlay count, or null.
likeCountintegerLike count.
commentCountintegerComment count.
topCommentsobject[]Preview comments carried by the listing (id, text, username, likeCount, createdAt). Empty when none.
reshareCountintegerReshare/share count, or null.
commentsDisabledbooleanWhether comments are disabled.
likeAndViewCountsDisabledbooleanWhether like and view counts are hidden.
viewerCanResharebooleanWhether the reel can be reshared.
isSponsoredbooleanWhether it is a paid partnership.
sponsorUsernamestringSponsor username when sponsored, else null.
isPinnedbooleanWhether the reel is pinned on the profile.
isVideobooleanWhether the media is a video.
hasAudiobooleanWhether the reel has audio.
durationnumberVideo duration in seconds.
takenAtstringPost timestamp as ISO 8601.
takenAtTimestampintegerPost timestamp as Unix seconds.
locationNamestringTagged location name, or null.
locationIdstringTagged location ID, or null.
musicTitlestringAudio track title (or Original audio).
musicArtiststringAudio track artist.
musicAudioIdstringInstagram audio cluster/asset ID.
shouldMuteAudiobooleanWhether the audio should be muted, or null.
usesOriginalAudiobooleanWhether the reel uses original audio.
musicInfoobjectCompact audio object (songName, artistName, audioId, usesOriginalAudio, shouldMuteAudio), or null.
widthintegerOriginal media width in pixels.
heightintegerOriginal media height in pixels.
taggedUsersobject[]Users tagged in the reel (username, id, fullName, isVerified, profilePicUrl).
coauthorsstring[]Coauthor usernames.
productTagsobject[]Shopping product tags on the reel (id, name, price, merchantUsername). Empty when the reel is not shoppable.
isTrialReelbooleanWhether the reel is a trial reel (shared to non-followers first), or null when the flag is not exposed.
ownerIsPrivatebooleanWhether the owner account is private.
ownerFollowsCountintegerHow many accounts the owner follows.
ownerPostsCountintegerTotal posts on the owner account.
ownerBiographystringOwner account bio text.
ownerCategorystringOwner account category, or null.
ownerExternalUrlstringExternal link in the owner bio, or null.
ownerBusinessEmailstringBusiness email parsed from the bio, or null.
ownerBusinessPhonestringBusiness phone, or null.
engagementRatenumberDerived: (likes + comments) / followers as a percentage, or null when followers are unknown.
observedAtstringISO 8601 timestamp of when the record was collected.
aiSentimentstringPaid add-on. Caption sentiment: positive, neutral, or negative. null when not enabled.
aiSentimentScorenumberPaid add-on. Sentiment score from -1 to 1, or null.
aiTopicsstring[]Paid add-on. Specific topic tags for the caption, or null.
aiCategorystringPaid add-on. Broad content category, or null.
errorstringnull on success. Error records (private/not found/rate-limited) carry a populated error and no reel fields.

Example output record

The real NASA reel record is shown in full at the top of this page. Every field above appears there with real values (aiSentiment, aiTopics and aiCategory populated because the AI add-ons were enabled on that run).

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~instagram-reels-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"usernames":["nasa"],"maxReels":10,"sortBy":"views"}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~instagram-reels-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"reelUrls":["https://www.instagram.com/reel/Dbn-XJhk0_-/"]}'

Apify CLI:

apify call scrapers_lat/instagram-reels-scraper \
--input '{"usernames":["nasa"],"maxReels":5}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per reel record returned (result event). See the pricing tab for the current per-result price.
  • AI add-ons billed separately. withAiSentiment and withAiTopics are optional paid events (ai_sentiment, ai_topics) charged only when they produce usable output, and only for paid Apify accounts.
  • withDetails enrichment charges a details event only when the extra per-reel detail fetch succeeds.
  • No charge on failure. Error records (private account, not found, rate-limited) are written without a result charge.
  • Free Apify plans are capped at 10 reels per run. Upgrade for higher maxReels.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.

FAQ and troubleshooting

A username returned an error instead of reels. Why? The account is private, does not exist, has no public reels, or Instagram rate-limited the request. The record's error field explains which. Error records are not charged as results.

Why is viewCount null on some reels? Instagram hides the view count on many reels. When minViews is set, reels with a hidden view count are excluded.

How do I get the most viewed reels? Set sortBy to views and a maxReels limit. Sorting by views depends on Instagram exposing the count, which is not available for every reel.

Can I scrape a single reel by URL? Yes. Put the reel URL in reelUrls (or its shortcode in shortcodes). Each returns one record.

Do the AI add-ons work on a free plan? No. withAiSentiment and withAiTopics require a paid Apify plan and are disabled for free accounts.

Do I need an Instagram login, cookies, or an API key? No. The actor reads only public reel data and needs no login, no session cookies, and no Instagram or Meta API key. You only need your Apify token to start runs.

Can I scrape reels by hashtag or keyword search? Not directly. Input is by username, reel URL, or shortcode. To cover a hashtag or topic, pass the usernames or reel URLs you care about. Hashtags and mentions are still parsed out of every caption in the output.

How many reels can I get per username? The actor returns the account's public reels newest first and paginates as far as Instagram will serve without a login. Instagram rate-limits and gates logged-out access, so per-username depth varies by account and moment. For higher volume, pass multiple usernames or specific reel URLs and use a maxReels limit. A reel that Instagram will not serve returns an error record and is not charged.

Is this an official Instagram tool? No. This actor is independent and has no affiliation with Instagram or Meta. It reads only publicly available reel data without logging in.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Instagram or Meta. Accesses only publicly available data without logging in. Use in accordance with Instagram's terms.