Instagram Reels Scraper avatar

Instagram Reels Scraper

Pricing

from $1.40 / 1,000 results

Go to Apify Store
Instagram Reels Scraper

Instagram Reels Scraper

Watching Reels one by one to find what performs wastes hours. Paste usernames, reel links or audio pages and get plays, likes, comments, captions, hashtags, music, MP4 video links and engagement rates in bulk. No login or cookies.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Crawl Craft

Crawl Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

🚀 What is Instagram Reels Scraper?

Instagram Reels Scraper is an Apify Actor that collects public reels from Instagram profiles, reel links and audio pages. Each reel comes back as a structured row with plays, likes, comments, caption, hashtags, video and audio links, music, tagged users and owner stats. You need no Instagram login.

  • 🎯 One input box for everything: usernames, @handles, profile links, reel links, audio links and media IDs can be mixed in one list.
  • ⚡ Live results: each reel is saved as soon as it is ready, so you can open the Output tab while the run is still going.
  • 📊 Ready-made metrics: engagement rate by plays and by followers, plays per day and hours since posted.
  • 🎵 Audio pages too: paste a sound link and collect the reels that use it.
  • 🗂️ Section tables: reels overview, engagement, media links, caption and tags, music, owner, comments, profiles and inputs.

Click Try for free, paste a username and press Start.

📊 What data can you extract from Instagram reels?

This Instagram reels data extractor returns one row per reel with the fields below. You can export the dataset as JSON, CSV, Excel, XML or HTML.

