Instagram Reels Scraper
Pricing
from $1.40 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
3
Monthly active users
7 days ago
Last modified
Categories
Features
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 row with plays, likes, comments, caption, hashtags, video and audio links, music, tagged users and owner stats. See which reels, rivals and sounds perform best, with 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.
| Field | Description | Example |
|---|---|---|
inputUrl | The input line this reel came from. | nasa |
id | Instagram media ID. | 4004634989362489982 |
type | Video, Image or Sidecar. | Video |
shortCode | The code in the reel link. | DeTUk4sDSp- |
caption | Full caption text. | POV: you're watching the Earth set |
hashtags | Hashtags in the caption, without #. | ["NASA", "ArtemisII"] |
mentions | Usernames mentioned in the caption, without @. | [] |
url | Link to the reel. | https://www.instagram.com/reel/DeTUk4sDSp-/ |
commentsCount | Total comments on the reel. | 6906 |
firstComment | Text of the first comment shown. | Amazing view! |
latestComments | Latest comments shown to logged-out visitors (text, author, likes, date). | [] |
dimensionsHeight | Video height in pixels. | 1908 |
dimensionsWidth | Video width in pixels. | 1074 |
displayUrl | Cover image link. | https://scontent.cdninstagram.com/...jpg |
videoUrl | Direct MP4 link (expires after some days). | https://instagram.fna.fbcdn.net/...mp4 |
alt | Accessibility description from Instagram. | Video by NASA on October 10, 2026. |
likesCount | Like count (empty when the owner hides it). | 696348 |
videoPlayCount | Play count. | 10076679 |
timestamp | Post time, ISO 8601 UTC. | 2026-10-10T15:15:02.000Z |
ownerFullName | Display name of the owner. | NASA |
ownerUsername | Username of the owner. | nasa |
ownerId | Instagram user ID of the owner. | 528817151 |
productType | clips for reels. | clips |
videoDuration | Video length in seconds. | 43.767 |
musicInfo | Song or original audio: artist, title, audio ID, explicit flag. | {"artist_name": "nasa", "song_name": "Original audio"} |
isCommentsDisabled | True when comments are turned off. | false |
taggedUsers | Accounts tagged in the reel. | [] |
locationName | Location name, if set. | - |
locationId | Instagram location ID, if set. | - |
isPinned | True when pinned to the top of the profile. | false |
coAuthors | Collab partners shown on the reel. | [] |
isCollab | True when the reel has co-authors. | false |
audioUrl | Direct audio-only link (expires after some days). | https://instagram.fna.fbcdn.net/...mp4 |
videoQualities | Every available video file (width, height, link). | [] |
hasAudio | True when the video has sound. | true |
topics | Topic labels Instagram shows for the reel. | ["earthrise"] |
likesHidden | True when the owner hides like counts. | false |
ownerIsVerified | Blue check of the owner. | true |
ownerIsPrivate | True for private accounts. | false |
ownerProfilePicUrl | Profile picture link of the owner. | https://scontent.cdninstagram.com/...jpg |
ownerFollowersCount | Followers of the owner (filled for profile runs; empty when the reel's owner is a collab partner). | 104382986 |
ownerFollowingCount | Accounts the owner follows. | 90 |
ownerBio | Profile bio of the owner. | Exploring the universe |
ownerExternalLinks | Links in the owner bio. | [] |
engagementRateByFollowers | Engagement rate in percent, relative to the owner's followers. | 0.67 |
engagementRateByViews | Engagement rate in percent, relative to plays. | 6.98 |
hoursSincePosted | Hours between posting and the run. | 186.4 |
viewsPerDay | Average plays per day since posting. | 1297000.5 |
hasMoreComments | True 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. The file links sit in videoUrl, 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
- Instagram reels performance tracking: compare
videoPlayCount,likesCountandcommentsCountfor your own or a client's account, and readtimestampwithviewsPerDayfor the average plays per day since posting. Run the same list again later for fresh counts that feed your Instagram reels analytics. - Instagram competitor analysis: add rival brand usernames and compare
engagementRateByViews,viewsPerDayandvideoPlayCountside by side. Rates are fairer than raw totals when accounts differ in size, so an Instagram reels competitor analysis starts with these columns. - Instagram reels benchmark: collect the same fields for every account in one run, then set
engagementRateByFollowersandengagementRateByViewsof your own reels against the rest of your niche for an Instagram engagement rate comparison. - Instagram influencer engagement rate: read
ownerFollowersCountnext toengagementRateByFollowers, and checkownerIsVerified,ownerBioandownerExternalLinks, before a partnership. This lets you analyze Instagram reels from a creator before you sign. - Instagram trending audio: paste a sound link and review
musicInfoandvideoPlayCountfor the reels returned for the sound. Add several audio links to see how each sound performs in your Instagram reels trending sounds research. - Instagram reels content ideas: study
hashtags,topicsandcaptionof the most-played reels in your niche. Sort byvideoPlayCountto see which Instagram reels viral hashtags appear on them. - Caption review: read the
captionof your most-played reels to study Instagram reels viral captions and how top creators open and close them. - Media collection: keep the Instagram reels video URL in
videoUrland theaudioUrllink 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
- Create an Apify account and open Instagram Reels Scraper in the Apify Console.
- Paste usernames, profile links, reel links or audio links into Profiles, reels or audio links.
- Set Reels per profile or audio to the number of newest reels you want for each profile or sound.
- Add Posted after or Posted before if you only need a date range.
- Keep Full reel details on for caption, hashtags, links, music and latest comments, or turn it off for a faster run.
- Click Start and open the Output tab while the run is going.
- 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. Use that data to 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 tier | Price 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.

| Field | What it does |
|---|---|
urls | Required. One item per line: a username, profile link, reel or post link, audio link or numeric media ID. |
reels_count | Maximum reels saved for each profile or audio page, newest first. 0 means all reels Instagram shows (up to 100000). |
beginDate | Only keep reels posted on or after this date (YYYY-MM-DD or a relative value such as 7 days). |
endDate | Only keep reels posted before this date (same formats). |
skip_pinned | Leave out reels the owner pinned to the top of their profile. |
fetch_reels_data | On: 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_reel | How many of the latest comments to include in each reel row (latestComments). 0 means none (up to 50000). |
maxConcurrency | How many reels of the same profile are read at the same time (1 to 20). Higher is faster. |
proxyConfiguration | Optional. 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.

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 table | One row per |
|---|---|
| Reels overview, Engagement, Media links, Caption & tags, Music, Owner, Comments in rows | Reel (different columns of the same data) |
| Comments table | Comment, with the reel it belongs to |
| Profiles table | Scraped profile with follower stats |
| Inputs table | Input 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. engagementRateByFollowers is filled only when the owner's follower count and a like or comment count exist, and engagementRateByViews stays empty when likes and comments are both missing. 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
latestCommentsholds those.commentsCountstill has the total andhasMoreCommentstells 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
videoUrlandaudioUrllinks 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:
| Status | Meaning |
|---|---|
ok | Reels were saved for this input. |
no results | No reels were found, for example none in the chosen date range. |
filtered out | A single reel was posted outside your date range, or it is pinned while pinned reels are skipped. |
stopped | The run reached your spending limit during this input. |
skipped | The run reached your spending limit before this input started. |
failed | The 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.
- Run the same profile list on a schedule with Posted after set to a relative value such as
7 days, so each scheduled run looks only at reels from the last 7 days. - 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
These Actors by crawl_craft cover other Instagram inputs, the short-video platform TikTok and Apple Music artist data:
| Actor | What it extracts | When to use it |
|---|---|---|
| Instagram Post & Reel Details Scraper | Likes, comments, views, caption, hashtags, audio, tagged users, media files, top comments and owner profile for single posts and reels. | Use it when you start from post, reel or TV links, shortcodes or media IDs instead of usernames and audio links. |
| Instagram Reels Search & Trend Discovery | Public reels found by keyword or search link, with plays, likes, comments, hashtags, audio, location and creator stats. | Use it when you start from keywords or search links instead of known accounts. |
| TikTok Video Scraper | Captions, 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 Scraper | Full TikTok profiles found by keyword search. | Use it to discover creators on TikTok before you check their content. |
| TikTok Transcript Scraper | Timestamped transcripts, subtitle languages and translations, plus video and author data. | Use it when you need the spoken text of TikTok videos. |
| Instagram Trending Reels Scraper | The reels Instagram shows as trending, by country, with likes, comments, views, audio and creator details. | Use it when you want Instagram's own trending list without a keyword, account or link to start from. |
| Instagram Mentions Scraper | Posts that photo-tag, @mention or collab with a profile you enter, with caption, engagement and author details. | Use it to track who tags a brand rather than reels or posts you already know. |
| Apple Music Artist Scraper | Artist profiles, top songs, albums, music videos and playlists from Apple Music. | When you want catalogue data for the artists behind Reels audio. |
⚖️ Is it legal to scrape Instagram?
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.