# Instagram Influencer Analytics — Creator Report Card (`yugenox/instagram-creator-analytics`) Actor

Vet Instagram creators like an agency: median reel plays, engagement by followers and by views, posting cadence, sponsored vs organic performance, brand partners, price estimate and comment-pod signals — from public data, no login, per profile.

- **URL**: https://apify.com/yugenox/instagram-creator-analytics.md
- **Developed by:** [Yugenox Corp](https://apify.com/yugenox) (community)
- **Categories:** Social media, Marketing, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.10 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Instagram Influencer Analytics — Creator Report Card

Vet Instagram creators the way agencies do, from public data and without logging in. Give it usernames, and each creator gets a **report card** built from their last ~33 posts and ~24 reels:

- **Median reel plays**, the number brands actually pay for. It's a median, so one viral reel can't inflate it.
- **Engagement rate by followers and by views**, plus how consistent it is.
- **Posting cadence:** posts per week and days since the last post.
- **Sponsored share, the brand partners they worked with, and sponsored vs organic performance.**
- **Estimated price per post:** a $10–30 CPM range on median reel plays.
- **Top outlier posts**, the ones that did many times better than usual.
- **Comment authenticity signals** (optional): repeat commenters (engagement pods), generic comments, and the comment-to-like ratio.

### Why this one

- **Pay per profile, no subscription.** Influencer tools charge from about $0.02 to $0.66 per profile, or $299+ a month. Here a full report costs **$0.0119 per creator** (a $0.0019 profile row plus a $0.01 report).
- **The metrics buyers ask for.** Many tools headline average likes and engagement against followers. Brands buy views, so this report leads with median reel plays and engagement by views.
- **Sponsored posts are detected four ways:** Instagram's paid-partnership label, sponsor tags, co-authored paid posts, and disclosure tags in 8 languages (#ad, #sponsored, #anzeige, #werbung, #publi, #pub, #reklama and more), plus "presented by @brand" phrases.
- **Real outlier scores.** Each post is compared with the creator's own median, so you know what actually worked.
- **No login, ever.** The report only reads what any visitor to the profile can see.

### Input

| Field | What it does |
|---|---|
| `profiles` | Usernames (`natgeo`, `@mkbhd`) or profile URLs. |
| `commentSample` | Read the latest comments of this many recent posts (0–6) for authenticity signals. |
| `recentPosts` | Also return this many recent posts per creator, each with an `outlierScore` (0 = report only). |
| `includeSimilarAccounts` | Add up to 50 lookalike accounts that Instagram suggests for each creator. |
| `minFollowers` / `maxFollowers` | Skip creators outside a follower range. |

```json
{ "profiles": ["natgeo", "mkbhd"], "commentSample": 3 }
```

### Output

Each row is a profile (followers, bio, category, links, emails and phones from the bio, verified badge and more) with a `creatorReport`. This is a real report for @natgeo from 2026-09-26, shortened:

```json
{
  "username": "natgeo",
  "followerCount": 268501633,
  "creatorReport": {
    "sample": { "posts": 31, "reels": 24, "pinnedExcluded": 2, "from": "2026-09-13T16:09:40.000Z", "to": "2026-09-25T22:17:40.000Z" },
    "medianReelPlays": 1891086,
    "avgReelPlaysTrimmed": 2684960,
    "medianLikes": 70869,
    "medianComments": 242,
    "engagementRateByFollowers": 0.0265,
    "engagementRateByViews": 2.5889,
    "engagementConsistency": 2.3,
    "postsPerWeek": 16.85,
    "daysSinceLastPost": 0,
    "formatMix": { "reels": 0.613, "carousels": 0.097, "images": 0.29 },
    "sponsoredShare": 0.129,
    "brandPartners": [
      { "username": "rolex", "posts": 4, "lastAt": "2026-09-25T13:11:44.000Z" },
      { "username": "debeersgroup", "posts": 1, "lastAt": "2026-09-24T13:35:32.000Z" }
    ],
    "sponsoredVsOrganicER": { "sponsored": 0.0126, "organic": 0.0296, "ratio": 0.42 },
    "estimatedPostPriceUsd": { "low": 18911, "high": 56733, "currency": "USD", "method": "$10-30 CPM × median reel plays (estimate)" },
    "topPosts": [{ "code": "DdZI_E3gMqg", "type": "reel", "plays": 34578296, "outlierScore": 18.28 }],
    "authenticity": {
      "postsSampled": 3, "commentsSampled": 42, "uniqueCommenters": 40,
      "repeatCommenterShare": 0, "genericCommentShare": 0.429, "commentToLikeRatio": 0.0047,
      "flags": [], "note": "signals from latest public comments, not a fake-follower %"
    }
  }
}
```

Here is how to read that report. Sponsored posts (Rolex, De Beers) earn **42%** of the engagement of natgeo's organic posts. A typical reel gets about 1.9M plays. The best reel did 18× that.

#### What each metric means

| Metric | Meaning |
|---|---|
| `medianReelPlays` | Median plays of the latest reels, with pinned reels excluded. |
| `avgReelPlaysTrimmed` | Mean plays after dropping the top and bottom 10%. |
| `engagementRateByFollowers` | Median of (likes + comments) ÷ followers, in %. |
| `engagementRateByViews` | Median of (likes + comments) ÷ plays for reels, in %. |
| `engagementConsistency` | Coefficient of variation of engagement. Lower means steadier. |
| `sponsoredVsOrganicER` | Median engagement on sponsored posts compared with organic ones. |
| `estimatedPostPriceUsd` | A rough range: median reel plays × $10–30 CPM. It's an estimate, not a quote. |
| `authenticity.repeatCommenterShare` | Share of sampled comments written by accounts that commented on 3 or more of the sampled posts. Above 0.3 raises the `repeat-commenters` flag. |

### Pricing

**$0.0119 per creator on Free and Starter plans:** a $0.0019 profile row plus **$0.01 per Creator Report**. These are the same prices as [yugenox/instagram-scraper](https://apify.com/yugenox/instagram-scraper) with the Creator Report Card on.

- **The report is charged only when one is built.** Private profiles, profiles with no posts or reels, and reports that can't be built are not charged the $0.01. Their profile row is still saved at the row price.
- **`recentPosts`** adds one row per post at the row price. Similar accounts are a field on the profile row, not extra rows, so they cost nothing extra.
- **Example:** 100 creators = 100 rows + 100 reports = **$1.19** on Free and Starter ($1.15 on Scale, $1.11 on Business).
- The row price drops with your Apify plan. The report is $0.01 on every plan.

| Your Apify plan (discount tier) | Per row | Per report | Per creator |
|---|---:|---:|---:|
| Free (FREE) | $0.0019 | $0.01 | $0.0119 |
| Starter (BRONZE) | $0.0019 | $0.01 | $0.0119 |
| Scale (SILVER) | $0.0015 | $0.01 | $0.0115 |
| Business (GOLD) | $0.0011 | $0.01 | $0.0111 |
| Enterprise (PLATINUM) | $0.0008 | $0.01 | $0.0108 |
| Enterprise (DIAMOND) | $0.0006 | $0.01 | $0.0106 |

Free Apify plans are limited to 100 rows per run. The pricing tab also lists `transcript-minute`, an optional add-on of the shared engine that creator runs never use.

### How it compares

| | **This Actor** | Modash | CreatorDB | HypeAuditor |
|---|---|---|---|---|
| Price | **$0.0119 per creator** | ~$0.66 per profile | ~$0.02–0.08 per profile | from ~$299 / month |
| Pricing model | **Pay per creator, no subscription** | Subscription | Plans / credits | Subscription |
| Audience demographics, fake-follower % | No (login-only data) | Yes | Yes | Yes |

Prices are approximate public list prices from September 2026. Most Instagram profile scrapers on the Apify Store return follower counts and bios; they don't compute plays medians, engagement by views, brand deals or pod signals.

### FAQ

**Is this a fake-follower score?** No. Follower lists and audience demographics are only visible to logged-in accounts. The authenticity block gives signals from public comments, such as repeat commenters, generic comments and an unusual comment-to-like ratio. It's meant to flag profiles for a closer look.

**Why are pinned posts excluded?** Pinned posts are old hits kept at the top of the grid, so they'd distort the medians.

**What if a creator hides like counts?** Those posts are left out of the like-based metrics, and `hiddenLikesShare` tells you how many there were.

**Private accounts?** Their posts aren't public, so no report is built and the $0.01 report charge doesn't apply. You still get their profile row (followers, bio and other public profile data) at the row price.

**Is it legal to scrape Instagram?** This Actor only collects publicly available data: posts, reels and profiles from public Instagram accounts, which anyone can see without logging in. Collecting publicly available data is generally legal, but you're responsible for how you use it. Results can include usernames, profile details, captions and comments from public accounts, and that counts as personal data. You must follow privacy laws such as GDPR, PIPEDA and CCPA, as well as Instagram's terms. If you're unsure, check with a lawyer. More on this: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

If you reach out to creators, anti-spam laws apply: CASL in Canada, CAN-SPAM in the US, and GDPR/ePrivacy in the EU. Get consent before sending commercial messages.

**Does it access any private data?** No. Everything comes from pages Instagram shows to any visitor without logging in. It never uses a login, never touches private or restricted accounts, and never reaches password-protected areas. Private accounts are never accessed.

### Use it from code, n8n, Make or an AI agent

```bash
curl -X POST "https://api.apify.com/v2/acts/yugenox~instagram-creator-analytics/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H 'content-type: application/json' -d '{"profiles":["natgeo","mkbhd"],"commentSample":3}'
```

- **n8n / Make:** use the Apify node, choose "Run Actor and get dataset items" and pick `yugenox/instagram-creator-analytics`. Feed a Google Sheet of handles in and get report cards back.
- **MCP (Claude, Cursor and others):** add `https://mcp.apify.com?actors=yugenox/instagram-creator-analytics`, then ask "is @creator worth $5k a reel?"

### More Instagram tools

- [Instagram Scraper](https://apify.com/yugenox/instagram-scraper): posts, reels, profiles, hashtags, locations and audio.
- [Instagram Comments Scraper](https://apify.com/yugenox/instagram-comments-scraper): every public comment, top comments first.
- [Instagram Reels Transcript](https://apify.com/yugenox/instagram-reels-transcript): what creators actually say in their reels, $0.004 per minute.
- [Instagram Trends](https://apify.com/yugenox/instagram-trends-scraper): Instagram's own trending keywords and rising profiles.

# Actor input Schema

## `profiles` (type: `array`):

Instagram usernames (nasa, @natgeo) or profile URLs. One report card per profile.

## `commentSample` (type: `integer`):

Read the latest comments of this many recent posts (0–6) to add authenticity signals: repeat commenters (engagement pods), generic comments and comment-to-like ratio. Each post adds one request; 0 = off.

## `recentPosts` (type: `integer`):

Also return this many recent posts per creator, each with an outlier score (how it performed vs the creator's median). 0 = report cards only.

## `includeSimilarAccounts` (type: `boolean`):

Add up to 50 lookalike accounts Instagram suggests for each creator — a fast way to find more creators like the ones you vet.

## `minFollowers` (type: `integer`):

Skip creators below this follower count (no charge for skipped creators).

## `maxFollowers` (type: `integer`):

Skip creators above this follower count.

## Actor input object example

```json
{
  "profiles": [
    "natgeo",
    "mkbhd"
  ],
  "commentSample": 0,
  "recentPosts": 0,
  "includeSimilarAccounts": false
}
```

# Actor output Schema

## `results` (type: `string`):

Every row this run saved, as JSON.

## `resultsCsv` (type: `string`):

The same rows as CSV, ready for a spreadsheet.

## `resultsTable` (type: `string`):

The same rows narrowed to the key columns (the "reports" view).

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "profiles": [
        "natgeo",
        "mkbhd"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("yugenox/instagram-creator-analytics").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "profiles": [
        "natgeo",
        "mkbhd",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("yugenox/instagram-creator-analytics").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "profiles": [
    "natgeo",
    "mkbhd"
  ]
}' |
apify call yugenox/instagram-creator-analytics --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,yugenox/instagram-creator-analytics"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/bG6Bw7WY8gPji0aYY/builds/S9oUahIsU0s69La7g/openapi.json
