Instagram Reel Scraper: Views, Captions, Audio, No Login
Pricing
from $0.99 / 1,000 reels
Instagram Reel Scraper: Views, Captions, Audio, No Login
Scrape public Instagram reels from profiles or reel links: caption, hashtags, mentions, views, likes, comments, duration, post time, owner, thumbnail, video URL, song or original audio, coauthors, tagged users, location. No login or cookies. Pay per reel.
Pricing
from $0.99 / 1,000 reels
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
3
Monthly active users
2 days ago
Last modified
Categories
Share
From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors.
Why choose this actor?
- The whole reel record in one row. In our test on 5 October 2026, five brand profiles (Nike, BBC News, Red Bull, SpaceX, Netflix) returned 100 reels in 58 seconds, and every one of the 100 rows had the view count, likes, comments, caption, duration, exact post time, owner, thumbnail, video URL and audio. No Instagram account, no cookies of yours, no browser.
- Profiles or single reel links, in one run. Give usernames to get each profile's newest reels, paste reel links to get exactly those reels, or mix both. A reel that shows up twice (on a profile and as a link) is delivered and charged once.
- You pay only for reels you receive. Private accounts, usernames that do not exist, photo links and reels Instagram refused are listed in the run summary and never charged. Every outcome is explained in the
OUTPUTrecord of the run.
Part of The Mine Works Social media and video family: Threads Scraper, Reddit Scraper, Threads Search Scraper, Instagram Profile Scraper, Instagram Followers & Following, Reddit Search Scraper.
Try it in one minute
Paste this into the JSON tab of the input page. It returns the 10 newest reels of National Geographic in under 30 seconds.
{"usernames": ["natgeo"],"maxReelsPerProfile": 10}
You can give the actor two kinds of input, in any mix: usernames (a username like natgeo, a handle like @natgeo, or a profile link such as https://www.instagram.com/natgeo/ or https://www.instagram.com/natgeo/reels/) and reelUrls (links to single reels: https://www.instagram.com/reel/<code>/, /reels/<code>/, or /p/<code>/ for a video post). A reel link put in usernames, or a profile put in reelUrls, is moved to the right list for you.
Apify's free plan includes $5 of credit every month, which covers about 2,400 reels at this actor's price.
Copy to your AI assistant
themineworks/instagram-reel-scraper on Apify. Scrapes public Instagram reels with no login, from profiles (newest reels first) or from single reel links, and returns one row per reel with shortCode, url, caption, hashtags, mentions, videoPlayCount (views), likesCount, commentsCount, videoDuration, timestamp, ownerUsername, ownerFullName, ownerId, displayUrl (thumbnail), videoUrl, musicInfo (song title and artist, or original audio), coauthorProducers, taggedUsers, locationName and isPaidPartnership. Call ApifyClient("TOKEN").actor("themineworks/instagram-reel-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: usernames (array of usernames or profile links) and/or reelUrls (array of reel links). Optional: maxReelsPerProfile (default 12, 10 to 300), newerThan (a date like 2026-09-01 or a period like "30 days"), skipPinned (default true). Skip rows with _type "info"; the per profile and per link run summary is the key-value store record OUTPUT. Full spec: GET https://api.apify.com/v2/acts/themineworks~instagram-reel-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
Key features
- Up to 33 fields per reel. In our 121 sampled rows, 26 fields were filled in every row, including views, likes, comments, duration, exact time, owner, thumbnail, MP4 link, video size and audio, and the caption was in 120 of 121. Hashtags, mentions, coauthors and tagged users always come as lists (empty when the reel has none); location appears when the reel has one.
- Audio for every reel.
musicInfosays whether the reel uses a licensed song (with song title, artist and whether it is trending) or the creator's original audio, with the audio id you can group by. In our sample, Selena Gomez's reels carried songs such as "Rock Around the Clock" by Bill Haley and His Comets. - Up to 300 reels per profile, up to 500 profiles per run. Instagram serves a reels tab 12 reels at a time. In our tests we read 360 reels deep on National Geographic and NASA's whole reels tab (287 reels, back to August 2022) without a wall.
- Date window that stops early. Set
newerThanto a date or a period, and reading a profile stops as soon as its reels are older than that, so a weekly report reads one or two pages per profile. - Up to 1,000 reel links per run. A pasted link gets every field from the reel itself; its view count is looked up on the owner's reels tab, within the owner's 96 newest reels.
- Pinned reels handled. Pinned reels sit on top of a profile whatever their age. They are skipped by default, so you get the latest reels in date order; switch
skipPinnedoff to include them, flagged withisPinned.
How to use it
Basic: the newest reels of one profile
{"usernames": ["nike"],"maxReelsPerProfile": 24}
Several profiles and a few reel links in one run
{"usernames": ["natgeo", "selenagomez", "https://www.instagram.com/redbull/reels/"],"reelUrls": ["https://www.instagram.com/reel/Dd9Etk7R91I/","https://www.instagram.com/reel/DdFg4unI3vP/"],"maxReelsPerProfile": 12}
Profiles run three at a time. If a linked reel was already delivered from a profile in the same run, it is not repeated and not charged twice; the summary marks it duplicate.
Weekly competitor reel report
Track what your competitors posted last week and how it performed.
{"usernames": ["nike", "adidas", "puma", "newbalance", "underarmour"],"maxReelsPerProfile": 50,"newerThan": "7 days"}
Reading each profile stops at the first reel older than seven days, so you pay only for last week's reels. Scheduling tip: in Apify Console open this actor, go to Schedules, add a weekly schedule with this input, and connect Google Sheets so each week's reels land in a new tab.
Audio and trend research
Find which songs creators in a niche are using. Pull 30 reels from each account and group the rows by musicInfo.songTitle and musicInfo.artistName; musicInfo.isTrending shows which tracks Instagram marks as trending.
{"usernames": ["selenagomez", "arianagrande", "dualipa", "charlidamelio"],"maxReelsPerProfile": 30}
Influencer vetting before a campaign
Look at a creator's last 60 reels: views, likes and comments per reel, how often they post (timestamp), how many are paid partnerships (isPaidPartnership) and who they collaborate with (coauthorProducers, taggedUsers).
{"usernames": ["mkbhd", "zachking"],"maxReelsPerProfile": 60,"skipPinned": true}
Refresh a list of reel links you already have
Paste up to 1,000 reel links, for example from a spreadsheet of campaign deliverables, and get the current views, likes and comments for each. Run it daily on a schedule to see how the numbers grow.
{"reelUrls": ["https://www.instagram.com/reel/Dd9Etk7R91I/","https://www.instagram.com/reel/Dd_irlvg4ar/"]}
When you give only reel links, the example profiles prefilled in the form are left out automatically, so they are never scraped by accident.
Input parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
usernames | array of strings | ["natgeo", "nasa"] | Public profiles to read reels from, newest first, up to 500 per run. Usernames, @handles and profile links all work. Reel links here are moved to reelUrls. Left out automatically when you give reel links but keep this example list unchanged. |
reelUrls | array of strings | empty | Links to single reels, up to 1,000 per run. Photo and carousel links are skipped and not charged. |
maxReelsPerProfile | integer | 12 | Newest reels to return per profile, from 10 to 300. |
newerThan | string | empty | Only reels newer than this, for profiles: a date (2026-09-01) or a period (30 days, 2 weeks, 3 months, 1 year). Empty means no date limit. |
skipPinned | boolean | true | Leave out reels pinned on top of a profile. |
proxyConfiguration | object | {"useApifyProxy": true} | Apify datacenter proxy, all this actor needs. Residential groups are removed if selected. |
The actor also accepts the field names other reel scrapers use, so existing integrations keep working: username, directUrls, startUrls and urls for input, resultsLimit for the per profile count, onlyPostsNewerThan for the date window and skipPinnedPosts for pinned reels.
What data do you get?
One row per reel. Fields, grouped:
- The reel:
shortCode,id,url,productType(clipsfor a reel),timestamp(exact publish time, UTC),videoDuration(seconds),dimensionsWidth,dimensionsHeight,hasAudio,captionIsEdited. - Performance:
videoPlayCount(views, as shown on the reels tab),likesCount,commentsCount,countsHidden(true when the owner hid like and view counts). - Text:
caption,hashtagsandmentions(parsed from the caption, in the order written, without the # or @). - Media links:
displayUrl(the cover image, largest size served) andvideoUrl(the MP4 file). Instagram's media links are signed and expire after a few days, so download what you need soon after the run. - Audio:
musicInfowithaudioType(licensed_musicororiginal_sounds),audioId,songTitle,artistName,isOriginalAudio,isExplicit,isTrending, andisMutedwithmutedReasonwhen Instagram has pulled a song. - Owner and people:
ownerUsername,ownerFullName,ownerId,ownerIsVerified,coauthorProducers(collab partners),taggedUsers. - Context:
locationNameandlocationIdwhen the reel has a location,isPaidPartnership,isPinned(profile rows, and reel links found on the owner's tab). - Where it came from:
inputUrl(the username or link you gave),source(profileorreel_url),scrapedAt.
A collab reel appears on the reels tab of every coauthor. When you read a coauthor's profile, the row's ownerUsername is the account that posted it, and coauthorProducers lists the partners.
Stable fields for automations
These fields were present in every one of the 121 rows we sampled on 5 October 2026:
| Field | What it holds |
|---|---|
shortCode | The reel's code, the part after /reel/ in its link |
url | Link to the reel |
id | Instagram's numeric media id |
source | profile or reel_url |
inputUrl | The username or link from your input |
videoPlayCount | Views |
likesCount | Likes |
commentsCount | Comments |
videoDuration | Length in seconds |
timestamp | Publish time, ISO 8601 in UTC |
ownerUsername | Account that posted the reel |
displayUrl | Cover image link |
videoUrl | MP4 link |
musicInfo | Audio object (audioType, songTitle, artistName and more) |
scrapedAt | When the row was read |
These names will not change. New fields may be added, never renamed or removed.
Output examples
A reel read from a profile (National Geographic), trimmed:
{"inputUrl": "natgeo","source": "profile","id": "3999067523172763307","shortCode": "Dd_irlvg4ar","url": "https://www.instagram.com/reel/Dd_irlvg4ar/","productType": "clips","caption": "Presented by @Rolex. A simple branch becomes a fishing rod in the hands of these...","hashtags": ["Rolex", "PerpetualPlanet", "AfricaEarthsWildHome"],"mentions": ["Rolex", "DisneyPlus", "hulu"],"videoPlayCount": 8521380,"likesCount": 319250,"commentsCount": 1386,"videoDuration": 29.95,"timestamp": "2026-10-02T13:01:26.000Z","ownerUsername": "natgeo","ownerFullName": "National Geographic","ownerIsVerified": true,"displayUrl": "https://scontent-mia3-3.cdninstagram.com/v/t51.82787-15/829146391_...jpg","videoUrl": "https://scontent-mia5-1.cdninstagram.com/o1/v/t2/f2/m86/AQNpFqO89P...mp4","dimensionsWidth": 1080,"dimensionsHeight": 1920,"musicInfo": {"audioType": "original_sounds","audioId": "28828718343431696","songTitle": "Original audio","artistName": "natgeo","isOriginalAudio": true,"isTrending": false},"isPaidPartnership": false,"isPinned": false,"scrapedAt": "2026-10-05T17:46:00.809Z"}
A reel with a licensed song (Selena Gomez), trimmed:
{"inputUrl": "selenagomez","source": "profile","shortCode": "DdFg4unI3vP","url": "https://www.instagram.com/reel/DdFg4unI3vP/","caption": "All @rarebeauty today 🩵","mentions": ["rarebeauty"],"videoPlayCount": 24838882,"likesCount": 705763,"commentsCount": 6926,"videoDuration": 54.5,"timestamp": "2026-09-10T00:09:34.000Z","ownerUsername": "selenagomez","musicInfo": {"audioType": "licensed_music","audioId": "277765363103643","songTitle": "Rock Around the Clock","artistName": "Bill Haley and His Comets","isOriginalAudio": false,"isExplicit": false,"isTrending": true}}
A reel from a pasted link (a Nike collab with @nikebasketball), trimmed:
{"inputUrl": "https://www.instagram.com/reel/Dd9Etk7R91I/","source": "reel_url","shortCode": "Dd9Etk7R91I","caption": "*Just @caitlinclark22 making it look easy. It’s really that simple.","mentions": ["caitlinclark22"],"videoPlayCount": 1905150,"likesCount": 45765,"commentsCount": 1466,"videoDuration": 30.03,"timestamp": "2026-10-01T14:00:30.000Z","ownerUsername": "nike","ownerFullName": "Nike","coauthorProducers": ["nikebasketball"],"taggedUsers": ["nikebasketball", "caitlinclark22"],"musicInfo": { "audioType": "original_sounds", "songTitle": "Original audio", "artistName": "nike", "isOriginalAudio": true }}
The run summary in the OUTPUT record of the same test, trimmed:
{"status": "finished","reels_delivered": 21,"status_counts": { "ok": 3, "not_found": 1, "not_a_reel": 1 },"profiles": [{ "username": "natgeo", "status": "ok", "reels_delivered": 10, "reels_read": 12, "pages": 1 },{ "username": "zzqx_not_real_user_8812", "status": "not_found", "reels_delivered": 0, "note": "No Instagram account has this username. Not charged." }],"reel_links": [{ "input": "https://www.instagram.com/p/DdHyaYAifb6/", "status": "not_a_reel", "note": "This link is a photo or carousel post, not a reel. Not charged." },{ "input": "https://www.instagram.com/reel/Dd9Etk7R91I/", "status": "ok" }]}
Pricing
Pay per event: you pay for each reel delivered to your dataset, plus a flat $0.005 per run, whatever memory you choose.
| Event | Free plan | Starter (Bronze) | Scale (Silver) | Business (Gold) and above |
|---|---|---|---|---|
Reel delivered (reel-scraped), per 1,000 reels | $1.99 | $1.69 | $1.39 | $0.99 |
Run start (run-start), once per run | $0.005 | $0.005 | $0.005 | $0.005 |
The start fee is our own flat run-start event, not Apify's per GB start event, so it stays $0.005 at any memory setting. It is charged once when a run with at least one usable username or link starts. Audio, captions, video links, the date filter, the proxy and the run summary are all included in the per reel price.
Never charged: private accounts, usernames that do not exist, restricted profiles, photo and carousel links given as reel links, reels Instagram refused to serve, reels repeated within a run, invalid input, and the info row. A run whose input holds nothing usable stops before the start fee. You can also cap a run's spend with Apify's "Max cost per run" setting; once the cap is reached the actor stops and writes its OUTPUT summary.
FAQ
What does this actor collect?
Public Instagram reels, the short vertical videos on a profile's Reels tab. For each reel you get its views, likes, comments, caption, hashtags, mentions, length, publish time, owner, cover image, video file link and audio. It reads what Instagram shows a logged out visitor, nothing more.
How many reels can I get per profile?
Up to 300 per profile per run, newest first. Instagram serves a reels tab 12 reels at a time. In our tests on 5 October 2026 we read 360 reels deep on National Geographic (Instagram still had more) and NASA's whole reels tab, 287 reels back to August 2022, with no login and no wall. A profile with fewer reels returns what it has.
Is the view count the number Instagram shows?
Yes. videoPlayCount is the play count Instagram shows on the profile's reels tab. For a reel given as a link, the actor finds that number on the owner's reels tab among the owner's 96 newest reels; an older linked reel comes with every other field but without videoPlayCount, and the summary says so. If the owner hid the counts, countsHidden is true.
How fresh is the data?
Every run reads Instagram live, so counts are as of scrapedAt. Nothing is cached between runs.
Do I need an Instagram account, cookies or my own proxy?
No. The actor reads Instagram as a logged out visitor over Apify's datacenter proxy, which is included. You never share a login or a cookie.
What happens with private accounts, missing usernames or deleted reels?
They are not charged. Each one is listed in the OUTPUT record of the run with a status (private, not_found, unavailable, no_reels, not_a_reel, blocked) and a plain note.
Can I download the videos?
Each row has videoUrl, a direct MP4 link, and displayUrl, the cover image. Instagram signs these links and they expire after a few days, so download the files soon after the run.
Can I get the comments or a transcript of what is said?
This actor returns the number of comments, not their text. For what is said in a reel, our Video Transcriber turns Instagram, TikTok and YouTube Shorts links into text.
Why do some rows belong to another account than the profile I asked for?
Those are collab reels. Instagram shows a collab on the reels tab of every coauthor. ownerUsername is the account that posted it and coauthorProducers lists the partners, so you can keep or filter them.
How is this different from your Instagram Reels Views Scraper?
Instagram Reels Views Scraper is built for view analytics: each reel compared with the profile's median views, filters by minimum views, and captions only as an option. This actor returns the full reel record every time (caption, audio, video link, duration, tags, coauthors) and also takes single reel links.
Can I search reels by hashtag or keyword?
No. Give profiles or reel links. Hashtag and keyword search on Instagram needs a login, which this actor never uses.
Can I run it on a schedule?
Yes. In Apify Console open the actor, go to Schedules and add one with your input. Use newerThan (for example 7 days on a weekly schedule) so each run reads only the new reels.
What formats can I export?
JSON, CSV, Excel, XML, HTML table and RSS from the run's dataset, or through the Apify API. Rows with _type set to info are a run note; skip them in your pipeline.
Can I use it from Claude, ChatGPT or another AI assistant?
Yes, through Apify's MCP server.
- Connector URL: https://mcp.apify.com/?tools=themineworks/instagram-reel-scraper
- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: turn on developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code:
claude mcp add -t http instagram-reel-scraper "https://mcp.apify.com/?tools=themineworks/instagram-reel-scraper"
Is it legal to scrape Instagram reels?
The actor collects only public data that Instagram shows to anyone without logging in. You are responsible for how you use it: follow Instagram's terms where they apply to you and data protection law such as GDPR and CCPA, especially if the accounts belong to private individuals.
Integrations
- Google Sheets, Excel, CSV, JSON: export the dataset from the run page, or link a Google Sheet with Apify's Google Sheets integration.
- Make, Zapier, n8n: use the Apify app to start a run and pick up the reels when it finishes, for example to post a weekly competitor digest to Slack.
- Webhooks: get a call to your own endpoint when a run succeeds or fails.
- API: start runs and read results with the Apify API or the
apify-clientpackage for Python and JavaScript. - MCP clients: Claude, ChatGPT, Cursor and other MCP clients can call the actor through Apify's MCP server.
More from The Mine Works
Social media and video
- Threads Scraper
- Reddit Scraper
- Threads Search Scraper
- Instagram Profile Scraper
- Instagram Followers & Following
- Reddit Search Scraper
- Twitter / X Scraper
- YouTube Transcript
- Xiaohongshu (RED) Scraper
- Telegram Channel Scraper
- Telegram Channel Finder
- Pinterest Profile Scraper
Leads and business directories
Marketing, SEO and reviews
Real estate
Science, health and government data
Jobs and hiring
Company and business data
E-commerce and marketplaces
Food and local services
Developer and AI tools
More tools
Support
Found a problem or need a field we do not return? Open an issue on the actor's Issues tab and we will answer there. To ask for a new source, email dmineworks@gmail.com.
Instagram Reel Scraper turns public profiles and reel links into one row per reel with views, captions, audio and video links, with no login and no charge for anything it does not deliver.

