Instagram Reels Audio Scraper
Pricing
from $5.31 / 1,000 audio records
Instagram Reels Audio Scraper
🎵 Extract public Instagram Reels audio metadata, artists, usage signals, and representative Reels without login.
Pricing
from $5.31 / 1,000 audio records
Rating
5.0
(1)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
4
Monthly active users
5 days ago
Last modified
Categories
Share
Extract public Instagram Reels audio metadata and representative Reels without logging in.
Start with public audio page URLs or numeric audio IDs to build monitoring-ready datasets for sound research, creator campaigns, and trend analysis.
- 🎵 Normalize audio IDs and canonical music IDs
- 📊 Capture public usage signals and representative Reel engagement
- 👤 Identify artists and creators when Instagram exposes them
- 🔁 Deduplicate repeated URLs and IDs automatically
- 🕒 Add stable scrape timestamps for recurring comparisons
What does Instagram Reels Audio Scraper do?
Instagram Reels Audio Scraper accepts public audio page URLs and numeric audio IDs, then visits public audio pages and returns one normalized record per audio source.
Each record can include:
- audio ID
- canonical audio ID
- audio title
- artist or creator
- original-versus-licensed classification
- public audio media URL
- duration
- thumbnail
- public usage count
- bounded sample of associated Reels
- scrape timestamp
Unavailable fields are omitted rather than filled with misleading values.
Who is it for?
Social media agencies
Monitor sounds used across client campaigns and compare representative posts over time.
Creators
Research how a sound is reused before planning a new Reel.
Music marketers
Collect public examples of creator adoption and engagement around tracks.
Influencer teams
Find representative creators using an audio asset and export results for outreach research.
Trend researchers
Take recurring snapshots of public audio pages for downstream change detection.
Why use this Instagram audio scraper?
Manual audio-page research does not scale well.
Audio IDs, creator details, engagement signals, and media links are spread across Instagram responses.
This Actor converts those responses into stable JSON records that can be exported, scheduled, and integrated.
It does not require Instagram credentials and only targets public pages.
Input
Provide at least one public audio page URL or numeric audio ID in audioInputs.
{"audioInputs": ["579408562507956"],"maxItems": 10,"maxReelsPerAudio": 20}
| Field | Type | Description |
|---|---|---|
audioInputs | string[] | Public audio URLs or numeric audio IDs |
maxItems | integer | Maximum unique audio records |
maxReelsPerAudio | integer | Maximum Reel samples embedded per audio |
proxyConfiguration | object | Optional Apify Proxy settings |
Duplicate audio IDs and equivalent URLs produce one record.
Output data
The default dataset contains one item per audio ID.
| Field | Type | Description |
|---|---|---|
audioId | string | ID requested by the user |
canonicalAudioId | string | Canonical music ID when exposed |
title | string | Audio or track title |
artist | string | Display artist or original creator |
artistUsername | string | Instagram username when exposed |
isOriginalAudio | boolean | Whether Instagram classifies it as original audio |
audioType | string | Instagram audio classification |
audioUrl | string | Temporary public audio media URL when exposed |
durationSeconds | number | Duration visible in the public response |
thumbnailUrl | string | Representative public thumbnail |
usageCount | number | Public Reel usage count when exposed |
sourceUrl | string | Canonical audio page |
reels | object[] | Bounded representative Reel samples |
reelsReturned | integer | Number of embedded Reel samples |
scrapedAt | string | UTC extraction timestamp |
Reel sample fields
Each object in reels can contain:
- Reel ID and shortcode
- public Reel URL
- caption
- creator username and display name
- creator ID
- like and comment counts
- play and view counts
- video duration
- thumbnail and temporary video URL
- publication timestamp
Instagram may omit metrics or media links for some public posts.
Example output
{"audioId": "579408562507956","title": "Original audio","artist": "Public creator","isOriginalAudio": true,"audioType": "original_sounds","sourceUrl": "https://www.instagram.com/reels/audio/579408562507956/","reelsReturned": 5,"reels": [{"shortcode": "EXAMPLE","url": "https://www.instagram.com/reel/EXAMPLE/","creatorUsername": "creator","likeCount": 120}],"scrapedAt": "2026-07-12T00:00:00.000Z"}
How to scrape Instagram Reels audio
- Copy a public
/reels/audio/<id>/URL or its numeric audio ID. - Add the audio references to
audioInputs. - Choose a small Reel sample limit.
- Start the Actor.
- Export the dataset as JSON, CSV, Excel, or another supported format.
How much does it cost to scrape Instagram Reels audio?
The Actor uses pay-per-event pricing.
A small one-time start event covers run initialization, followed by a charge per audio record produced.
You are not charged per embedded Reel sample.
Exact tier prices are displayed on the Actor page before a run starts.
Keep first tests small, then increase maxItems after validating the output.
Monitoring workflow
Run the Actor on a schedule with the same audio IDs.
Use scrapedAt, usageCount, and Reel engagement fields to compare snapshots.
For long-term analysis, store each run in a named dataset or send records to your warehouse.
Avoid treating a single snapshot as a complete historical trend.
Tips for reliable results
- Use only public audio pages.
- Start with a few audio IDs.
- Keep
maxReelsPerAudiobounded. - Enable Apify Proxy if direct traffic is rate-limited.
- Retry later when Instagram temporarily limits a page.
- Store media files promptly because CDN URLs can expire.
- Schedule moderate recurring runs rather than aggressive bursts.
Integrations
Connect results to:
- Google Sheets for campaign reviews
- Airtable for creator research
- Slack for monitoring alerts
- Make for no-code routing
- Zapier for workflow triggers
- webhooks for internal services
- cloud storage for snapshots
- data warehouses for trend analysis
A common workflow compares the latest usage count with the previous scheduled run and alerts only when growth crosses a threshold.
API usage
JavaScript example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/instagram-reels-audio-scraper').call({audioInputs: ['579408562507956'],maxItems: 1,maxReelsPerAudio: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python API example
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/instagram-reels-audio-scraper').call(run_input={'audioInputs': ['579408562507956'],'maxItems': 1,'maxReelsPerAudio': 10,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL API example
curl -X POST \'https://api.apify.com/v2/acts/automation-lab~instagram-reels-audio-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"audioInputs":["579408562507956"],"maxItems":1,"maxReelsPerAudio":10}'
Use with MCP and AI agents
Connect through the Apify MCP server:
https://mcp.apify.com/?tools=automation-lab/instagram-reels-audio-scraper
Example prompts:
- “Extract this public Instagram audio page and summarize representative creators.”
- “Compare public engagement in the Reel sample for these audio pages.”
- “Save a monitoring snapshot for these Instagram sounds.”
For Claude Code, register the Actor as an HTTP MCP server:
$claude mcp add --transport http instagram-reels-audio 'https://mcp.apify.com/?tools=automation-lab/instagram-reels-audio-scraper'
For Claude Desktop, Cursor, or VS Code, add this server to the application's MCP JSON configuration:
{"mcpServers": {"instagram-reels-audio": {"type": "http","url": "https://mcp.apify.com/?tools=automation-lab/instagram-reels-audio-scraper"}}}
Restart the client after saving the configuration, then use one of the actor-specific prompts above.
Errors and troubleshooting
Why did an audio page return no record?
The ID may be invalid, removed, private, geographically unavailable, or temporarily rate-limited.
Confirm the page opens publicly and retry with Apify Proxy enabled.
Why are some fields missing?
Instagram does not expose every licensing field or metric for every audio object.
The Actor preserves valid partial records and omits absent optional fields.
Why is a media URL no longer available?
Instagram CDN links are temporary.
Download permitted media promptly if your workflow requires a durable copy.
Limits
The Actor does not:
- log in to Instagram or use account cookies
- resolve private or login-gated audio pages
- paginate beyond the representative public Reel sample, crawl profiles, or search Instagram
- access private content
- guarantee every Reel using an audio
- bypass geographic or rights restrictions
- provide historical metrics before your first snapshot
- guarantee permanent CDN links
The Reel sample is representative and bounded, not an exhaustive usage archive.
Is it legal to scrape public Instagram data?
Scraping legality depends on jurisdiction, purpose, and how data is used.
Only collect public information you are permitted to process.
Respect privacy, intellectual-property rights, platform terms, and applicable laws.
Do not use the Actor to access private accounts or evade access controls.
This Actor is independently operated and is not affiliated with, endorsed by, or sponsored by Instagram or Meta.
Data handling and AI
The Actor uses deterministic browser extraction and local normalization; it does not call an AI model or send inputs or output to an AI provider.
It requests only public audio pages and emits the documented public audio, creator, representative Reel, engagement, media URL, and source URL fields. It does not request Instagram credentials, account cookies, or private content. No Actor-side cache or external copy is retained. Apify datasets, key-value stores, and logs follow your Apify account retention settings, and you can delete run storage with Apify storage controls.
When enabled, Apify Proxy routes the public source requests. Temporary Instagram CDN links can expire independently of dataset retention.
FAQ
Does it require an Instagram account?
No. The supported scope uses anonymous access to public audio pages without login.
Can I start from a Reel URL?
No. Open the Reel's audio page and submit its /reels/audio/<id>/ URL or numeric audio ID.
Can I submit the same ID twice?
Yes. Duplicate IDs and equivalent audio URLs are deduplicated.
Are licensed songs supported?
When Instagram exposes public music metadata, the Actor returns it. Availability varies by audio and region.
Can I get every Reel using a sound?
No. The Actor returns a bounded representative sample exposed by the public audio page.
Can I schedule monitoring?
Yes. Use Apify schedules and compare records by audioId and scrapedAt.
Does the Actor download audio files?
It returns a temporary public media URL when Instagram exposes one. It does not persist files automatically.
Related Instagram scrapers
Explore other actors from automation-lab for Instagram profiles, comments, hashtags, stories, and follower metrics.
Use this Actor when the primary entity is an audio object and its representative public Reels.
Support
If a valid public audio page repeatedly fails, open an issue from the Actor page.
Include the public URL, input limits, run ID, and whether proxying was enabled.
Do not include private credentials or personal account cookies.