# Influencer Search and Audience Analytics API - HypeAuditor (`nabeelbaghoor/influencer-search-audience-analytics-api`) Actor

Find Instagram, YouTube, TikTok, Twitch and X influencers with real filters (niche, followers, engagement, audience quality, audience country, age, gender) and pull audience reports: fake follower share, demographics, geography, contact emails. Read only. Bring your own HypeAuditor API key.

- **URL**: https://apify.com/nabeelbaghoor/influencer-search-audience-analytics-api.md
- **Developed by:** [Nabeel Hassan](https://apify.com/nabeelbaghoor) (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 $5.00 / 1,000 creator founds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Influencer Search and Audience Analytics API - HypeAuditor

Find Instagram, YouTube, TikTok, Twitch and X (Twitter) influencers with real audience filters, then pull a full audience report for each one: audience quality score, fake follower share, audience gender, age, country and language, engagement rate and contact emails, as clean rows ready for a CRM, a spreadsheet or an outreach pipeline.

### What it collects

- **Influencer discovery search**: creators on one network matching your filters: niche, keywords in profile, content or bio, category, creator country, language and gender, follower range, engagement rate, audience quality score (AQS) or YouTube channel quality score (CQS), average views, audience country, gender and age share, follower growth, recent posting, verified, has contact details, has run sponsored posts, similar to a given creator, Twitch games and live viewers. 20 creators per page, up to 10,000 per search.
- **Influencer audience report**: per username, profile URL, YouTube channel or user id. Audience quality score and mark, the split of real, suspicious, influencer and mass-follower accounts in the audience, audience gender and age, top audience countries and languages, followers, engagement rate, creator country, contact emails, plus the provider's whole report under `raw`. Advanced or mini report on Instagram, YouTube and TikTok; Twitch and X have one report type.
- **Account suggester**: accounts across networks that match a name, with followers and verified status.
- **Twitch game ids**: the ids the Twitch game filter takes.
- **Credits left**: report credits, mini and advanced reports left, and discovery requests left on your plan.
- Read only, pay per result, bring your own key.

### Input

| Field | What it does |
| --- | --- |
| What to read | Discovery search (default), influencer audience report, account suggester, Twitch game ids, or credits left. |
| Social network | Instagram, YouTube, TikTok, Twitch or Twitter (X), for discovery and reports. |
| Identifiers | Reports: usernames, profile URLs, channel ids or user ids. Suggester: names. Twitch game ids: game names. |
| Niche, keywords | Discovery: a niche phrase, or keywords anywhere, in content or in bio. |
| Category ids | Discovery: categories (Instagram, TikTok) or thematics (YouTube) to include or exclude. |
| Creator countries, languages, gender, account type | Discovery: who the creator is. |
| Followers, engagement rate, audience quality, channel quality, average views | Discovery: minimum and maximum ranges. |
| Audience countries, gender, age groups | Discovery: who the audience is, each with a minimum share. |
| Has contacts, has run sponsored posts, verified, posted within days, follower growth | Discovery: more creator filters. |
| Twitch game ids, live viewers | Discovery on Twitch. |
| Similar to, exclude usernames, sort | Discovery: lookalikes, exclusions and order. |
| Use the discovery sandbox | Discovery: free sample data to test a key. Not charged. |
| Look up reports by, report type, extra report features, include the full report, wait for new reports | Report options. |
| Suggester network | Suggester: one network or all. |
| Maximum results | Row cap for the run. It also caps the discovery pages spent. |
| Requests per minute | Pacing for calls to the provider, which allows 100 per minute. |
| API token | Your own API token, as a secret input. |
| Account id | Your account (client) id, issued with the token. |

Filters that do not apply to the chosen network are left off with a warning in the log, because a filter a network does not support can quietly empty the result.

### Example output

An influencer audience report row:

```json
{
  "service": "report",
  "requested": "nasa",
  "found": true,
  "platform": "instagram",
  "username": "nasa",
  "userId": "528817151",
  "title": "NASA",
  "isVerified": true,
  "followers": 104344490,
  "engagementRate": 2.24,
  "audienceQualityScore": 92,
  "qualityMark": "Excellent",
  "reportState": "READY",
  "reportType": "advanced_report",
  "creatorCountry": "us",
  "emails": ["public-inquiries@hq.nasa.gov"],
  "audienceGender": { "male": 55.76, "female": 44.2 },
  "audienceAge": { "13-17": 4.1, "18-24": 18.26, "25-34": 47.5, "35-44": 17.61, "45-54": 6.91, "55-64": 3.27, "65+": 2.31 },
  "audienceCountries": [
    { "code": "us", "name": "United States (USA)", "percent": 17.56 },
    { "code": "in", "name": "India", "percent": 9.94 }
  ],
  "audienceLanguages": [{ "code": "en", "percent": 54.9 }],
  "audienceType": { "real": 79.44, "suspicious": 6.93, "influencers": 4.05, "massFollowers": 9.57 },
  "creditsLeft": 9920,
  "validUntil": "2026-11-29T10:12:33.000Z",
  "note": null
}
```

A discovery search row:

```json
{
  "service": "discovery",
  "requested": "page 1",
  "found": true,
  "platform": "tiktok",
  "username": "fygh.bbk",
  "userId": "6985343550326539270",
  "title": "Yizhou",
  "followers": 1002683,
  "engagementRate": 7.8,
  "qualityMark": "poor",
  "reportState": "READY",
  "metrics": { "er": 7.8, "subscribers_count": 1002683, "likes_count": 16488514, "views_avg": 0 },
  "page": 1,
  "creditsLeft": 99958
}
```

Values are illustrative, taken from the provider's documented examples.

### FAQ

#### What is this influencer search and audience analytics API used for?

Finding and vetting creators for influencer marketing. A brand team searches TikTok for fitness creators in the US with 50,000 to 500,000 followers, an audience quality score above 60 and at least 40 percent of the audience in the US, then pulls the audience report of the shortlist to check fake followers, audience age and gender before outreach. An agency audits a client's current Instagram influencers every month. A creator platform enriches sign-ups with engagement rate and audience geography.

#### Which data source does this actor read?

The HypeAuditor API at hypeauditor.com/api/method, through the routes of its public documentation at hypeauditor.readme.io: `POST /auditor.search/` and `/auditor.searchSandbox/` for discovery, `GET /auditor.report/` and `/auditor.reportByUserId/` for Instagram, `/auditor.youtube/`, `/auditor.tiktok/` and `/auditor.tiktokByUserId/`, `/auditor.twitch/` and `/auditor.twitter/` for reports, `/auditor.suggester`, `/auditor.games/` and `/auditor.planInfo/`. Nothing is written: lists, campaigns, media plans and recruitment are not called.

#### Do I need an API key?

Yes. This actor is bring-your-own-key and never ships one. HypeAuditor issues API access with two values: an API token and an account id (client id). Paste the token into the API token input and the id into the account id input, or set them once as the `DATA_API_KEY` and `DATA_API_AUTH_ID` environment secrets. They are sent in the `X-Auth-Token` and `X-Auth-Id` headers to the API host only. A missing or refused key ends the run cleanly with a message saying which it was.

#### What is the audience quality score?

The provider's 0 to 100 rating of how real and engaged an Instagram or TikTok audience is, with a mark such as poor, average, good or excellent. It is built from follower authenticity, engagement, growth and comment patterns. YouTube has the equivalent channel quality score (CQS). Both can be used as discovery filters and are returned in every report.

#### How are fake followers shown?

As `audienceType`: the share of the audience that is real, suspicious (bots and bought followers), influencers, and mass followers (accounts following thousands of others). It comes with Instagram and TikTok reports.

#### What does a report cost on the provider side?

An advanced report takes 1 report credit and a mini report 1 mini report credit on your HypeAuditor plan. A report stays unlocked for a year, so asking again for the same account in that time takes nothing. Credits are refunded when the provider cannot build a report. Each discovery page of 20 creators spends one discovery request. The credits left service shows your balance.

#### What happens when a report is not ready?

A report the provider has not built yet is requested, then asked for again after the wait the provider gives, for up to the wait for new reports input (180 seconds by default). If it is still building, the row has `found: false` and a note; run again later at no extra credit.

#### What happens when there is nothing for an account?

It becomes its own row with `found: false` and a note: private account, age restricted, too few followers, posts or views to analyse, or not found. Those rows are never charged.

#### How is it priced?

Pay per result: $0.005 per creator from a discovery search, suggested account or Twitch game id, and $0.02 per influencer audience report. Sandbox rows, the credit balance and rows for accounts that produced nothing are free. Your HypeAuditor subscription applies separately.

### Pricing

| Event | Price |
| --- | --- |
| Creator found (discovery, suggester, Twitch game) | $0.005 per row |
| Influencer audience report returned | $0.02 per report |

### Keyword map

influencer search API, influencer discovery API, influencer analytics API, audience quality score, fake follower checker, Instagram influencer audience demographics, TikTok influencer search, YouTube channel analytics, Twitch streamer search, creator marketing data, influencer vetting, audience authenticity, engagement rate API, HypeAuditor API, HypeAuditor discovery, HypeAuditor report.

# Actor input Schema

## `service` (type: `string`):

Discovery search finds creators on one network with the filters below and needs no identifiers, so it is the default. Influencer audience report reads the full audience analytics of each account in the identifiers input: audience quality score, fake follower share, gender, age, country and language of the audience, engagement rate and contact emails. Account suggester finds accounts by name. Twitch game ids looks up the ids the Twitch game filter takes. Credits left reads the report credits and discovery requests left on your plan.

## `socialNetwork` (type: `string`):

The network to search, or the network the report identifiers belong to.

## `identifiers` (type: `array`):

One per line. Influencer audience report: usernames (with or without @), profile URLs, YouTube channel ids or @handles, or numeric user ids when looking up by user id. Account suggester: names or usernames to search. Twitch game ids: game names. Discovery search and credits left read none.

## `nicheSearch` (type: `string`):

Discovery, Instagram, YouTube and TikTok: a word or phrase describing the niche, such as home decor or vegan recipes. Cannot be combined with the keyword searches.

## `searchKeywords` (type: `array`):

Discovery: keywords to match anywhere in the creator's profile and content.

## `contentKeywords` (type: `array`):

Discovery: keywords to match in the creator's posts or videos.

## `bioKeywords` (type: `array`):

Discovery: keywords to match in the creator's bio or channel description.

## `categoryIds` (type: `array`):

Discovery, Instagram and TikTok categories or YouTube thematics to include, as numbers from the provider's taxonomy, such as 1018.

## `excludeCategoryIds` (type: `array`):

Discovery: category or thematic ids to leave out.

## `creatorCountries` (type: `array`):

Discovery: two-letter codes of the countries the creator is in, such as us or gb.

## `creatorLanguages` (type: `array`):

Discovery: two-letter codes of the languages the creator posts in, such as en or es.

## `creatorGender` (type: `string`):

Discovery, Instagram and TikTok.

## `accountType` (type: `string`):

Discovery, Instagram: a person or a brand.

## `followersMin` (type: `integer`):

Discovery: followers (subscribers on YouTube) at least this many.

## `followersMax` (type: `integer`):

Discovery: followers (subscribers on YouTube) at most this many.

## `engagementRateMin` (type: `number`):

Discovery, Instagram, TikTok and Twitter: engagement rate in percent, from 0 to 100.

## `engagementRateMax` (type: `number`):

Discovery, Instagram, TikTok and Twitter: engagement rate in percent, from 0 to 100.

## `audienceQualityMin` (type: `integer`):

Discovery, Instagram and TikTok: the provider's audience quality score (AQS), from 0 to 100.

## `audienceQualityMax` (type: `integer`):

Discovery, Instagram and TikTok: audience quality score, from 0 to 100.

## `channelQualityMin` (type: `integer`):

Discovery, YouTube: the provider's channel quality score (CQS), from 0 to 100.

## `channelQualityMax` (type: `integer`):

Discovery, YouTube: channel quality score, from 0 to 100.

## `averageViewsMin` (type: `integer`):

Discovery, YouTube and TikTok: average views per video.

## `audienceCountries` (type: `array`):

Discovery, Instagram, YouTube, TikTok and Twitch: two-letter codes of countries the audience must come from, each at least the share below.

## `audienceCountryMinPercent` (type: `integer`):

Discovery: the least share of the audience each audience country must hold.

## `audienceGender` (type: `string`):

Discovery, Instagram, YouTube, TikTok and Twitch: the gender the audience leans to, with the share below.

## `audienceGenderMinPercent` (type: `integer`):

Discovery: the least share of the audience of that gender.

## `audienceAgeGroups` (type: `array`):

Discovery, Instagram, YouTube and TikTok: age groups that together must hold the share below.

## `audienceAgeMinPercent` (type: `integer`):

Discovery: the least share of the audience in the chosen age groups together.

## `hasContacts` (type: `string`):

Discovery: only creators that list an email or other contact.

## `hasAdvertising` (type: `string`):

Discovery, Instagram, YouTube and TikTok: creators that have or have not posted advertising.

## `verified` (type: `string`):

Discovery, Instagram, TikTok, YouTube and Twitter.

## `postedWithinDays` (type: `integer`):

Discovery, Instagram, YouTube, TikTok and Twitter: the creator posted within this many days.

## `growthPeriod` (type: `string`):

Discovery: the period follower growth is measured over, with the percent range below.

## `growthMinPercent` (type: `integer`):

Discovery: follower growth over the period, at least this percent.

## `growthMaxPercent` (type: `integer`):

Discovery: follower growth over the period, at most this percent.

## `youtubeContentType` (type: `string`):

Discovery, YouTube: channels that post videos or that stream live.

## `twitchGameIds` (type: `array`):

Discovery, Twitch: up to 3 game ids the streamer plays, from the Twitch game ids service.

## `liveViewersMin` (type: `integer`):

Discovery, Twitch.

## `liveViewersMax` (type: `integer`):

Discovery, Twitch.

## `similarTo` (type: `string`):

Discovery, Instagram, YouTube and TikTok: find creators similar to this Instagram username, YouTube channel id or TikTok account id.

## `excludeUsernames` (type: `array`):

Discovery: usernames to leave out of the results, up to 1000.

## `sortBy` (type: `string`):

Discovery: the order results come in.

## `sortOrder` (type: `string`):

Discovery.

## `useSandbox` (type: `boolean`):

Discovery: call the provider's sandbox, which returns sample creators without applying filters and spends no discovery requests. Good for testing a key. Sandbox rows are not charged.

## `lookupBy` (type: `string`):

Influencer audience report, Instagram and TikTok: usernames, or numeric user ids. Other networks always take the username or channel.

## `reportType` (type: `string`):

Influencer audience report, Instagram, YouTube and TikTok: the advanced report (1 report credit) or the mini report (1 mini report credit). Twitch and Twitter have one report type.

## `reportFeatures` (type: `array`):

Influencer audience report: extra sections to add. Instagram takes ranking, mentions, mentioned by, notable audience, audience brand affinity and ER benchmarks; YouTube takes brand mentions performance. Others are ignored.

## `includeRawReport` (type: `boolean`):

Influencer audience report: keep the provider's whole report under raw, alongside the flattened columns.

## `maxWaitSeconds` (type: `integer`):

Influencer audience report: how long to keep asking for a report the provider is still building. Asking again is free.

## `suggesterNetwork` (type: `string`):

Account suggester: search one network only, or all of them.

## `maxResults` (type: `integer`):

Stop after this many rows. Discovery reads 20 creators per page and each page spends one discovery request on your plan, so this also caps what the run spends there. The provider serves at most 10,000 results per search.

## `requestsPerMinute` (type: `integer`):

Pacing ceiling for calls to the provider, which allows 100 per minute. Rate limited answers are retried after a pause.

## `apiKey` (type: `string`):

Your own API token (X-Auth-Token), issued with HypeAuditor API access. This actor is bring-your-own-key and never ships one. Leave blank to use the DATA\_API\_KEY environment secret. It is sent only to the API host and is never written to a row or logged.

## `accountId` (type: `string`):

Your account id, also called client id (X-Auth-Id), issued with the token. Required with the token. Leave blank to use the DATA\_API\_AUTH\_ID environment secret.

## `baseUrl` (type: `string`):

Override the host the actor calls. Only useful for testing against a different environment.

## Actor input object example

```json
{
  "service": "discovery",
  "socialNetwork": "instagram",
  "creatorGender": "any",
  "accountType": "any",
  "audienceCountryMinPercent": 20,
  "audienceGender": "any",
  "audienceGenderMinPercent": 50,
  "audienceAgeMinPercent": 30,
  "hasContacts": "any",
  "hasAdvertising": "any",
  "verified": "any",
  "growthPeriod": "any",
  "youtubeContentType": "any",
  "sortBy": "engagement_avg",
  "sortOrder": "desc",
  "useSandbox": false,
  "lookupBy": "username",
  "reportType": "advanced_report",
  "includeRawReport": true,
  "maxWaitSeconds": 180,
  "suggesterNetwork": "any",
  "maxResults": 100,
  "requestsPerMinute": 60
}
```

# Actor output Schema

## `records` (type: `string`):

One row per creator, audience report, suggested account, Twitch game or credit balance.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("nabeelbaghoor/influencer-search-audience-analytics-api").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("nabeelbaghoor/influencer-search-audience-analytics-api").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 '{}' |
apify call nabeelbaghoor/influencer-search-audience-analytics-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,nabeelbaghoor/influencer-search-audience-analytics-api"
        }
    }
}
```

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/VktgIXncWKkhirwxR/builds/ot6wJ8SIiCbiehPxD/openapi.json
