Instagram Reel Scraper
Pricing
from $2.00 / 1,000 results
Instagram Reel Scraper
Collect public Instagram Reels from usernames, profile URLs, profile Reels pages, and Reel URLs. Exports captions, creator details, thumbnails, selected metrics, and media details when available.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Rush
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Collect public Instagram Reels from usernames, profile URLs, profile Reels pages, and direct Reel URLs. The Actor exports spreadsheet-friendly rows with captions, creator details, hashtags, mentions, thumbnails, source links, available public engagement fields, and selected video metadata when Instagram exposes them.
Explore more social media scrapers
Features
- Collect public Reels from Instagram usernames, profile URLs, profile Reels pages, and direct Reel URLs.
- Export one spreadsheet-friendly row per Reel for dashboards, exports, and automation workflows.
- Include public creator details, captions, hashtags, mentions, thumbnails, engagement fields, and video metadata when available.
- Mark rows that hold only partial public details, with the reason, so incomplete media is never mistaken for a full result.
- Keep every result that was collected, and report the outcome of each input in the run summary.
- Avoid inventing rows for unavailable inputs and report incomplete sources clearly.
What You Can Scrape
- Public Instagram profile URLs, such as
https://www.instagram.com/nasa/ - Instagram profile Reels pages, such as
https://www.instagram.com/nasa/reels/ - Usernames, such as
nasa - Direct Reel URLs, such as
https://www.instagram.com/reel/DZYvGYIv1nr/orhttps://www.instagram.com/reels/DZYvGYIv1nr/
A direct Reel URL produces a full row when Instagram returns the Reel's public details. Optional fields can still be null when Instagram does not expose them. If core details cannot be verified, any available preview row is marked with isPartial: true and carries a partialReason, so automations can filter those rows out instead of treating them as full results.
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Instagram usernames, profile URLs, profile Reels page URLs, or direct Reel URLs. Range: 1 to 100 inputs. |
maxReelsPerProfile | integer | Maximum number of recent public Reel rows to save for each profile-style input. Default: 30. Range: 1 to 200. Each direct Reel URL can produce up to one row. |
{"startUrls": ["nasa", "https://www.instagram.com/nasa/reels/"],"maxReelsPerProfile": 10}
How to Use
- Add one or more Instagram usernames, profile URLs, profile Reels page URLs, or direct Reel URLs.
- Choose the maximum number of recent public Reel rows to save for each profile-style input.
- Start the Actor and download results from the dataset.
Output
Each dataset row is one Reel result. Output is designed to stay spreadsheet-friendly so it is easy to filter, export, and use in dashboards or automation workflows.
The dataset preview groups the columns into 📋 Overview and 🎬 Media assets. Export the dataset to work with every column at once.
For profile inputs, rows can include Reels owned by the profile or associated with it through public collaboration or tag information.
| Field | Description |
|---|---|
inputValue | Original input value that produced the row. |
sourceType | profile or reel. |
profileUsername, profileRelation | For profile inputs, shows the requested profile and how the Reel is associated with it. |
reelId, mediaPk, shortCode, reelUrl, postUrl, type | Reel references and public Reel links. |
caption, captionIsEdited, captionCreatedAt, captionCreatedAtUnix, hashtags, mentions | Public caption text, caption timing, and extracted tags when available. |
ownerUsername, ownerFullName, ownerId, ownerProfileUrl, ownerProfilePicUrl, ownerIsVerified | Public creator details and profile links when available. |
timestamp, timestampUnix | Public publish time when available. |
likesCount, commentsCount, playsCount | Public engagement fields when Instagram returns them. |
videoDuration, videoWidth, videoHeight, dimensionsWidth, dimensionsHeight | Public duration, selected video dimensions, and original media dimensions when available. |
thumbnailUrl, displayUrl, imageUrls, videoUrl, audioUrl | Public media URLs when available. The thumbnail and selected display image may differ. |
hasAudio, audioType, audioTitle, audioArtist, audioId, audioDuration, usesOriginalAudio, shouldMuteAudio, originalLanguage | Public audio and language information when available. Audio reference fields help group Reels using the same public sound when available. |
taggedUsers, taggedUserDetails, coauthorUsernames, coauthorDetails | Public collaborators and tagged users when available. |
isPaidPartnership, likeAndViewCountsDisabled, commentsDisabled | Public availability and content indicators when available. |
isPartial, partialReason | Whether the row contains only partial public details. |
scrapedAt | UTC time when the row was collected. |
Example Output
The example below is illustrative and uses fictional placeholder data.
{"inputValue": "examplecreator","sourceType": "profile","profileUsername": "examplecreator","profileRelation": "owner","shortCode": "ABC123example","reelUrl": "https://www.instagram.com/reel/ABC123example/","postUrl": "https://www.instagram.com/p/ABC123example/","caption": "New product launch highlights #launch @partner","captionIsEdited": false,"captionCreatedAt": "2026-06-01T12:00:03+00:00","captionCreatedAtUnix": 1780315203,"hashtags": ["#launch"],"mentions": ["@partner"],"imageUrls": ["https://example.com/thumbnail.jpg"],"taggedUsers": [],"taggedUserDetails": [],"coauthorUsernames": [],"coauthorDetails": [],"ownerUsername": "examplecreator","ownerFullName": "Example Creator","timestamp": "2026-06-01T12:00:00+00:00","likesCount": 1200,"commentsCount": 48,"playsCount": 25000,"videoDuration": 18.5,"thumbnailUrl": "https://example.com/thumbnail.jpg","videoUrl": "https://example.com/video.mp4","hasAudio": true,"audioDuration": 18.5,"originalLanguage": "en","isPartial": false,"partialReason": null,"scrapedAt": "2026-06-14T00:00:00+00:00"}
Good Use Cases
- Social listening and campaign monitoring
- Creator and competitor content research
- Public Reel discovery for reporting workflows
- Hashtag and mention analysis
- Building datasets for manual review, QA, and trend tracking
Data Quality Notes
Instagram may omit some public fields for a given Reel or profile, and availability can change over time. When a field is not publicly available, the Actor returns null or an empty array instead of inventing data.
The Actor does not require an Instagram login, passwords, or private account access. Sources that do not expose public data are not represented as full dataset rows.
One input being unavailable does not affect the inputs after it. If Instagram stays unavailable across several inputs in a row, the run stops early rather than working through the rest, and every input it did not reach is listed in the run summary so you know exactly what to re-run.
FAQ
Q: Can it scrape private Reels?
No. It collects public data only.
Q: Why are some rows marked as partial?
If important media details cannot be verified, the Actor saves the available preview with isPartial: true and a clear partialReason. Filter on isPartial to keep only fully verified rows.
Q: When does a run finish as failed?
Only when no results could be saved at all. If any results were collected, the run finishes successfully and keeps them, and the run summary reports the outcome of every source as completed, partial, skipped, or failed. Repeated inputs are merged before collection, so the summary lists each unique source once.
Q: Why are some engagement fields empty?
Instagram does not always expose every count for every public Reel. Empty fields mean the value was not publicly available during the run.
Q: Does it download video files?
No. It saves public media URLs when Instagram exposes them during the run.
Q: Can I use profile URLs and direct Reel URLs together?
Yes. You can mix usernames, profile URLs, profile Reels page URLs, and direct Reel URLs in the same run.
Disclaimer
This Actor collects publicly available Instagram data. Availability of public fields can change over time. You are responsible for using the exported data in accordance with applicable laws, platform terms, and your own internal policies.
Keywords: Instagram Reel Scraper, Instagram Reels, Instagram scraper, Reels scraper, social media scraping, creator research, hashtag analysis, mention analysis, Apify Actor, public Instagram data, Claude Code, OpenClaw, Gemini, Antigravity, Codex, ChatGPT