Instagram Reels Scraper: Views, Likes & Audio avatar

Instagram Reels Scraper: Views, Likes & Audio

Pricing

from $6.15 / 1,000 results

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

Instagram Reels Scraper: Views, Likes & Audio

Scrape public Instagram reels by username or reel URL, no login. Extract view count, likes, comments, duration, caption, audio track, thumbnail and video URL. Export to JSON, CSV or Excel.

Pricing

from $6.15 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

32

Total users

7

Monthly active users

21 hours ago

Last modified

Share

Instagram Reels Scraper: Views, Likes & Audio

Instagram Reels Scraper: Views, Likes & Audio

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"],
"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 available. It returns every public field a reel exposes (views, plays, likes, comments, caption, hashtags, mentions, audio track, tagged users, coauthors and the direct video URL), plus derived fields like engagementRate and optional AI caption sentiment and topics, and gives you nine inputs and filters to target exactly the reels you need. No login required.

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

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

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.