# YouTube Creator Finder — Qualified Leads (`kazkn/youtube-creator-lead-finder`) Actor

Find active YouTube creators by niche, language, and country. Filter subscribers, upload cadence, recent median views, content format, engagement, and public business contacts including emails. Export deduplicated, explainable leads for agencies, brands, SaaS, sponsors, and creator services.

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

## Pricing

from $13.50 / 1,000 qualified creator delivereds

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## YouTube Creator Finder — Qualified Influencer Leads

[![TypeScript](https://img.shields.io/badge/TypeScript-Apify%20SDK-246FDB)](https://docs.apify.com/sdk/js/) [![Output](https://img.shields.io/badge/output-qualified%20creator%20leads-00A86B)](https://console.apify.com/actors/pP78XdCIaGEZ3VZLR/input) [![Contacts](https://img.shields.io/badge/contacts-public%20sources%20only-FF0033)](#public-contact-contract)

Find YouTube creators by niche, language, country, audience size, upload frequency, and recent performance—without collecting channel URLs one by one. This YouTube creator finder turns public YouTube data into a deduplicated outreach shortlist with explainable scores and exact contact provenance when a business contact is publicly listed.

[![Find active YouTube creators with recent performance, public contact provenance, and explainable scores](https://api.apify.com/v2/key-value-stores/ZCyS0s5cbngCAlvgi/records/youtube-creator-lead-finder-hero-v1.png)](https://console.apify.com/actors/pP78XdCIaGEZ3VZLR/input)

### Choose the result you need

| Your intent                       | Outcome preset        | Dataset result                                                                 |
| --------------------------------- | --------------------- | ------------------------------------------------------------------------------ |
| Find a small creator list quickly | `quick_leads`         | Standard qualification using the smaller limits you set in the form            |
| Rank active creators for outreach | `qualified_shortlist` | Standard qualification using your explicit performance and analysis controls   |
| Keep only contact-ready prospects | `contact_ready`       | Qualified rows with an explicitly public business contact and exact source URL |

### What does YouTube Creator Lead Finder do?

YouTube Creator Lead Finder is a YouTube influencer finder, YouTube channel finder, and creator lead generation tool in one Actor. It discovers candidates from niches or search queries, enriches a bounded pool of `min(200, maxChannels × 5)`, then applies qualification, scoring, sorting, and the requested output limit.

For every delivered channel, it can:

- confirm recent activity and calculate publishing cadence over 30 and 90 days;
- compare median and average views across a bounded recent-video sample;
- estimate engagement when public view, like, and comment counts are available;
- separate Shorts, long-form videos, and live streams using documented heuristics;
- distinguish declared country from inferred geography;
- detect the primary language and preserve a confidence level;
- collect only business contacts explicitly published in the channel description;
- produce an explainable opportunity score with the reasons behind it.

It is designed for influencer agencies, brands, sponsors, affiliate teams, B2B SaaS companies, recruiters, talent managers, and service providers looking to find YouTube creators for targeted outreach.

### Why use this YouTube creator finder?

- **No seed list required:** start with niches and search queries; channel URLs remain optional.
- **Multi-market discovery:** combine several languages and countries in one run, or search a language worldwide.
- **Activity-first qualification:** filter inactive channels before they reach your outreach list.
- **Recent-performance context:** use recent median views and cadence instead of subscriber count alone.
- **Transparent contact evidence:** every public contact keeps its type, value, source URL, collection time, status, and confidence.
- **Explainable ranking:** every `opportunityScore` includes `opportunityReasons` and component evidence.
- **Export-ready leads:** one Dataset row per `channelId`, ready for CSV, JSON, Excel, API, webhooks, or downstream automation.

Unlike a raw YouTube email finder, the Actor does not invent addresses or treat missing protected email data as a result. Unlike a flat YouTube influencer database, every run is generated from your current niche, geography, activity, and performance criteria.

### How to use it

1. Open the Actor input and choose the outcome preset that matches your workflow.
2. Add one or more niches, such as `B2B SaaS`, `AI automation`, or `fitness coaching`.
3. Select one or more creator languages. Leave **Search each language worldwide** enabled if country should not restrict qualification.
4. Optionally add countries, audience-size limits, recent-activity filters, view thresholds, or required contact types. Disable `worldwideLanguageMode` to apply selected countries.
5. Set the maximum number of qualified channels you want.
6. Run the Actor and open the default Dataset to inspect, filter, or export the delivered creator leads.

### Quick start

`quick_leads` and `qualified_shortlist` use the same runtime qualification engine and respect the limits you choose. Use smaller `maxChannels`, `videosAnalyzedPerChannel`, and `maximumSearchCalls` values for a quicker run. `contact_ready` is the only preset that changes a filter automatically: it requires at least one qualifying public contact.

```json
{
    "preset": "qualified_shortlist",
    "niches": ["B2B SaaS", "AI automation"],
    "languages": ["fr", "en"],
    "countries": [],
    "worldwideLanguageMode": true,
    "minSubscribers": 1000,
    "maxSubscribers": 250000,
    "lastUploadWithinDays": 90,
    "maxChannels": 25,
    "requirePublicBusinessContact": false
}
```

### Input

The input form follows the prospecting decision: **Find the right creators**, **Audience size**, **Activity & performance**, **Public contacts**, **Refine discovery**, **Result order**, and **Advanced controls**.

| Input                                          | Purpose                                                               | Default                  |
| ---------------------------------------------- | --------------------------------------------------------------------- | ------------------------ |
| `preset`                                       | Select quick leads, a qualified shortlist, or contact-ready prospects | `qualified_shortlist`    |
| `niches[]`                                     | Topics or commercial niches used for discovery and qualification      | `["B2B SaaS"]`           |
| `languages[]`                                  | One or more creator languages                                         | `["en"]`                 |
| `countries[]`                                  | One or more target countries; applied only when worldwide mode is off | `[]`                     |
| `worldwideLanguageMode`                        | Search selected languages worldwide and ignore country hints          | `true`                   |
| `maxChannels`                                  | Maximum qualified rows delivered                                      | `25`                     |
| `minSubscribers`, `maxSubscribers`             | Audience-size range                                                   | `1,000` to `1,000,000`   |
| `minVideosPerMonth`, `maxVideosPerMonth`       | Estimated upload-frequency range                                      | `0` to `200`             |
| `lastUploadWithinDays`                         | Maximum age of the most recent sampled upload                         | `90` days                |
| `minRecentMedianViews`, `maxRecentMedianViews` | Recent median-view range                                              | no effective restriction |
| `minEngagementRate`                            | Minimum calculable engagement rate                                    | `0`                      |
| `contentFormats[]`                             | Long-form, Shorts, and/or live                                        | all formats              |
| `requirePublicBusinessContact`                 | Exclude channels without a qualifying public contact                  | `false`                  |
| `contactTypes[]`                               | Public business email, website, or social profile                     | all currently supported  |
| `searchQueries[]`                              | Extra discovery phrases                                               | `[]`                     |
| `seedChannelUrls[]`                            | Optional channels to qualify alongside discovery                      | `[]`                     |
| `excludedKeywords[]`, `excludedChannelUrls[]`  | Remove unwanted themes or channels                                    | `[]`                     |
| `videosAnalyzedPerChannel`                     | Recent-video sample size                                              | `10`                     |
| `maximumSearchCalls`                           | Hard search-budget ceiling                                            | `20`                     |
| `minChannelAgeMonths`                          | Minimum public channel age when calculable                            | `0`                      |
| `sortBy`, `sortDirection`                      | Result metric and ordering direction                                  | score, highest first     |
| `maximumLinkedHostsPerChannel`                 | Reserved linked-site inspection cap; no linked-site fetch runs today  | `3`                      |
| `deduplicationMode`                            | Stable duplicate handling                                             | `channel_id`             |

At least one discovery source is required across `niches`, `searchQueries`, or `seedChannelUrls`. The public form supplies a useful default niche, so a first run can be configured in seconds.

### Output

The default Dataset contains one item per qualified channel. Important fields include:

- identity: `channelId`, `channelName`, `channelUrl`, `handle`, `description`, `thumbnailUrl`;
- geography and language: `declaredCountry`, `inferredCountries`, `countryConfidence`, `primaryLanguage`, `detectedLanguages`, `languageConfidence`;
- activity: `lastUploadAt`, `videosLast30Days`, `videosLast90Days`, `estimatedVideosPerMonth`;
- performance: `subscriberCount`, `recentMedianViews`, `recentAverageViews`, `engagementRate`;
- format mix: `shortsRatio`, `longFormRatio`, `liveRatio`;
- public contacts: `publicBusinessEmail`, `contactType`, `contactSourceUrl`, `websiteUrls`, `socialProfiles`, `managementContact` (currently `null` in live provider output);
- qualification: `niches`, `opportunityScore`, `opportunityReasons`, `matchedQueries`, `matchedCountries`, `matchedLanguages`;
- auditability: `scrapedAt`, `dataFreshness`, `warnings`.

#### Example Dataset item

```json
{
    "channelId": "UC_SANITIZED_EXAMPLE",
    "channelName": "Automation Studio",
    "channelUrl": "https://www.youtube.com/channel/UC_SANITIZED_EXAMPLE",
    "declaredCountry": "CA",
    "inferredCountries": ["FR"],
    "primaryLanguage": "fr",
    "subscriberCount": 42000,
    "lastUploadAt": "2026-08-10T12:00:00.000Z",
    "videosLast30Days": 3,
    "videosLast90Days": 4,
    "estimatedVideosPerMonth": 1.33,
    "recentMedianViews": 3500,
    "engagementRate": 5.27,
    "shortsRatio": 0.25,
    "longFormRatio": 0.5,
    "liveRatio": 0.25,
    "publicBusinessEmail": "partnerships@example.test",
    "contactSourceUrl": "https://www.youtube.com/channel/UC_SANITIZED_EXAMPLE/about",
    "opportunityScore": 90,
    "opportunityReasons": ["Niche fit: requested niche matched"],
    "warnings": []
}
```

This item is sanitized example data, not a real creator claim. Unavailable upstream metrics remain `null` and add a warning; they never silently become zero.

#### Run summary

The default Key-value store record `RUN_SUMMARY` reports:

- channels discovered, qualified, and delivered;
- channels with a public business contact;
- language, country, and niche distributions;
- exclusion reasons;
- provider calls, quota use, limits, and partial-result status.

### Explainable qualification

- Cadence is computed separately over 30 and 90 days. `estimatedVideosPerMonth` uses the bounded 90-day sample divided by three.
- Recent median and average views use only the sampled recent videos.
- Engagement is calculated only when the required public counts are available.
- `declaredCountry` comes from YouTube channel metadata. `inferredCountries` stays separate and identifies the inference method.
- YouTube search language and region parameters guide discovery; they are not silently presented as confirmed channel attributes.
- Niche classification normalizes punctuation, accents, `AI`/`IA`, and simple singular/plural variants, then requires evidence in the public description or recent video titles.
- Shorts classification from the official API is a duration heuristic and produces `SHORTS_CLASSIFICATION_HEURISTIC_NOT_EXACT` when relevant.
- The score rescales across known components. An unknown metric has no points assigned; it is not treated as a failed zero.

### Public-contact contract

A usable contact contains `type`, `value`, exact `sourceUrl`, `collectedAt`, `confidence`, and a public status such as `explicit_public`. The Actor never guesses email patterns, enriches private addresses, bypasses CAPTCHA, signs in, or defeats technical protections.

YouTube Data API does not expose the protected YouTube business-email field. The current provider extracts only professional email addresses, website URLs, and social-profile URLs that creators explicitly publish in the public channel description, with the channel URL retained as provenance. It does **not** fetch linked websites yet. A missing or protected contact therefore produces an honest warning instead of an invented lead.

The input reserves `contact_form` and `management` for future providers, but the current live provider does not produce them. They are visibly labeled as reserved and are not selected by default.

### Export and integrations

Every qualified creator is written to the default Apify Dataset. From there you can:

- export directly to CSV, JSON, XML, RSS, or Excel;
- retrieve results with the Apify API or `ApifyClient`;
- connect a run to Make, Zapier, n8n, Google Sheets, a CRM, or your own data pipeline;
- schedule recurring searches after validating your preferred input and quota budget;
- use webhooks to trigger a downstream qualification or outreach-review workflow.

The Actor only prepares research data. Review public-contact context and your outreach rules before sending any message.

### Copy to your AI assistant

Copy the entire block into ChatGPT, Claude, Claude Code, Codex, Kimi Code, or an IDE assistant:

```text
Use the Apify Actor kazkn/youtube-creator-lead-finder to find one active French-speaking YouTube creator worldwide in the AI agent niche. Return the default Dataset with channelId, channelName, channelUrl, primaryLanguage, subscriberCount, lastUploadAt, estimatedVideosPerMonth, recentMedianViews, publicBusinessEmail, contactSourceUrl, opportunityScore, opportunityReasons, scrapedAt, and warnings.

Use Python. Load the token only from the APIFY_API_TOKEN environment variable. Never print, paste, log, commit, screenshot, or share the secret. If the variable is absent, stop and direct me to https://console.apify.com/account/integrations without asking me to paste the token.

import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_API_TOKEN"])
run_input = {
    "preset": "quick_leads",
    "niches": ["AI agent"],
    "languages": ["fr"],
    "countries": [],
    "worldwideLanguageMode": True,
    "maxChannels": 1,
    "videosAnalyzedPerChannel": 3,
    "maximumSearchCalls": 1,
    "maximumLinkedHostsPerChannel": 0,
}
run = client.actor("kazkn/youtube-creator-lead-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Required input: at least one value across niches, searchQueries, or seedChannelUrls. Useful optional inputs include preset, languages, countries, worldwideLanguageMode, minSubscribers, maxSubscribers, lastUploadWithinDays, requirePublicBusinessContact, contactTypes, maxChannels, videosAnalyzedPerChannel, and maximumSearchCalls.

Read the exact default-build specification at https://api.apify.com/v2/acts/kazkn~youtube-creator-lead-finder/builds/default and manage the Apify token only at https://console.apify.com/account/integrations. Stop if the Actor or specification is inaccessible; never invent a result.
```

### Recovery, limits, and data freshness

- Deduplication is by `channelId` inside a run, with a fingerprinted checkpoint for restart recovery.
- Separate runs use separate default Datasets and can deliver the same channel again.
- Live discovery uses the official YouTube Data API and the deployment-provided `YOUTUBE_API_KEY`; users do not paste this provider key into Actor input.
- One run is capped at 40 search calls, 200 output channels, 3–20 analyzed videos per channel, 500 HTTP calls, and 5,000 locally tracked quota units.
- Network or quota failures produce explicit partial results and summary warnings.
- Public fields can be hidden or unavailable. Subscriber, engagement, country, language, and format confidence therefore remain nullable.
- This independent tool is not affiliated with, endorsed by, or sponsored by YouTube or Google.

### Pricing

The Actor uses **pay per event**. A qualified creator is charged only when one channel row is written to the default Dataset; excluded candidates, searches, analyzed videos, and missing contacts do not create extra result events.

| Apify plan | Price per qualified creator | Price per 1,000 |
| ---------- | --------------------------- | --------------- |
| Free       | $0.0180                     | $18.00          |
| Bronze     | $0.0150                     | $15.00          |
| Silver     | $0.0140                     | $14.00          |
| Gold       | $0.0135                     | $13.50          |
| Platinum   | $0.0130                     | $13.00          |
| Diamond    | $0.0126                     | $12.60          |

Each run also has Apify's synthetic run-start event at **$0.00005**. Platform usage is included in the current pricing configuration. The live **Pricing** tab remains the source of truth.

### FAQ

#### Do I need to provide YouTube channel URLs?

No. Add niches or search queries and the Actor discovers candidates. `seedChannelUrls` is optional.

#### Can I find French-speaking creators worldwide?

Yes. Select `fr`, keep `countries` empty, and leave `worldwideLanguageMode` enabled.

#### Does it work as a YouTube email finder?

It returns a business email only when the creator explicitly publishes it in accessible public channel text. It does not reveal protected YouTube emails, crawl linked sites, guess patterns, or enrich private addresses.

#### Can I search several niches, languages, and countries at once?

Yes. `niches`, `languages`, and `countries` are multi-value inputs. Search-cell planning stays bounded by `maximumSearchCalls`.

To enforce selected countries, disable `worldwideLanguageMode`. When it remains enabled, country hints are intentionally ignored.

#### Why is a field `null`?

The upstream public field was unavailable, hidden, or not calculable from the bounded sample. Check `warnings` and the corresponding confidence fields.

#### How are creators ranked?

The Actor combines known evidence for niche fit, target language and geography, activity, cadence, audience, recent views, engagement, public-contact availability, and consistency. `opportunityReasons` explains the delivered score.

#### Can I export the shortlist to Excel or a CRM?

Yes. Export the Dataset to Excel, CSV, or JSON, or retrieve it through the API for a CRM, spreadsheet, or automation workflow.

### Support

If a run behaves unexpectedly, open the run detail and keep the run ID, input, `RUN_SUMMARY`, Dataset item, and warning text. Use the **Issues** or **Contact developer** action on the Actor page and remove any secret or private information before sharing diagnostic material.

### KazKN Creator & Market Intelligence Suite

<table style="width:100%;border-collapse:collapse;table-layout:fixed">
<tr><td colspan="4" style="padding:10px 14px;background:#FF0033;border:none;border-radius:4px 4px 0 0"><span style="color:#FFFFFF;font-size:14px;font-weight:700">KazKN · Creator &amp; Market Intelligence Suite</span><span style="color:#FFE5EA;font-size:13px"> &nbsp;•&nbsp; creator discovery, public signals, and commercial research</span></td></tr>
<tr>
<td width="25%" style="padding:10px;border:2px solid #FF0033;background:#FFF0F3;vertical-align:top"><a href="https://console.apify.com/actors/pP78XdCIaGEZ3VZLR/input"><img src="https://api.apify.com/v2/key-value-stores/ZCyS0s5cbngCAlvgi/records/youtube-creator-lead-finder-icon-v2.png" alt="YouTube Creator Lead Finder logo" width="48"></a><br><strong>YouTube Creator Lead Finder</strong><br><strong style="color:#FF0033">▶ You are here</strong><br>Discover and qualify active creators for targeted outreach.</td>
<td width="25%" style="padding:10px;border:1px solid #E1E7EF;vertical-align:top"><a href="https://apify.com/kazkn/vinted-smart-scraper"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/EMm4UhWinN76trbOb-actor-4UAPrwZb1XOlkCJKK-phq6mCoQog-vinted_logo.png" alt="Vinted Smart Scraper logo" width="48"></a><br><strong>Vinted Smart Scraper</strong><br>Collect listings and market signals for resale research.</td>
<td width="25%" style="padding:10px;border:1px solid #E1E7EF;vertical-align:top"><a href="https://apify.com/kazkn/shopify-scraper-apps-spy"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/EMm4UhWinN76trbOb-actor-CgKsnMw12cLfPQ8Bk-9oqtkahs2J-Capture_d_e_cran_2026-05-01_a__17.37.07.jpeg" alt="Shopify Apps Spy logo" width="48"></a><br><strong>Shopify Apps Spy</strong><br>Reveal products, reviews, catalog signals, and installed apps.</td>
<td width="25%" style="padding:10px;border:1px solid #E1E7EF;vertical-align:top"><a href="https://apify.com/kazkn/apple-app-store-localization-scraper"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/EMm4UhWinN76trbOb-actor-NAeSxrRU4eSSwNugy-Y6eu5utqLN-apple-app-store.svg.png" alt="Apple App Store Localization Scraper logo" width="48"></a><br><strong>App Store Localization</strong><br>Compare localized App Store metadata across countries.</td>
</tr>
</table>

# Actor input Schema

## `preset` (type: `string`):

Choose a workflow label. Quick leads and qualified shortlist use your explicit controls; contact-ready also requires a qualifying public contact.

## `niches` (type: `array`):

Add 1–20 niches such as B2B SaaS, AI automation, ecommerce, or fitness.

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

Select one or more creator languages. Discovery uses YouTube hints, then keeps only channels whose primary language is confirmed from recent public metadata or text.

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

Select one or more creator countries. When worldwide mode is off, channels without confirmed matching geography are excluded; declared and inferred geography remain separate.

## `worldwideLanguageMode` (type: `boolean`):

Ignore country hints; for example, find French-speaking creators worldwide.

## `maxChannels` (type: `integer`):

Stop after this many unique channel rows. Hard maximum: 200.

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

Minimum public subscriber count when available; unavailable stays unknown.

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

Maximum public subscriber count when available.

## `minVideosPerMonth` (type: `number`):

Minimum estimated publishing cadence over the recent 90-day sample.

## `maxVideosPerMonth` (type: `number`):

Maximum estimated publishing cadence over the recent 90-day sample.

## `lastUploadWithinDays` (type: `integer`):

Require a public upload within this many days when upload data exists.

## `minRecentMedianViews` (type: `integer`):

Minimum median across the bounded recent-video sample.

## `maxRecentMedianViews` (type: `integer`):

Maximum median across the bounded recent-video sample.

## `minEngagementRate` (type: `number`):

Applied only when public views, likes, and comments make the metric calculable.

## `contentFormats` (type: `array`):

Include long-form, Shorts, or live. Classification can remain unknown with confidence.

## `minChannelAgeMonths` (type: `integer`):

Minimum channel age when the public creation date exists.

## `requirePublicBusinessContact` (type: `boolean`):

Keep only channels with an exact publicly exposed contact source. Contact-ready always enables this.

## `contactTypes` (type: `array`):

Business email, website, and social are currently supported from public channel descriptions. Contact form and management are reserved for future providers and are not selected by default. Private or guessed email is never accepted.

## `searchQueries` (type: `array`):

Optional query phrases added to the niche discovery matrix.

## `seedChannelUrls` (type: `array`):

Public YouTube channel URLs to qualify in addition to automatic discovery.

## `excludedKeywords` (type: `array`):

Exclude candidates whose public name or description contains any term.

## `excludedChannelUrls` (type: `array`):

Public YouTube channel URLs that must never be returned.

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

Choose the primary ordering for qualified channels.

## `sortDirection` (type: `string`):

Show the highest or lowest values first.

## `videosAnalyzedPerChannel` (type: `integer`):

Bounded public-video sample per candidate; 3–20.

## `maximumSearchCalls` (type: `integer`):

Hard global search-call cap across every query, language, and country combination; 1–40.

## `maximumLinkedHostsPerChannel` (type: `integer`):

Reserved cap for linked-site inspection. The current private provider extracts public business email, website, and social links from the YouTube channel description without fetching external sites.

## `deduplicationMode` (type: `string`):

Return exactly one Dataset row per stable channelId.

## `sourceMode` (type: `string`):

Keep live for the official provider. Fixture runs sanitized, deterministic, non-live data with no external network or billing. MUST\_BE\_REMOVED\_OR\_PROTECTED\_BEFORE\_PUBLICATION.

## `fixtureScenario` (type: `string`):

Choose the deterministic sanitized non-live scenario used only when Data source is fixture.

## Actor input object example

```json
{
  "preset": "qualified_shortlist",
  "niches": [
    "B2B SaaS"
  ],
  "languages": [
    "en"
  ],
  "countries": [],
  "worldwideLanguageMode": true,
  "maxChannels": 25,
  "minSubscribers": 1000,
  "maxSubscribers": 1000000,
  "minVideosPerMonth": 0,
  "maxVideosPerMonth": 200,
  "lastUploadWithinDays": 90,
  "minRecentMedianViews": 0,
  "maxRecentMedianViews": 10000000000,
  "minEngagementRate": 0,
  "contentFormats": [
    "long-form",
    "Shorts",
    "live"
  ],
  "minChannelAgeMonths": 0,
  "requirePublicBusinessContact": false,
  "contactTypes": [
    "business_email",
    "website",
    "social"
  ],
  "searchQueries": [],
  "seedChannelUrls": [],
  "excludedKeywords": [],
  "excludedChannelUrls": [],
  "sortBy": "opportunityScore",
  "sortDirection": "desc",
  "videosAnalyzedPerChannel": 10,
  "maximumSearchCalls": 20,
  "maximumLinkedHostsPerChannel": 3,
  "deduplicationMode": "channel_id",
  "sourceMode": "live",
  "fixtureScenario": "baseline"
}
```

# Actor output Schema

## `qualifiedCreators` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# 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("kazkn/youtube-creator-lead-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("kazkn/youtube-creator-lead-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 '{}' |
apify call kazkn/youtube-creator-lead-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,kazkn/youtube-creator-lead-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/pP78XdCIaGEZ3VZLR/builds/3TgiANOglNjIkKZ4u/openapi.json
