Instagram Engagement Rate & Influencer Vetting
Pricing
from $27.49 / 1,000 creator analyseds
Instagram Engagement Rate & Influencer Vetting
Vet Instagram creators without login: engagement rate measured from their recent Reels, compared against a published peer band for their audience size, plus reach rate, comment-to-like ratio, consistency and named risk flags that each cite their evidence. Every formula is documented.
Pricing
from $27.49 / 1,000 creator analyseds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "Instagram" is referenced only to describe the publicly available website this Actor collects data from.
Score Instagram creators without a login: engagement rate measured from their recent Reels, compared against a published peer band for their audience size, plus reach rate, comment-to-like ratio, consistency, and named risk flags that each cite their own evidence.
The method is the product - so here it is in full
Derived-metric tools live or die on whether you trust the number. Every figure below is either measured or computed by a formula printed here. Nothing is a black box.
Engagement rate = (average likes + average comments) / followers, measured across the creator's most recent Reels (up to 12, reelsSampled tells you exactly how many).
Reach rate = average plays / followers - how far content travels relative to audience size.
Engagement per play = (average likes + average comments) / average plays - how compelling content is once seen, which is independent of audience size.
Peer bands. A flat "good ER" threshold mislabels large accounts, because engagement falls as audiences grow. Each creator is judged against its own band:
| Band | Followers | Expected ER |
|---|---|---|
| nano | under 10k | 2.0% - 9.0% |
| micro | 10k - 100k | 1.5% - 6.0% |
| mid | 100k - 500k | 1.0% - 4.5% |
| macro | 500k - 1M | 0.8% - 3.5% |
| mega | 1M+ | 0.5% - 3.0% |
Vetting score (0-100) starts from where the creator's ER sits inside its band, then adds for healthy cadence and consistent reach, and subtracts for each risk flag (high −14, medium −7, low −3) and for a thin sample (−8 under 3 Reels). Verdict maps the score: strong 70+, acceptable 50+, weak 30+, avoid below, plus low_confidence and insufficient_data.
Risk flags - each row carries riskFlagDetails with a written evidence string:
| Flag | Raised when |
|---|---|
engagement_below_peer_band | ER under the floor for that audience size |
engagement_implausibly_high | ER more than 2.5× the band ceiling - pods or bought engagement |
follow_back_pattern | 10k+ followers with a near 1:1 following ratio |
very_low_comment_ratio | under 1 comment per 1,000 likes - likes without conversation |
erratic_reach | reach coefficient of variation above 1.5 - a few outliers carry the average |
thin_posting_history | fewer than 12 posts published |
What this actor deliberately does NOT claim
No "fake follower percentage." That figure cannot be honestly derived without inspecting the follower list, and Instagram does not expose follower lists to logged-out callers at all. Tools that print one without a login are guessing. This actor gives you evidence-backed flags instead, and says so.
Example output
adidas 29.6M followers ER 1.683% mega band in band score 69 acceptable flags: noneleomessi 515M followers ER 0.729% mega band in band score 51 acceptable flags: erratic_reachnike 291M followers ER 0.052% mega band below band score 29 avoid flags: engagement_below_peer_band
What you get per creator
profileUrl · username · fullName · followersCount · followingCount · postsCount · isVerified · vettingScore · verdict · engagementRate · engagementRatePercent · peerBand · peerBandExpectedMinPercent · peerBandExpectedMaxPercent · withinPeerBand · riskFlags[] · riskFlagDetails[] · riskFlagCount · reelsSampled · avgPlays · medianPlays · avgLikes · avgComments · engagementPerPlay · commentToLikeRatio · reachRate · playsStdDev · playsCoefficientOfVariation · followerToFollowingRatio · recentPostsSampled · recentReelShare · biography · externalUrls[] · methodNote · scrapedAt
Input
{"usernames": ["natgeo", "adidas", "nike"],"minFollowers": 10000,"minVettingScore": 50,"maxResults": 100,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
| Field | What it does |
|---|---|
usernames | Creator handles - built for scoring a whole shortlist in one run |
minFollowers | Audience floor, applied before any analysis work |
minVettingScore | Return only creators scoring at least this - hands you a shortlist, not a table |
skipPrivate | Skip private accounts (on by default - they publish nothing to measure) |
maxResults | Cap. 0 = no limit |
Honest limits
- The evidence base is the creator's recent Reels (up to 12, the logged-out ceiling).
reelsSampledis on every row, and a sample under 3 lowers the score and returnslow_confidence. An account with no Reels returnsinsufficient_datarather than a fabricated score. - Posting cadence is not measured. The Reels tab does not carry timestamps, and fetching a date for every Reel would multiply the cost of a vetting run several times over. Rather than infer cadence from nothing,
postsPerWeekis left out of the score. If you need per-Reel dates, use Instagram Reels Scraper. - Engagement is measured on Reels, not on the whole feed. Reels are where Instagram's reach lives, and they are the only surface exposing play counts logged-out.
- Peer bands are a documented judgement, not a law of nature. They are printed above and on every row so you can re-band the data yourself.
Pricing (pay per event, no start fee)
| Event | Price | What it covers |
|---|---|---|
profileAnalysed | $0.03 | One fully vetted creator: ER, peer band, reach rate, comment-to-like ratio, consistency, risk flags with evidence, and the 0-100 score |
A single price for a complete analysis - two source requests, all the derived metrics, and the evidence behind them. Creators removed by minFollowers or minVettingScore are never billed.
Use with AI assistants (MCP)
Works as an LLM tool via the Apify MCP server - ask an assistant to "vet this influencer shortlist and drop anyone below 50" and it can call this actor directly.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
Integrations
Make, Zapier, Slack, Google Drive, Airbyte, GitHub, the Apify API, Schedules and Webhooks.
Automate & schedule
Run this Actor on autopilot and pull results into your own stack:
- Apify API - start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python - official SDKs.
- Schedules - run it hourly, daily or weekly and keep your dataset current.
- Webhooks - trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/instagram-engagement-scraper').call({"usernames": ["natgeo","adidas","nike"],"maxResults": 10,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} records`);
FAQ
Do I need a login or cookies? No.
Why is a huge account scored "avoid"? Because engagement is judged against its own peer band. A 291M-follower account posting at 0.05% ER is genuinely underperforming for its size, and that is the signal a brand is paying to see.
Why insufficient_data? That creator published no Reels this actor could sample. It returns a null score rather than inventing one.
Can I change the bands? Every row carries peerBandExpectedMinPercent / peerBandExpectedMaxPercent and the raw engagementRate, so you can re-band downstream without re-scraping.
Related scrapers by scrapesage
- Instagram Profile Scraper - bulk profile stats and resolved bio links
- Instagram Reels Scraper - per-Reel play counts, view counts and dates
- Instagram Leads Scraper - turn vetted creators into contactable leads
- Instagram Hashtag Scraper - discover creators to vet
Data & lawful use
This Actor reads only what Instagram publishes to logged-out visitors: it does not log in, use cookies or session tokens, create accounts, or reach anything behind a sign-in. Names, handles, bios and engagement figures are public, but they relate to identifiable people, so treat the output as personal data. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis (usually legitimate interest for research, marketing analytics or B2B prospecting), honour access and deletion requests, and do not use the output for spam or unsolicited messaging.
Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"Instagram" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official Instagram product, is not authorised or certified by Meta Platforms, Inc., and does not distribute Instagram software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
Need help?
Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.