Instagram Reel Scraper — Plays, Audio & AI Transcripts
Pricing
from $0.90 / 1,000 reels
Instagram Reel Scraper — Plays, Audio & AI Transcripts
Scrape Instagram reels from public profiles, reel links and audio pages (reels by audio): plays, likes, comment count, caption, hashtags, audio, duration, date and the creator's follower count. Optional AI transcripts at $0.004 per minute. $1.20 per 1,000 reels. No login or cookies.
Pricing
from $0.90 / 1,000 reels
Rating
0.0
(0)
Developer
Yugenox Corp
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
9
Monthly active users
4 days ago
Last modified
Categories
Share
Instagram Reel Scraper — Plays, Audio & Transcripts, No Login
Scrape Instagram reels from any public profile, reel link or audio page. Each reel comes with its plays, likes, comment count, caption, hashtags, audio, duration, date, and the creator's username and follower count. You can also turn on transcripts: the spoken words of each reel as text, in any language. You don't need an account, cookies or an API key.
Why this one
- Built to finish. It runs on the same engine as yugenox/instagram-scraper, and 100 of that Actor's 100 public runs in the 30 days to 2026-10-03 succeeded (Apify Store run stats). Every run ends with the reels it saved and a plain status message. A short timeout, a blocked request or an unexpected error stops the run early and keeps what was read, instead of failing it.
- Transcripts when you want them. Speech to text for $0.004 per minute of audio, in any language, up to 15 minutes per reel. Reels set to a licensed song have no speech, so they are skipped free.
- Fast. In a test run, 400 reels from one profile took 15 seconds.
- Only new reels on a schedule. Monitor mode remembers what each profile, link or audio page returned in earlier runs and returns only its new reels. Reels an input already delivered are never charged again.
- No login, no cookies, no account risk. It only reads what Instagram shows to any visitor.
Input
| Field | What it does |
|---|---|
reelUrls | Usernames (nasa, @nasa), profile URLs (their reels tab, newest first), reel URLs (/reel/…/) or audio pages (/reels/audio/<id>/). |
maxReels | Hard cap on reels for the whole run. This limits your cost. Left empty, it is 100, or maxReelsPerProfile × the number of profiles and links when you set only that. |
maxReelsPerProfile | Cap per profile or audio page, so one big creator can't use up the run. |
newerThan | Only reels after a date (2026-09-01) or within a period (7 days, 2 weeks). On profiles, paging stops at the first older reel. |
skipPinned | Leave out reels pinned to the top of a profile's reels tab. |
includeTranscript | Add the spoken words of each reel (transcript, transcriptLanguage). Off by default. |
monitor, monitorKey | For scheduled runs: return only reels earlier runs didn't save. |
{"reelUrls": ["https://www.instagram.com/nasa/", "https://www.instagram.com/reel/DeCPVhERA8e/"],"maxReels": 50,"newerThan": "30 days","includeTranscript": true}
Hashtag, location and keyword pages are not accepted here, because they mix photos with videos. Use yugenox/instagram-scraper for those.
Inputs written for apify/instagram-reel-scraper work here too: username, resultsLimit (per profile), onlyPostsNewerThan, skipPinnedPosts and includeTranscript. As there, resultsLimit alone caps each profile, not the run: 10 profiles with resultsLimit: 50 return up to 500 reels.
Output
Each row is one reel. A post link you paste yourself that turns out to be a photo or a carousel (a /p/…/ link, or a /reel/…/ link that is really a photo post) is skipped and not charged; the run report marks it not_video. Here is an example row, shortened:
{"url": "https://www.instagram.com/reel/DeCPVhERA8e/","code": "DeCPVhERA8e","createdAt": "2026-10-03T14:10:18.000Z","caption": "Room with a view. Check out my new digs as I camp out in Dragon until our departure…","hashtags": [],"mentions": ["iss"],"likeCount": 39409,"commentCount": 475,"video": { "playCount": 832825, "duration": 27.561, "url": "https://scontent…mp4", "width": 720, "height": 1280 },"audio": { "id": "28373637802328796", "title": "Original audio", "artist": "astro_jessica", "isOriginal": true },"owner": { "username": "astro_jessica", "fullName": "Jessica Meir", "isVerified": true, "followerCount": 721592 },"coowners": [{ "username": "nasa" }, { "username": "iss" }],"engagementRate": 5.5272,"isPinned": false,"transcript": "Good morning from my dragon lair. Now that crew 13 has arrived…","transcriptLanguage": "en"}
Rows also carry image (the cover), location, taggedUsers, isPaidPartnership, productType and source (which of your inputs found the reel). engagementRate is likes plus comments divided by the creator's followers, in percent.
Plays: video.playCount is Instagram's play count, the number on a profile's reels tab. Reels from a profile or an audio page have it. Instagram doesn't show a play count on a single reel's page to logged-out visitors, so for a pasted reel URL playCount is null. Paste the creator's profile instead to get plays.
Share counts are not included. This Actor does not return how many times a reel was shared.
Pricing
$1.20 per 1,000 reels on the Free and Starter plans, less on bigger plans, plus a $0.001 start fee per run.
| Your Apify plan (discount tier) | Per reel | Per 1,000 reels |
|---|---|---|
| Free (FREE) | $0.0012 | $1.20 |
| Starter (BRONZE) | $0.0012 | $1.20 |
| Scale (SILVER) | $0.0010 | $1.00 |
| Business (GOLD) | $0.0009 | $0.90 |
| Enterprise (PLATINUM, DIAMOND) | $0.0009 | $0.90 |
- Start fee: $0.001 per run (charged per GB of memory; the default 512 MB is one).
- Transcripts (optional): $0.004 per started minute of audio. A 27-second reel is one minute. Reels with no speech (a licensed song) and reels longer than 15 minutes are not transcribed and not charged. If transcripts are unavailable on a run, the status message says so and no transcript minutes are charged.
- You pay only for reels saved. Reels older than
newerThan, and reels monitor mode already delivered, are free. - Your spending limit is respected up front. The run stops at the number of reels your limit covers.
- Free Apify plans are limited to 100 reels per run.
- Example: 500 reels on Starter cost $0.60 + $0.001. With transcripts of 30-second reels, add 500 × $0.004 = $2.00.
FAQ
Do I need an Instagram account or cookies? No.
Why is playCount empty for some reels? A pasted reel URL has no play count (see Output). Reels from a profile, pinned ones included, and reels from an audio page have it. If you paste a reel URL and also its audio page, the reel is saved once, from whichever input reaches it first. When that is the URL, the row has no play count. To get its plays, leave the reel URL out.
Can the same reel come back twice? No. When your inputs overlap (a reel URL plus its own audio page, two audio pages that both list it, or a collab reel on two co-owners' profiles you both scrape), each reel is saved and charged once per run, for the input that reached it first. The run report counts the repeats it skipped (duplicatesSkipped). In monitor mode, a reel delivered through one input is remembered for every input that reached it.
What if I paste a link to a photo or carousel? It is skipped and not charged, and the run report marks that input not_video. This Actor only returns videos and reels. Use yugenox/instagram-post-scraper for photos and carousels.
Why do I get only 12 reels from an audio page? Instagram shows only the first 12 reels of an audio page to logged-out visitors. The run report marks such a page capped.
Can I get only the new reels each day? Yes. Schedule the Actor with monitor: true (and a monitorKey per watchlist), or with newerThan: "24 hours".
What about private accounts? Private accounts are skipped. The run report marks them private, and nothing is charged for them.
Which languages do transcripts support? Any spoken language. transcriptLanguage gives the detected language code.
Is it legal to scrape Instagram? This Actor only collects publicly available data: reels and the public profiles of the accounts that posted them, which anyone can see without logging in. Collecting publicly available data is generally legal, but you're responsible for how you use it. Results can include usernames, names, captions and transcripts from public accounts, and that counts as personal data. You must follow privacy laws such as GDPR, PIPEDA and CCPA, as well as Instagram's terms. If you're unsure, check with a lawyer. More on this: Is web scraping legal?
If you contact creators you find, anti-spam laws apply: CASL in Canada, CAN-SPAM in the US, and GDPR/ePrivacy in the EU. Get consent before sending commercial messages.
Does it access any private data? No. Everything comes from pages Instagram shows to any visitor without logging in. It never uses a login, never touches private or restricted accounts, and never reaches password-protected areas.
Use it from code, n8n, Make or an AI agent
curl -X POST "https://api.apify.com/v2/acts/yugenox~instagram-reel-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H 'content-type: application/json' \-d '{"reelUrls":["https://www.instagram.com/nasa/"],"maxReels":20}'
- n8n / Make: use the Apify node, choose "Run Actor and get dataset items" and pick
yugenox/instagram-reel-scraper. - MCP (Claude, Cursor and others): add
https://mcp.apify.com?actors=yugenox/instagram-reel-scraperas an MCP server.
More Instagram tools
- Instagram Scraper: posts, reels, profiles, hashtags, locations and audio, with AI summaries.
- Instagram Comments Scraper: every public comment on posts and reels.
- Instagram Reels Transcript: transcripts first, $0.004 per minute.
- Instagram Trends: Instagram's own trending keywords and rising profiles.
- Instagram Influencer Analytics: median reel plays, engagement and brand deals per creator.