FieldDescriptionExample
inputUrlThe input line this reel came from.nasa
idInstagram media ID.4004634989362489982
typeVideo, Image or Sidecar.Video
shortCodeThe code in the reel link.DeTUk4sDSp-
captionFull caption text.POV: you're watching the Earth set
hashtagsHashtags in the caption, without #.["NASA", "ArtemisII"]
mentionsUsernames mentioned in the caption, without @.[]
urlLink to the reel.https://www.instagram.com/reel/DeTUk4sDSp-/
commentsCountTotal comments on the reel.6906
firstCommentText of the first comment shown.Amazing view!
latestCommentsLatest comments shown to logged-out visitors (text, author, likes, date).[]
dimensionsHeightVideo height in pixels.1908
dimensionsWidthVideo width in pixels.1074
displayUrlCover image link.https://scontent.cdninstagram.com/...jpg
videoUrlDirect MP4 link (expires after some days).https://instagram.fna.fbcdn.net/...mp4
altAccessibility description from Instagram.Video by NASA on October 10, 2026.
likesCountLike count (empty when the owner hides it).696348
videoPlayCountPlay count.10076679
timestampPost time, ISO 8601 UTC.2026-10-10T15:15:02.000Z
ownerFullNameDisplay name of the owner.NASA
ownerUsernameUsername of the owner.nasa
ownerIdInstagram user ID of the owner.528817151
productTypeclips for reels.clips
videoDurationVideo length in seconds.43.767
musicInfoSong or original audio: artist, title, audio ID, explicit flag.{"artist_name": "nasa", "song_name": "Original audio"}
isCommentsDisabledTrue when comments are turned off.false
taggedUsersAccounts tagged in the reel.[]
locationNameLocation name, if set.-
locationIdInstagram location ID, if set.-
isPinnedTrue when pinned to the top of the profile.false
coAuthorsCollab partners shown on the reel.[]
isCollabTrue when the reel has co-authors.false
audioUrlDirect audio-only link (expires after some days).https://instagram.fna.fbcdn.net/...mp4
videoQualitiesEvery available video file (width, height, link).[]
hasAudioTrue when the video has sound.true
topicsTopic labels Instagram shows for the reel.["earthrise"]
likesHiddenTrue when the owner hides like counts.false
ownerIsVerifiedBlue check of the owner.true
ownerIsPrivateTrue for private accounts.false
ownerProfilePicUrlProfile picture link of the owner.https://scontent.cdninstagram.com/...jpg
ownerFollowersCountFollowers of the owner (filled for profile runs; empty when the reel's owner is a collab partner).104382986
ownerFollowingCountAccounts the owner follows.90
ownerBioProfile bio of the owner.Exploring the universe
ownerExternalLinksLinks in the owner bio.[]
engagementRateByFollowersEngagement rate in percent, relative to the owner's followers.0.67
engagementRateByViewsEngagement rate in percent, relative to plays.6.98
hoursSincePostedHours between posting and the run.186.4
viewsPerDayAverage plays per day since posting.1297000.5
hasMoreCommentsTrue when the reel has more comments than shown.true

Plays are saved as videoPlayCount, which makes the Actor an Instagram reels views scraper as well. The Instagram reels play count comes from the same row as likes and comments, so you can compare them directly. Each Instagram reels video URL is stored in videoUrl, next to audioUrl and videoQualities.

Extra tables next to the reels

  • Comments table: inputUrl, reelShortCode, reelUrl, reelOwnerUsername, commentId, text, ownerUsername, ownerIsVerified, ownerProfilePicUrl, timestamp, likesCount, repliesCount, isReply.
  • Profiles table: inputUrl, username, fullName, id, isVerified, isPrivate, bio, followersCount, followingCount, profilePicUrl, externalLinks, profileUrl, reelsCollected, scrapedAt.
  • Inputs table: inputUrl, inputType, status, reelsCollected, message, scrapedAt.

💡 Use cases for Instagram reels data

  • Reel performance tracking: compare videoPlayCount, likesCount and commentsCount between runs for Instagram reels analytics on your own or a client's account.
  • Competitor benchmarking: use engagementRateByViews and viewsPerDay to run an Instagram reels competitor analysis across rival brands.
  • Influencer vetting: read ownerFollowersCount next to engagementRateByFollowers to analyze Instagram reels from a creator before a partnership.
  • Trending sound research: paste an audio link and review musicInfo for every reel that uses the sound.
  • Content research: study hashtags and topics to see which Instagram reels hashtags cluster around a theme.
  • Caption review: export caption text to see how top creators write their Instagram reels captions.
  • Media collection: keep videoUrl and audioUrl links from each reel for archiving or research, and download them soon because they expire.
  • Single reel lookup: paste one reel link and the Instagram reel scraper returns that reel with its full details.

🛠️ How to scrape Instagram reels

  1. Create an Apify account and open Instagram Reels Scraper in the Apify Console.
  2. Paste usernames, profile links, reel links or audio links into Profiles, reels or audio links.
  3. Set Reels per profile or audio to the number of newest reels you want for each profile or sound.
  4. Add Posted after or Posted before if you only need a date range.
  5. Keep Full reel details on for caption, hashtags, links, music and latest comments, or turn it off for a faster run.
  6. Click Start and open the Output tab while the run is going.
  7. Download the dataset as JSON, CSV, Excel, XML or HTML.

How to scrape Instagram reels by username

Type a username such as nasa or @nasa, or paste a profile link. The Instagram profile reels scraper then saves the newest reels first until it reaches your Reels per profile or audio limit, or all reels Instagram shows when you enter 0.

How to scrape Instagram reels by audio

Paste an audio link such as https://www.instagram.com/reels/audio/123.../. The Instagram audio reels scraper reads the reels that use the sound and fills musicInfo with the artist, song and audio ID, so you can follow Instagram reels music trends.

How to scrape Instagram reels without login

You do not enter an Instagram account or password anywhere. As an Instagram reels scraper without login, it reads only what a logged-out visitor can see, so private accounts and hidden content are not available.

How to filter Instagram reels by date

Fill Posted after and Posted before to filter Instagram reels by date. Use YYYY-MM-DD or a relative value such as 7 days, 2 weeks, 3 months or 1 year, and a relative value in Posted before means older than that.

How to export Instagram reels to CSV

When the run finishes, open the Output tab or the dataset and choose CSV to export Instagram reels to CSV. Pick Excel in the same menu to get your Instagram reels to Excel in one click.

💰 How much does it cost to scrape Instagram reels?

Instagram Reels Scraper uses pay-per-event pricing: you pay for each reel saved as a result, plus a very small Actor Start charge of $0.00005 per run start. The price per 1,000 results depends on your pricing tier:

Pricing tierPrice per 1,000 results
Free$2
Bronze$1.8
Silver$1.6
Gold, Platinum and Diamond$1.4

For example, 1,000 reels cost $2 in the Free row and $1.4 in the Gold, Platinum and Diamond rows. The comments, profiles and inputs tables add no extra result charges, and a run stops cleanly when it reaches your spending limit. See the Pricing tab for current rates.

⬇️ Input

The Instagram reels scraper tool needs only one input, the urls list. Everything else is optional, and you can open the Input tab to see every option in the form. You can fill the form or send the same JSON to the Instagram reels data scraper through the API.

Instagram reels scraper Apify Actor input form with profile links and reel count

FieldWhat it does
urlsRequired. One item per line: a username, profile link, reel or post link, audio link or numeric media ID.
reels_countMaximum reels saved for each profile or audio page, newest first. 0 means all reels Instagram shows (up to 100000).
beginDateOnly keep reels posted on or after this date (YYYY-MM-DD or a relative value such as 7 days).
endDateOnly keep reels posted before this date (same formats).
skip_pinnedLeave out reels the owner pinned to the top of their profile.
fetch_reels_dataOn: every reel gets its full details. Off: much faster, and profile reels only carry the link, play, like and comment counts, cover image and pinned flag. Reel links and audio pages always come with full details.
comments_per_reelHow many of the latest comments to include in each reel row (latestComments). 0 means none (up to 50000).
maxConcurrencyHow many reels of the same profile are read at the same time (1 to 20). Higher is faster.
proxyConfigurationOptional. Pick a proxy yourself, or leave the default.

Example input:

{
"urls": ["nasa"],
"reels_count": 10,
"skip_pinned": false,
"fetch_reels_data": true,
"comments_per_reel": 5
}

💡 Start with a small reels_count for your first test run, then raise it once the output looks right.

⬆️ Output

The scraped results are shown as a dataset in the Storage tab. The table view is for convenience and doesn't show all the fields. This Instagram reels extractor saves each reel the moment it is ready. Instagram reels scraping runs therefore show rows in the dataset while they are still going.

Instagram Reels Scraper output table with plays, likes and comments

Export formats: JSON, CSV, Excel, XML and HTML.

Example output for one reel (built from the example values in the dataset schema, not a captured run):

{
"inputUrl": "nasa",
"id": "4004634989362489982",
"type": "Video",
"shortCode": "DeTUk4sDSp-",
"caption": "POV: you're watching the Earth set",
"hashtags": ["NASA", "ArtemisII"],
"mentions": [],
"url": "https://www.instagram.com/reel/DeTUk4sDSp-/",
"commentsCount": 6906,
"firstComment": "Amazing view!",
"latestComments": [],
"dimensionsHeight": 1908,
"dimensionsWidth": 1074,
"displayUrl": "https://scontent.cdninstagram.com/...jpg",
"videoUrl": "https://instagram.fna.fbcdn.net/...mp4",
"alt": "Video by NASA on October 10, 2026.",
"likesCount": 696348,
"videoPlayCount": 10076679,
"timestamp": "2026-10-10T15:15:02.000Z",
"ownerFullName": "NASA",
"ownerUsername": "nasa",
"ownerId": "528817151",
"productType": "clips",
"videoDuration": 43.767,
"musicInfo": { "artist_name": "nasa", "song_name": "Original audio" },
"isCommentsDisabled": false,
"taggedUsers": [],
"isPinned": false,
"coAuthors": [],
"isCollab": false,
"audioUrl": "https://instagram.fna.fbcdn.net/...mp4",
"videoQualities": [],
"hasAudio": true,
"topics": ["earthrise"],
"likesHidden": false,
"ownerIsVerified": true,
"ownerIsPrivate": false,
"ownerProfilePicUrl": "https://scontent.cdninstagram.com/...jpg",
"ownerFollowersCount": 104382986,
"ownerFollowingCount": 90,
"ownerBio": "Exploring the universe",
"ownerExternalLinks": [],
"engagementRateByFollowers": 0.67,
"engagementRateByViews": 6.98,
"hoursSincePosted": 186.4,
"viewsPerDay": 1297000.5,
"hasMoreComments": true
}

The Output tab groups the same data into views and tables:

View or tableOne row per
Reels overview, Engagement, Media links, Caption & tags, Music, Owner, Comments in rowsReel (different columns of the same data)
Comments tableComment, with the reel it belongs to
Profiles tableScraped profile with follower stats
Inputs tableInput line with its status

As an Instagram reels comments scraper, it fills the Comments table from the latest comments of each saved reel. A run summary with totals and per-input status is also saved as SUMMARY in the key-value store. Keep in mind that engagementRateByViews and engagementRateByFollowers give you the Instagram reels engagement rate in percent, while likesCount stays empty when likesHidden is true.

⚠️ Limitations and error handling

  • The Instagram reels crawler reads public pages only, so a private account is marked as failed in the Inputs table with a message that it is private.
  • A numeric user ID cannot be turned into a username without login. Use the username or profile link instead.
  • Instagram shows logged-out visitors only the first page of comments, usually about a dozen, so latestComments holds those. commentsCount still has the total and hasMoreComments tells you more exist.
  • For a single reel link, the play count may stay empty for older reels of the owner.
  • Instagram may show logged-out visitors only part of the reels that use a sound. The Inputs table message notes how many were shown.
  • Direct videoUrl and audioUrl links expire after some days.
  • Owner follower fields are filled for profile runs and stay empty when the reel's owner is a collab partner.
  • Instagram can change its pages. If an input fails, check the Inputs table and open an issue with the run link.

The Inputs table has one row per input line. Its status is one of these values:

StatusMeaning
okReels were saved for this input.
no resultsNo reels were found, for example none in the chosen date range.
filtered outA single reel was posted outside your date range, or it is pinned while pinned reels are skipped.
stoppedThe run reached your spending limit during this input.
skippedThe run reached your spending limit before this input started.
failedThe input could not be read. The message field says why and what to try next.

🔌 Integrating Instagram Reels Scraper with other apps

Every run can be started and read through the Apify API, so the Actor also works as an Instagram reels scraper API for your own code. See the API tab for ready-made JavaScript, Python and CLI snippets.

  • Use the Apify API as an Instagram reels API to start runs and read results.
  • Read the dataset items endpoint as an Instagram reels data API for dashboards and spreadsheets.
  • Schedule runs, call webhooks when a run finishes and connect results to tools such as Make, Zapier or Google Sheets through the Apify integrations.
  • Paste many inputs at once and the Instagram reels bulk scraper handles them in a single run.
  • AI agents can start the Actor through Apify's MCP server.

🔗 More Apify Actors by crawl_craft

TikTok is another short-video platform, and these Actors by crawl_craft cover it:

ActorWhat it extractsWhen to use it
TikTok Video ScraperCaptions, hashtags, views, likes, comments, shares, author and music data, plus video downloads and transcripts.Use it when your short-video research also includes TikTok videos.
TikTok User Search ScraperFull TikTok profiles found by keyword search.Use it to discover creators on TikTok before you check their content.
TikTok Transcript ScraperTimestamped transcripts, subtitle languages and translations, plus video and author data.Use it when you need the spoken text of TikTok videos.

Instagram Reels Scraper collects only reels and profile details that are visible to logged-out visitors on Instagram, and it does not access private accounts. Results may still contain personal data, so collect it only with a legitimate reason and consider GDPR (Regulation (EU) 2016/679) and Instagram's terms. Consult a lawyer if you are unsure. Read Apify's posts on the legality of web scraping and ethical web scraping for background.

❓ FAQ

Can you scrape Instagram reels?

Yes, public reels can be collected from profiles, reel links and audio pages. Instagram Reels Scraper reads what a logged-out visitor can see and returns it as a dataset.

Can Apify scrape Instagram reels?

Yes, this Actor runs on Apify. Start it from the Console, schedule it, or call it through the API.

Do I need an Instagram login?

No. You do not enter an Instagram account, and private accounts cannot be scraped.

Does Instagram Reels have an API?

Check Meta's developer documentation for its own options. If you need an Instagram API to fetch reels without setting up your own app, Instagram Reels Scraper returns public reel data as a dataset that you read through the Apify API.

How many reels can I get?

Set reels_count for each profile or audio page, up to 100000, or enter 0 for all reels Instagram shows. Run a small test first to see how many reels an input returns.

How much does it cost?

You pay per reel saved as a result, plus the Actor Start charge of $0.00005 per run start. See the Pricing section above and the Pricing tab for the price per 1,000 results in your tier.

Why do I get only about a dozen comments per reel?

Instagram shows logged-out visitors only the first page of comments. Use commentsCount for the full total.

Do I need a proxy?

No. The proxy field is optional, and you can leave the default.

💬 Your feedback

Found a bug or missing field? Open an issue on the Actor's Issues tab with the run link and the input you used. For a custom solution, such as extra fields or a private data pipeline, write to hello.crawlcraft@gmail.com.