Instagram Reels Scraper With Engagement Analytics
Pricing
Pay per usage
Instagram Reels Scraper With Engagement Analytics
Instagram Reels Scraper extracts Reels from any public Instagram profile or feed, capturing captions, audio, hashtags, media URLs, views, likes, comments, and timestamps. Ideal for trend analysis, influencer research, content strategy, and automating structured Instagram Reels data collection.
Pricing
Pay per usage
Rating
1.0
(1)
Developer
SimpleAPI
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Instagram Reel Scraper — Engagement Rate, Sponsors and Velocity
Instagram Reels Scraper With Engagement Analytics scrapes public Instagram Reels for one or more creators and adds two things a plain Reels scraper skips: collaboration and sponsor detection (co-authors, tagged users, paid-partnership/branded-content flags) and a derived engagement-analytics block (engagement rate, like/view and comment/view ratios, a velocity score, and views-per-follower). No Instagram login is required for public data. It's built for influencer vetting, brand-safety review, and creator/campaign performance benchmarking.
What is Instagram Reels Scraper With Engagement Analytics?
Instagram Reels Scraper With Engagement Analytics is an Apify Actor that collects public Instagram Reels for one or more creators and computes engagement, collaboration, and sponsorship signals for each one. Key capabilities:
- Analyze Reels for one or many creator profiles in a single run
- Detect co-authors, tagged users, and Instagram's own paid-partnership/branded-content flags
- Filter to only verified-collaborator or only paid-partnership reels
- Compute engagement rate, like/view and comment/view ratios, and a velocity score — at no extra request cost
- Optionally compute views-per-follower via one follower-count lookup per creator (not per reel)
- Optional extras: share counts, spoken-audio caption transcripts, and downloaded video files
- Always uses Apify's residential proxy as a reliability safety net
What data can I extract with Instagram Reels Scraper With Engagement Analytics?
| Field | Example Value | Use Case |
|---|---|---|
ownerUsername / ownerFullName / ownerIsVerified | "natgeo" / "National Geographic" / true | Identify the reel's owner and verification status |
caption / hashtags / mentions | "New expedition footage" / ["#wildlife"] / ["@partner"] | Read and analyze the reel's text content |
likesCount / commentsCount / videoViewCount | 45210 / 892 / 1200000 | Core engagement counts |
coauthors / taggedUsers | [{"username": "co_creator"}] / [{"username": "brand_handle"}] | Identify real collaborators on the reel |
isPaidPartnership / brandedContentTagEligible | true / true | Confirm Instagram's own sponsorship disclosure flags |
engagementRate | 3.75 | The core analytics output — engagement as a percentage of views |
likeToViewRatio / commentToViewRatio | 0.038 / 0.0007 | See which engagement type drives the rate |
velocityScore | 1204.5 | Engagement accumulated per day since posting |
viewsPerFollower | 0.43 | Reach normalized by audience size (requires follower lookup) |
durationBucket | "15-30s" | Bucket reels by length for format-performance comparison |
videoUrl / audioUrl / musicInfo | media URLs / track info | Access the underlying media assets |
transcript | "In today's episode..." | Spoken-audio transcript (opt-in) |
Engagement analytics computed at no extra request cost
engagementRate, likeToViewRatio, commentToViewRatio, velocityScore, and durationBucket are all computed directly from each reel's own likes/comments/views/duration/timestamp — no extra API calls beyond the base reel fetch. engagementRate = (likes + comments) / views × 100; velocityScore = engagement / days since posted. When view counts aren't available for a reel, these fields are honestly returned as null rather than a fabricated value. viewsPerFollower is the one metric requiring an extra lookup: the creator's follower count is fetched once per profile (not once per reel), so a batch of 50 reels for one creator costs only one additional request.
Genuine collaboration and sponsorship detection
coauthors, taggedUsers, isPaidPartnership, and brandedContentTagEligible come directly from Instagram's own reel metadata — the same co-author and branded-content disclosure system Instagram surfaces on the platform itself, not an inferred guess from caption text. verifiedCollaboratorsOnly filters to reels where the owner, a co-author, or a tagged user carries Instagram's verified badge; paidPartnershipOnly filters to reels Instagram itself flagged as sponsored content.
Why not build this yourself?
Instagram's Graph API only exposes a Business/Creator account's own Reels insights to that account's own access token — there's no endpoint for pulling an arbitrary creator's Reels with collaboration/sponsorship metadata for third-party analysis. Building an equivalent tool yourself means parsing Instagram's co-author and branded-content disclosure metadata correctly, and designing the engagement-rate/velocity/views-per-follower math with honest null-handling when data isn't available. All of that is already implemented in this Actor's source.
How to use data extracted from Instagram?
Influencer marketing and partnership vetting
Run a candidate creator's creatorProfiles with includeFollowerAnalytics on to see viewsPerFollower and engagementRate before committing partnership budget — a creator with inflated follower counts but low viewsPerFollower is a signal worth investigating.
Brand-safety and compliance review
Use paidPartnershipOnly to audit a creator's sponsored content specifically, checking brandedContentTagEligible to confirm Instagram's own disclosure system flagged the content appropriately.
Creator and campaign benchmarking
Compare engagementRate/velocityScore across multiple creators or across a single creator's reels over time (using postedAfter) to see which content format or collaboration style performs best.
AI agents and automated pipelines
An agent can call this Actor to pre-screen creators before triggering an outreach or reporting workflow, filtering on engagementRate and isPaidPartnership to focus only on the most relevant reels.
🔼 Input sample
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
creatorProfiles | No | array | Usernames, @handles, or profile URLs to analyze | ["natgeo"] |
reelsPerCreator | No | integer (1-10,000) | Max reels collected and analyzed per creator | 10 (default) |
postedAfter | No | string (date) | Only analyze reels posted after this date or relative duration | "7 days" |
skipPinnedReels | No | boolean | Ignore pinned reels, focus on regular timeline content | — |
verifiedCollaboratorsOnly | No | boolean | Keep only reels with a verified owner/co-author/tagged user | false (default) |
paidPartnershipOnly | No | boolean | Keep only reels flagged as paid partnership/branded content | false (default) |
includeEngagementAnalytics | No | boolean | Compute engagement rate, ratios, velocity, duration bucket | true (default) |
includeFollowerAnalytics | No | boolean | Compute views-per-follower (one extra lookup per creator) | true (default) |
includeShareCounts | No | boolean | Include share count when Instagram makes it available | — |
includeCaptionTranscript | No | boolean | Extract the spoken-audio transcript | — |
includeVideoDownload | No | boolean | Download reel videos to the Key-Value Store | — |
igSessionId | No | string (secret) | Optional fallback for the follower-count lookup only | "(your session cookie)" |
proxySettings | No | object | Proxy config; always falls back to residential | {"useApifyProxy": true} |
{"creatorProfiles": ["natgeo"],"reelsPerCreator": 20,"includeEngagementAnalytics": true,"includeFollowerAnalytics": true}
Common pitfall: viewsPerFollower requires includeFollowerAnalytics to be on — turning it off skips the one-time follower lookup entirely, and the field will be null on every reel for that run.
🔽 Output sample
Output is typed, normalized JSON — one row per reel (exportable as JSON, CSV, or Excel), organized into overview, collaboration/sponsors, engagement-analytics, media, captions, and music/carousel views.
{"shortCode": "Cxyz123","url": "https://www.instagram.com/reel/Cxyz123/","ownerUsername": "natgeo","ownerFullName": "National Geographic","ownerIsVerified": true,"ownerFollowersCount": 280000000,"timestamp": "2026-07-20T10:00:00.000Z","caption": "New expedition footage from the Amazon.","hashtags": ["#wildlife", "#amazon"],"mentions": [],"likesCount": 45210,"commentsCount": 892,"videoViewCount": 1200000,"coauthors": [],"taggedUsers": [{"username": "partner_org"}],"isPaidPartnership": false,"brandedContentTagEligible": true,"engagementRate": 3.84,"likeToViewRatio": 0.0377,"commentToViewRatio": 0.0007,"viewsPerFollower": 0.0043,"velocityScore": 1204.5,"durationBucket": "15-30s","videoUrl": "https://scontent.cdninstagram.com/...video","audioUrl": "https://scontent.cdninstagram.com/...audio","videoDuration": 22.5,"musicInfo": {"artist": "Original Audio", "title": null}}
The default "Overview" view surfaces 11 fields; the dataset's other views (Collaboration & Sponsors, Engagement Analytics, Media, Caption & Comments, Music & Carousel) expose the remaining real fields shown above — ownerFollowersCount, coauthors, taggedUsers, isPaidPartnership, brandedContentTagEligible, engagementRate, likeToViewRatio, commentToViewRatio, viewsPerFollower, velocityScore, durationBucket, videoUrl, audioUrl, videoDuration, dimensionsWidth/dimensionsHeight, hashtags, mentions, firstComment, latestComments, transcript, musicInfo, childPosts, and (when enabled) downloadedVideo — all still written to every row.
How do you filter and target specific Reels?
postedAfter is the scope-precision control, narrowing analysis to a date range or relative duration like "7 days." verifiedCollaboratorsOnly and paidPartnershipOnly are the genuine quality/relevance thresholds here — both filter on real Instagram-provided flags (verified badges and sponsorship disclosure), not inferred guesses. skipPinnedReels excludes pinned content to focus on regular timeline posts. Volume is controlled by reelsPerCreator.
{ "creatorProfiles": ["natgeo"], "paidPartnershipOnly": true, "postedAfter": "30 days" }
{ "creatorProfiles": ["nike", "adidas"], "verifiedCollaboratorsOnly": true, "reelsPerCreator": 50 }
{ "creatorProfiles": ["natgeo"], "includeCaptionTranscript": true, "includeShareCounts": true }
▶️ Want to try other Instagram scrapers?
| Scraper Name | What it extracts |
|---|---|
| Instagram Single Reels Scraper | Single-reel lookup by URL, without collaboration/analytics enrichment |
| Instagram Hashtag Scraper: Content Planner | Hashtag-based reels/posts with best-time planning |
| Instagram Highlights Scraper With Profile Analytics | Story Highlight extraction with per-profile analytics |
| Instagram Profile Scraper & Account Privacy Checker | Full profile details plus privacy-status checking |
| TikTok Trending Videos Insights With Hashtag Trend Ad Matcher | Comparable engagement/ad-partnership data for TikTok |
| Facebook Reels Scraper: by Keyword Search | Comparable Reels data for Facebook |
How to extract Instagram data programmatically
Every run is a standard Apify Actor call — one API request with your token, JSON input, JSON results back.
Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run_input = {"creatorProfiles": ["natgeo"],"reelsPerCreator": 20,"includeFollowerAnalytics": True,}run = client.actor("<YOUR_USERNAME>/instagram-reels-scraper-with-engagement-analytics").call(run_input=run_input)for reel in client.dataset(run["defaultDatasetId"]).iterate_items():print(reel["shortCode"], reel["engagementRate"], reel["isPaidPartnership"])
Export to spreadsheets or CRM
Export the dataset directly as CSV or Excel, then map ownerUsername/url to your CRM's creator-tracking fields and engagementRate/viewsPerFollower to a scoring column for partnership evaluation.
Is it legal to scrape Instagram Reels?
Reel captions, comments, and creator identities are personal data, so GDPR and CCPA obligations apply to storing and using this data. Public Instagram Reels are visible to any logged-out visitor, but downstream storage of individual creators' content for analysis or vetting purposes should follow applicable data-protection rules. Consult legal counsel for commercial applications involving bulk storage of personal data.
❓ FAQ
How accurate is the engagement-rate calculation?
It's a transparent, deterministic formula — (likes + comments) / views × 100 — computed directly from each reel's own real counts, not an industry-benchmark estimate. When view counts aren't available, the field is honestly null rather than a fabricated number.
Does viewsPerFollower cost extra requests?
Only one extra request per creator profile (not per reel) — the follower count is looked up once and reused across every reel analyzed for that creator.
Can I trust the paid-partnership flag?
Yes — isPaidPartnership and brandedContentTagEligible come directly from Instagram's own sponsorship-disclosure metadata on the reel itself, the same system Instagram uses to show its "Paid partnership" label on the platform.
How many reels can I get per creator?
reelsPerCreator (1-10,000, default 10) caps this.
Do I need an Instagram account to use this?
No — public reel data is accessible without login. igSessionId is only used as a fallback if the anonymous follower-count lookup gets blocked.
Does Instagram Reels Scraper With Engagement Analytics work with Claude, ChatGPT, and AI agent frameworks?
It has no dedicated MCP server registration in this Actor's current setup, but it is callable as a standard Apify API endpoint by any agent framework that can make an authenticated HTTP request and parse JSON.
How does this compare to other Instagram Reels scrapers?
No independently verifiable competitor listing could be confirmed at the time of writing, so no specific comparison is made here. This Actor's distinguishing feature is the combination of genuine collaboration/sponsorship detection with derived engagement analytics computed at no extra request cost.
Can I get the video file itself, not just the URL?
Yes — enable includeVideoDownload to have the Actor download reel videos to the run's Key-Value Store and include a downloadable link in the output; this adds extra request time per reel.
Conclusion
Instagram Reels Scraper With Engagement Analytics turns a raw Reels scrape into a decision-ready dataset — genuine collaboration and sponsorship detection plus derived engagement, velocity, and reach metrics, computed transparently and honestly null when data isn't available. It's built for influencer vetting, brand-safety review, and creator benchmarking. Start a run with your creator profiles to get Reels and analytics back in one pass.