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. (Beta)
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
11 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, analysis-ready 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 as partial when a public lookup completes but important media details are not available.
- Keep private or temporarily unavailable sources out of the dataset and explain them in the run summary.
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 URLs are saved with the public details available during the run. If important media details are not available, the Actor saves a partial row with isPartial: true and a clear partialReason.
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. Direct Reel URLs are saved once each. |
{"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, videoPlayCount | Public engagement fields when Instagram returns them. videoPlayCount is the video-focused play count field when available. |
videoDuration, videoWidth, videoHeight, dimensionsWidth, dimensionsHeight | Public video and display dimensions when available. |
thumbnailUrl, displayUrl, imageUrls, videoUrl, audioUrl | Public media URLs when available. displayUrl is the selected display image and usually matches thumbnailUrl. |
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 saved. |
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/","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 hide or omit some public fields depending on the Reel, profile settings, region, or current platform behavior. 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. Private or unavailable profiles are skipped with a user-friendly run summary.
After a valid run starts, the run summary shows what was saved, skipped, or could not be completed.
FAQ
Q: Can it scrape private Reels?
No. It collects public data only.
Q: Why are some rows marked as partial?
Some public Reel lookups may complete without every media detail, such as a direct video URL. In that case, the Actor saves what is publicly available and marks the row with isPartial: true. If a run must stop early, the run summary explains why.
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