# YouTube Creator Finder: Lookalikes, Niches & Sponsors (`zaiq/youtube-creator-finder`) Actor

Find public YouTube creators by content, niche or sponsor, with explained scores, separate long-video and Shorts reach, activity and video-linked brand evidence. $0.05 per creator, $0.02 per seed analysis and $0.01 per nonempty discovery page.

- **URL**: https://apify.com/zaiq/youtube-creator-finder.md
- **Developed by:** [Zaiq](https://apify.com/zaiq) (community)
- **Categories:** Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $40.00 / 1,000 creators

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

## YouTube Creator Finder: Lookalikes, Niches & Sponsors

![YouTube Creator Finder: Lookalikes, Niches & Sponsors](https://api.apify.com/v2/key-value-stores/4VJNANhwKgqPpXtAi/records/hero-youtube-creator-finder.jpg)

Get an explained **YouTube creator shortlist**: a 0–100 content match score, recent view medians, upload activity and sponsor evidence. **$0.05 per delivered creator + $0.02 per completed seed analysis + $0.01 per nonempty discovery page**, the same price on every Apify plan.

Start with `{"queries": ["home espresso machine reviews"]}` for one creator. Use **lookalike** mode for channels similar to a seed, **niche** mode for a topic, or **sponsors** mode for creators linking to a brand.

### What you get

| Field | What it holds |
|---|---|
| Verdict first | One line combines the match score, subscribers, recent median views and observed sponsor or affiliate signals. |
| Creator identity | Channel ID, handle, title, URL, public subscriber and video counts, join date and country when shown. |
| Content judgment | Multilingual semantic similarity, recurring topics, publishing format, size band and upload rhythm, with reasons and per-seed scores. |
| Recent reach | Median and average views for up to 30 long videos and 30 Shorts separately; sample sizes and views-to-subscribers ratios. |
| Activity and language | Last observed upload, uploads per month over a 90-day window, lower-bound flags and an estimated content language with its source. |
| Sponsor history | Brands or domains found in up to 30 recent descriptions, video counts, latest dates, promo codes and evidence links. Sponsor, promo, affiliate and ordinary-link evidence stay distinct. |
| Engagement and samples | Likes and comments per view where returned by the public description calls; the number of measured videos and a selectable recent-video sample. |
| SUMMARY | Discovery coverage, rejected candidates, source failures, route changes, traffic, elapsed time, event counts and spending-limit status. |

### What people use it for

- **Sponsorship shortlists:** Compare creators with similar content and actual recent reach before choosing who to approach.
- **Niche discovery:** Find channels publishing on a topic, including channels whose names do not contain that topic.
- **Brand research:** Find recent videos linking to a brand and inspect whether the text describes sponsorship, a promotion, an affiliate link or a plain link.
- **Creator research:** See which brands appear across comparable channels and which videos support those findings.

### How to use it

1. Choose a mode and add seed channels, niche queries or brands.
2. Set subscriber, median-view, country, language, recency and format filters if needed.
3. Choose the number of creators and set Maximum cost per run.
4. Open the output table and select rows with kind=creator for your shortlist. Read the reasons and follow the evidence links before making a sponsorship decision.

### Input

| Field | Example | Notes |
|---|---|---|
| mode | `niche` | `lookalike`, `niche` or `sponsors`. |
| seeds | `@example-creator` | 1–10 public channel URLs, handles or IDs in lookalike mode. |
| queries | `home espresso machine reviews` | Up to 10 topics. Set numeric and location filters in their dedicated fields. |
| brands | `example-brand.example` | Up to 5 brand names or websites in sponsors mode. Websites give the clearest domain match. |
| maxCreators | `10` | 1–200 unique delivered creators across all inputs; default 1. |
| descriptionsPerCreator | `30` | 1–30 recent descriptions to audit; default 30. A smaller sample is faster and can miss brand evidence. |
| recentVideos | `10` | 0–30 videos included in each row, separate from the description audit. |
| minSubscribers / maxSubscribers | `5000 / 500000` | Zero disables either bound. Hidden counts fail active filters. |
| minMedianViews | `10000` | Long-video median, or Shorts median when Shorts is the selected format. |
| countries / languages | `["United Kingdom"] / ["en"]` | Public channel country and estimated content language; unknown values fail active filters. |
| uploadedWithinDays | `90` | Zero disables the recency filter. Some list dates are approximate. |
| contentFormat | `mixed` | `any`, `long-form`, `shorts` or `mixed`, based on the recent sampled uploads. |
| excludeChannels | `["@example-creator"]` | Channel IDs, handles or URLs. Unresolved exclusions stop the run with a free note. |
| minScore | `55` | Default content-score floor. Increase it for a tighter shortlist. Sponsor mode requires brand evidence instead. |
| maxCandidates / searchPages | `0 / 1` | Automatic bounded candidate budget and one search page per query by default. Increase searchPages for larger lists; every nonempty page costs $0.01. |

### Output

Each result is one row in the run's dataset (download it as JSON, CSV, Excel, XML or HTML, or read it through the API). An example row (values shortened):

```json
{
  "verdict": "84/100 match · 227K subscribers · median 27.2K views on 30 long videos · 11 sponsor/affiliate signals",
  "similarityScore": 84,
  "subscribers": 227000,
  "totalVideos": 572,
  "country": "United States",
  "language": "en",
  "languageBasis": "channel description",
  "joinedDate": "2006-11-15",
  "lastUploadDate": "2026-10-25",
  "uploadsPerMonth": 10.33,
  "activityIsLowerBound": true,
  "medianLongViews": 27152.5,
  "averageLongViews": 40717.97,
  "recentLongVideoCount": 30,
  "medianShortViews": 15716.5,
  "averageShortViews": 23269.73,
  "recentShortVideoCount": 30,
  "viewsToSubscribersRatio": 0.1196,
  "likesPerView": 0.015612,
  "commentsPerView": 0.001664,
  "engagementSampleVideos": 30,
  "descriptionVideosRead": 30,
  "sponsorCount": 11,
  "sponsorScanComplete": true,
  "channelId": "UC0000000000000000000001",
  "handle": "@example-creator-one",
  "title": "Example Creator One",
  "url": "https://video.example/channel/creator-one",
  "sponsors": [
    {
      "brand": "example-brand-1.example",
      "domain": "example-brand-1.example",
      "videoCount": 18,
      "latestDate": "2026-10-25",
      "signalTypes": [
        "affiliate"
      ],
      "paymentConfirmed": false,
      "evidence": [
        {
          "videoUrl": "https://video.example/watch/example-1",
          "signalType": "affiliate",
          "date": "2026-10-25"
        }
      ]
    },
    {
      "brand": "example-brand-2.example",
      "domain": "example-brand-2.example",
      "videoCount": 14,
      "latestDate": "2026-09-23",
      "signalTypes": [
        "affiliate"
      ],
      "paymentConfirmed": false,
      "evidence": [
        {
          "videoUrl": "https://video.example/watch/example-2",
          "signalType": "affiliate",
          "date": "2026-09-23"
        }
      ]
    }
  ]
}
```

This example comes from a public-data run on 26 October 2026 UTC. Channel and brand names, handles, IDs and source addresses have been replaced; measured values and dates were retained. Some nested evidence fields are omitted for space. SUMMARY gives the actual inputs, coverage, failures and charges for your run.

### Pricing

- **$0.05 per delivered creator + $0.02 per completed seed analysis + $0.01 per nonempty discovery page**, the same price on every Apify plan.
- Completed seed analyses cost $0.02 each. Each nonempty discovery page costs $0.01, including generated lookalike-topic and sponsor queries, even when no creator passes the filters. Empty or failed searches, missing or incomplete seeds, rejected candidates and failure notes are free. A creator whose requested public sample could not be completed is returned as a free partial-data note.
- Content scoring runs inside the Actor. There is no separate AI-provider bill or API key to supply.
- Apify’s $0.00005 start charge counts towards your Maximum cost per run.

What typical jobs cost at the list price:

| Job | Cost |
|---|---|
| One niche page + one creator | $0.06005 including the start charge |
| One seed + three discovery pages + 20 creators | $1.05005 total, about $0.0525 per creator |
| Three seeds + nine discovery pages + 20 creators | $1.15005 total, about $0.0575 per creator |
| Three seed analyses + nine discovery pages + 50 creators | $2.65005 total, about $0.053 per creator |
| One brand + three discovery pages + 20 creators | $1.03005 total, about $0.0515 per creator |

Budget for seed analyses, discovery pages and creators, plus the $0.00005 start charge. Each seed can generate up to three queries, and each brand generates three queries; searchPages applies to each query. Duplicate queries are merged. Fixed-work checks reserve room for at least one creator. Tight limits can reduce the seeds or pages read and creators returned; SUMMARY explains this. Restarted runs skip every event already delivered in the same dataset.

### Tips

- Use more than one representative seed when a niche contains several formats.
- Compare long videos with long videos and Shorts with Shorts. Subscriber count alone can hide large reach differences.
- Use a brand’s website in sponsors mode to avoid ambiguous names. Inspect the signal type: a link alone does not show that the creator was paid.
- Use country and language separately. A channel’s country is not its audience location, and language estimates do not establish where viewers live.
- For a tight brief, expect fewer results when few candidates pass. A lower result count is explained in SUMMARY.

### Use it through the API

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("zaiq/youtube-creator-finder").call(run_input={"mode": "niche", "queries": ["home espresso machine reviews"], "maxCreators": 3})
for row in client.dataset(run.default_dataset_id).iterate_items():
    print(row)
```

**JavaScript**

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('zaiq/youtube-creator-finder').call({"mode": "niche", "queries": ["home espresso machine reviews"], "maxCreators": 3});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

**HTTP (one call, results back)**

```bash
curl -X POST 'https://api.apify.com/v2/acts/zaiq~youtube-creator-finder/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"mode": "niche", "queries": ["home espresso machine reviews"], "maxCreators": 3}'
```

### Integrations and schedules

- **Schedules:** run it every hour, day or week from the Apify Console (Schedules) and keep a history of results.
- **Make, Zapier, n8n, Google Sheets, Slack, Airtable:** connect it through Apify's integrations, or send each finished run to a **webhook**.
- **Datasets:** results stay in the run's dataset; export them or read them by API whenever you need them.

### Use it with AI agents (MCP)

Add Apify's MCP server (`https://mcp.apify.com`) to Claude, ChatGPT, Cursor, VS Code or any MCP client. The agent can find this Actor and run it for you: ask it for "find creators similar to these channels and show their recent reach and sponsor evidence". AI agents can also pay for runs directly through Apify's agentic payments.

### Limits

- Seed-analysis and search rows describe completed discovery work; select kind=creator to export only the ranked shortlist.
- Public signed-out YouTube data only. Restricted, removed, unavailable and challenged data is reported; no login or challenge solving is used.
- Discovery is a bounded sample of public search, featured channels and adjacent video cards when available. It is not an exhaustive index of every channel. Seeds are excluded from their own results.
- A score describes content similarity or brand-evidence strength. It is not a prediction of campaign performance, audience authenticity, sales or sponsorship fees.
- Language is inferred from channel text and titles; YouTube may translate titles. No audio is analyzed, so spoken language is not verified.
- Activity uses up to 100 long uploads, 100 Shorts and the combined upload list. Missing dates or a window that does not cover 90 days are marked as a lower bound. Live streams are not included.
- Upload-list views and subscriber counts may be rounded. Recent uploads are still accumulating views. Missing likes, comments or country stay null.
- The sponsor window is the last requested number of public descriptions, not a fixed number of months. Shortened links are not followed; their underlying brand can remain unknown.
- An affiliate disclaimer can apply to the description as a whole; it does not individually confirm every link. Such evidence is qualified in the output. A disclosure or link is evidence of published text. It cannot verify a contract, payment, exclusivity or whether a relationship is still active. Promotional coupon channels are excluded from sponsor discovery.
- No contact fields, emails or phone numbers are collected.

### FAQ

**Does it need an account, cookies or an AI key?**

No. It reads public signed-out data and scores content locally.

**Are seed channels and searches charged?**

Yes. A completed seed profile costs $0.02 once per unique seed. Each nonempty discovery page costs $0.01, including generated topic and brand queries. These charges apply even if filters leave no matching creator. Creator deliveries cost $0.05 each; incomplete seeds, empty or failed pages, rejected candidates and notes are free.

**How is a lookalike score calculated?**

Recent titles and description samples are compared with a multilingual content model and recurring-topic signals. Format, detected language, audience-size proximity and upload rhythm contribute. With multiple seeds, the main score is the strongest individual match; matches contains every seed’s score.

**Does a sponsor result mean the brand paid the creator?**

No. Each result labels the observed evidence as sponsorship wording, a promo code, an affiliate signal or an ordinary link. The video URL lets you check the source.

**Can I filter by audience country, age or gender?**

No. Those private audience attributes are not inferred. Country is the value the channel publishes.

**Why can a channel have fewer than 30 descriptions?**

It may have fewer public uploads. A completed scan of all available uploads is still useful; the requested and read counts are shown. Source failures produce free partial-data notes.

**Can I resume a migrated run?**

Yes. Stable dataset keys and compressed checkpoints let the Actor skip seed analyses, discovery pages and creators already delivered. A new run with a new dataset is a new search.

**Can I get 200 creators?**

Yes. Larger lists need broader queries and more search pages. The maximum is 200 delivered creators; actual coverage depends on public results, filters, the request budget and the spending limit.

### Related Actors from Zaiq

- [youtube-scraper](https://apify.com/zaiq/youtube-scraper): Public channel, video and search data
- [youtube-outlier-finder](https://apify.com/zaiq/youtube-outlier-finder): Videos that outperform their own channel’s baseline
- [youtube-comments-scraper](https://apify.com/zaiq/youtube-comments-scraper): Public comments and discussion analysis

### Support

Questions, a site that changed, or a field you need? Open an issue on this Actor's **Issues** tab: we answer there, usually within a day.

***

Also found as: youtube creator finder, youtube lookalike finder, youtube influencer discovery, youtube niche channels, youtube sponsor finder, creator sponsorship research.

# Actor input Schema

## `mode` (type: `string`):

Lookalike matches seed content; niche ranks publishing relevance; sponsors verifies brand links or disclosures in recent descriptions.

## `seeds` (type: `array`):

One to ten channel URLs, @handles or UC channel IDs. Each completed seed analysis costs $0.02. Seeds are excluded from creator matches.

## `queries` (type: `array`):

Up to ten searches about what creators publish. Empty niche inputs use a small espresso-review example. Filters below are explicit; natural-language filter instructions are not automatically interpreted. Each nonempty discovery page costs $0.01, even if no creator passes the filters.

## `brands` (type: `array`):

In sponsors mode, up to five brand names or websites. Results need a matching domain or explicit brand wording with sponsorship, promo or affiliate evidence in recent descriptions. Unverified link destinations are labelled.

## `maxCreators` (type: `integer`):

Total unique delivered creators across all inputs, $0.05 each. Seed analyses and nonempty discovery pages have separate charges. Rejected candidates are free.

## `descriptionsPerCreator` (type: `integer`):

Check up to this many most recent long-video and Shorts descriptions for sponsors, affiliate links and engagement. Defaults to 30. Fewer checks are faster but can miss sponsors.

## `recentVideos` (type: `integer`):

Number of recent videos to include in the output, separate from the description audit. Set 0 to omit the sample. Reach metrics use up to 30 videos per format.

## `minSubscribers` (type: `integer`):

Minimum public subscriber count. Zero disables this filter. Hidden counts fail an active subscriber filter.

## `maxSubscribers` (type: `integer`):

Maximum public subscriber count. Zero means no maximum.

## `minMedianViews` (type: `integer`):

Minimum median recent long-video views, or Shorts views when the format is Shorts. Uses up to 30 public uploads per format; includes recent uploads still gathering views.

## `countries` (type: `array`):

Match the country shown on the public channel About panel. Use a country name or common two-letter code. Missing country is excluded when this filter is active. This is not audience geography.

## `languages` (type: `array`):

Estimated from public titles and channel text. Supported estimates: en, es, pt, fr, de, it, ja, ko, ru, ar, hi. Unknown estimates are excluded by an active filter.

## `uploadedWithinDays` (type: `integer`):

Require a public long video or Short within this many days. Zero disables the filter. Dates from upload lists are approximate.

## `contentFormat` (type: `string`):

Based on the latest 30 sampled uploads: long-form, Shorts, or a mixture. Live streams are not included in these samples.

## `excludeChannels` (type: `array`):

Up to 200 channel URLs, @handles or IDs. An unresolved exclusion stops the run with a free note so the exclusion is not silently ignored.

## `minScore` (type: `integer`):

Minimum explained content score for lookalike and niche results. Sponsor mode uses verified brand evidence instead. Zero permits weak matches.

## `maxCandidates` (type: `integer`):

Zero selects three times the affordable creator count plus one, capped at 220. Explicit values are bounded by six times the affordable creator count (minimum four), to keep rejected-candidate costs bounded.

## `searchPages` (type: `integer`):

Maximum pages per discovery query. Each nonempty page costs $0.01, including generated lookalike-topic and sponsor queries. One page per query is the default. Empty and failed pages are free.

## Actor input object example

```json
{
  "mode": "niche",
  "seeds": [],
  "queries": [
    "home espresso machine reviews"
  ],
  "brands": [],
  "maxCreators": 1,
  "descriptionsPerCreator": 30,
  "recentVideos": 10,
  "minSubscribers": 0,
  "maxSubscribers": 0,
  "minMedianViews": 0,
  "countries": [],
  "languages": [],
  "uploadedWithinDays": 0,
  "contentFormat": "any",
  "excludeChannels": [],
  "minScore": 55,
  "maxCandidates": 0,
  "searchPages": 1
}
```

# Actor output Schema

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

Dataset: the results.

## `summary` (type: `string`):

What each input returned, and notes.

# 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 = {
    "mode": "niche",
    "queries": [
        "home espresso machine reviews"
    ],
    "maxCreators": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("zaiq/youtube-creator-finder").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 = {
    "mode": "niche",
    "queries": ["home espresso machine reviews"],
    "maxCreators": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("zaiq/youtube-creator-finder").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 '{
  "mode": "niche",
  "queries": [
    "home espresso machine reviews"
  ],
  "maxCreators": 1
}' |
apify call zaiq/youtube-creator-finder --silent --output-dataset

```

## MCP server setup

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

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/ESeUnHL4JJssrVJ1n/builds/5PYvL2155LajhXcoG/openapi.json
