Instagram Influencer Engagement Scraper
Pricing
from $20.00 / 1,000 results
Instagram Influencer Engagement Scraper
Extract engagement metrics from public Instagram profiles. Get feed engagement rate, Reels views, and follower stats. Covers up to 72 posts and 36 Reels. No login needed. From $0.02 per result.
Pricing
from $20.00 / 1,000 results
Rating
5.0
(3)
Developer
Phantom Coder
Maintained by CommunityActor stats
4
Bookmarked
14
Total users
3
Monthly active users
6 days ago
Last modified
Categories
Share
Know which influencers are actually driving engagement - not just accumulating followers - before you commit budget to a campaign.
Who is this for
- Marketing agencies vetting a shortlist of creators before pitching a campaign to a client
- Brand managers benchmarking competitor brands and their partner influencers to understand real engagement levels
- Growth teams tracking creator performance week-over-week to catch engagement trend shifts early
No Instagram account, API key, or login required. The Actor works on any public profile out of the box.
Why it's different
Most influencer research tools give you follower counts and post frequency. This Actor goes further: it measures how many people actually interact per post, normalizes that against audience size, and compares Reels vs. feed performance in a single run.
A creator with 200K followers and 3% engagement is worth more than one with 2M followers and 0.1% engagement. This Actor surfaces that difference in seconds.
What you get
- Feed engagement rate - average likes + comments per post as a percentage of followers
- Reels metrics - average views, average engagement, and engagement rate by views
- Cross-format comparison - how Reels perform relative to feed posts (
engagement_skew_reels_over_feed) - Normalized benchmarks - interactions per 1K followers for fair comparisons across account sizes
- Profile metadata - follower count, following count, verified status, post count, and bio link
- Coverage stats - how many posts and Reels were analyzed per profile
Common use cases
Influencer vetting
You're shortlisting creators for a skincare launch. @glossier has 2.8M followers with interactions_per_1k_followers: 4.2. A smaller creator you're considering has 380K followers but interactions_per_1k_followers: 18.7. The smaller account's audience is 4× more engaged per 1,000 followers - often a better buy for a product launch. Sort by interactions_per_1k_followers to rank your shortlist in one pass.
Reels vs. feed analysis
Use engagement_skew_reels_over_feed to identify creators whose Reels significantly outperform their feed posts. A value of 3.0 means their Reels get 3× the engagement of their feed posts - a strong signal of where to place sponsored content for maximum reach.
Competitor benchmarking
Run the Actor on a competitor brand's profile and their known partner influencers. You'll quickly see what engagement benchmarks they're working with and whether those partnerships are actually delivering.
Periodic tracking
Run the same list of usernames weekly to track trends over time. Use the Apify scheduler with a cron expression like 0 9 * * 1 (every Monday at 9am) to automate it. A consistent drop in feed_avg_engagement_rate_by_followers over 4 weeks is an early signal worth investigating before renewing a partnership.
How engagement rate is calculated
Raw follower counts are a poor proxy for influence because the algorithm never shows a post to all followers. The metric that matters is interactions_per_1k_followers: total likes and comments across all analyzed posts and Reels, divided by follower count, multiplied by 1,000.
This normalizes for audience size so you can compare a 50K niche creator directly against a 5M celebrity. Industry benchmarks: above 10 per 1K is strong for mid-size accounts; above 3 per 1K is considered healthy for accounts over 1M.
For Reels, reels_engagement_rate_by_views (interactions ÷ views) tells you how actively viewers respond, regardless of how many times the Reel was served. A high view count with low engagement often signals viral reach but passive audience - useful context before a partnership decision.
How to use
- Click Try for free on the Actor page.
- Enter one or more public Instagram usernames (without the @ prefix).
- Click Start and wait - each username takes around 20-30 seconds.
- Download results as JSON or CSV, or connect to Google Sheets, Make, or Zapier via Apify integrations.
⚠️ Getting
reels_avg_views: 0orreels_count: 0is completely normal. It means the account has no public Reels, or Instagram returned no view data for them. Allreels_*metrics will be0in this case - the Actor is working correctly.How to tell if a result is valid:
- ✅ If
feed_countis greater than 0, the profile was successfully analyzed- ⚠️ If you see
"error": "private_or_not_found", the account is private, deleted, or the username is misspelled- ⚠️ If you see
"error": "soft_blocked", the proxy IP was temporarily rate-limited by Instagram - rerun the username
Input configuration
| Field | Type | Default | Description |
|---|---|---|---|
usernames | array of strings | - | Public Instagram handles to analyze (without @ prefix). At least one required. |
maxFeedPosts | integer | 72 | Maximum feed posts to fetch per username (1-72). |
maxReels | integer | 36 | Maximum Reels to fetch per username (1-36). |
Example input:
{"usernames": ["natgeo"],"maxFeedPosts": 72,"maxReels": 36}
Output
The Actor pushes one dataset record per username.
Successful result
{"id": "25025320","username": "natgeo","fullName": "National Geographic","followersCount": 269000000,"followsCount": 122,"verified": true,"postsCount": 30300,"profilePicUrl": "https://example.cdninstagram.com/...","externalUrl": "https://www.nationalgeographic.com/","overall_interactions": 8871840,"feed_avg_engagement": 75320.00,"feed_avg_engagement_rate_by_followers": 0.028,"reels_avg_engagement": 228229.00,"reels_avg_views": 1500000.00,"reels_engagement_rate_by_views": 15.2153,"posts_contribution_pct": 66.67,"reels_contribution_pct": 33.33,"engagement_skew_reels_over_feed": 3.0302,"avg_interactions_per_content": 82147.78,"interactions_per_1k_followers": 32.98,"total_items": 108,"feed_count": 72,"reels_count": 36,"reels_view_coverage": 1.0,"feed_view_coverage": 0.0}
Failed result (private or non-existent account)
{"username": "some_private_user","error": "private_or_not_found"}
Limitations
- Public profiles only - private accounts return an error record, not metrics.
- 72 feed posts maximum - 72 is the maximum number of feed posts that can be analyzed per profile.
- 36 Reels maximum - 36 is the maximum number of Reels that can be analyzed per profile.
- Feed view counts unavailable - Instagram never returns view counts for feed posts, so
feed_view_coverageis always0. - Residential proxy required - the Actor uses Apify residential proxy automatically. A paid Apify plan with the
RESIDENTIALproxy group enabled is needed. - Soft blocks - Instagram occasionally blocks proxy IPs temporarily. The Actor retries automatically before recording a
soft_blockederror for that username.
Pricing vs. alternatives
The only comparable Actor on Apify Store charges $0.04 per profile at all subscription tiers. This Actor matches that price for free users and gets cheaper the higher your Apify plan - up to 50% off on Business plans and above.
You are also charged $0.00005 per Actor start (charged once per run, regardless of how many usernames you process in that run).
| Apify plan | Price per profile |
|---|---|
| Free | $0.04 |
| Starter | $0.03 |
| Scale | $0.025 |
| Business and above | $0.02 |
Typical monthly cost at Starter plan ($0.03/profile):
- Vet 20 influencers once: $0.60
- Monitor 20 influencers weekly (80 runs/month): $2.40/month - less than one hour of manual research
- Agency running 500 profiles/month: $15.00/month
FAQ
Do I need an Instagram account or API key? No. The Actor works entirely on public data - no login, no credentials, no API setup required.
Is 72 posts enough for a reliable engagement rate? Yes. 72 posts covers roughly 6-12 months of activity for most active creators, which is more than enough to smooth out viral outliers and get a stable baseline. If an account has fewer posts, the Actor fetches all of them.
What happens if an account goes private mid-run?
The Actor records { "username": "...", "error": "private_or_not_found" } and moves on. No charge is applied for failed accounts.
Why do some Reels show 0 views?
Instagram doesn't always return view count data for Reels through the API. If reels_view_coverage is below 1.0, some Reels had no play count available. The engagement metrics (likes, comments) are still accurate - only the view-based metrics like reels_engagement_rate_by_views will be affected.
Reference: output fields
Engagement metrics
| Field | What it measures |
|---|---|
feed_avg_engagement | Average likes + comments per feed post (raw interaction count) |
feed_avg_engagement_rate_by_followers | feed_avg_engagement / followers × 100 - expressed as a percentage |
reels_avg_engagement | Average likes + comments per Reel |
reels_avg_views | Average play count across analyzed Reels |
reels_engagement_rate_by_views | reels_avg_engagement / reels_avg_views × 100 - what percentage of viewers interact |
overall_interactions | Total likes + comments summed across all analyzed feed posts and Reels |
avg_interactions_per_content | overall_interactions / total_items - average engagement per piece of content |
interactions_per_1k_followers | overall_interactions / followers × 1000 - normalized for audience size comparison |
engagement_skew_reels_over_feed | reels_avg_engagement / feed_avg_engagement - values above 1 mean Reels outperform feed posts |
posts_contribution_pct | Percentage of analyzed items that are feed posts |
reels_contribution_pct | Percentage of analyzed items that are Reels |
Coverage fields
| Field | What it means |
|---|---|
feed_count | Feed posts actually fetched (may be less than maxFeedPosts if the account has fewer) |
reels_count | Reels actually fetched |
total_items | feed_count + reels_count |
reels_view_coverage | Fraction of Reels that had a play count available (0 to 1) |
feed_view_coverage | Always 0 - Instagram does not expose view counts for feed posts |
Error values
error value | Meaning |
|---|---|
private_or_not_found | Account is private, deleted, or the username does not exist |
soft_blocked | The Actor's proxy IP was temporarily blocked by Instagram - rerun the username |
unexpected: ... | An unexpected HTTP error; the message includes the status code |
Support
Questions or issues? Open a ticket in the Issues tab on the Actor page.