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
2
Total users
1
Monthly active users
2 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 unverified rows as partial and fail the run so incomplete media is not mistaken for a full result.
- 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/
Direct Reel inputs are complete only when the requested Reel identity and public video details are verified. 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 the run finishes as failed so automations do not mistake it for a full result.
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 Apify dataset preview includes 📋 Overview for common fields and 🎬 Media assets for public media URLs and media metadata. Use the All fields toggle in Apify Console, or export the dataset, to review every saved field.
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, mediaType, productType | Reel references, public Reel links, and available media labels. |
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. |
altText | Public accessibility text 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.
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 may save the available preview with isPartial: true and a clear partialReason. The run then finishes as failed so downstream workflows can treat the result as incomplete.
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