# YouTube Creator Contact Finder — Channel Email & Links API (`nexgendata/youtube-creator-contact-finder`) Actor

Extract YouTube creator/channel business contact info (public emails + links + channel metrics) for influencer/brand outreach.

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

## Pricing

from $30.00 / 1,000 channel scanneds

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/platform/actors/running/actors-in-store#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 Contact Finder

Pull public contact emails and business links from YouTube channels for creator outreach.

> Output is a prospect list for your sales team, assembled from public web and business sources. Use it in line with applicable outreach and privacy law.

> Coverage note: this source doesn't expose a contact for every profile, so results are best-effort where the data is public.

### 📊 What you get

Clean JSON, one record per channel scanned (full output has 19 fields):

- `channel_name` — Channel name
- `handle` — Handle
- `channel_id` — Channel id
- `channel_url` — Channel url
- `description` — Description
- `links` — Links
- `keywords` — Keywords
- `subscriber_count` — Subscriber count
- `video_count` — Video count
- `view_count` — View count

**Pricing:** $0.030 per channel scanned (Pay-Per-Event) — about **33 channel scanneds per $1**.

### 🤖 Use with AI agents

Point Claude, the OpenAI Agents SDK, an n8n flow or any MCP-aware client at it and run prospecting on demand.

**Agentic payments (x402):** Supports agentic payment via x402 — agents can call this actor with USDC, no API key required.

### 🔗 Related lead-gen actors

**The lead-gen workflow chain** — found leads? verify → enrich → push to CRM:

1. **Find:** [B2B Leads Finder](https://apify.com/nexgendata/b2b-leads-finder) · [Company Email Finder](https://apify.com/nexgendata/company-email-finder) · [Person Email Finder](https://apify.com/nexgendata/person-business-email-finder) · [Website Contact Scraper](https://apify.com/nexgendata/contact-info-scraper) · [Yellow Pages](https://apify.com/nexgendata/yellow-pages-scraper)
2. **Enrich:** [Company Enrichment](https://apify.com/nexgendata/company-enrichment-tool) · [B2B Contact Enricher](https://apify.com/nexgendata/b2b-contact-enricher) · [Lead List Enricher](https://apify.com/nexgendata/lead-list-enricher) · [Website Tech & Contact Audit](https://apify.com/nexgendata/local-business-tech-contact-audit)
3. **Verify & clean:** [Email Verification](https://apify.com/nexgendata/email-verification-tool) · [Bulk Email Validator](https://apify.com/nexgendata/email-validator) · [Lead List Cleaner](https://apify.com/nexgendata/b2b-lead-list-cleaner)
4. **Deliver:** [Leads to Notion CRM](https://apify.com/nexgendata/leads-to-notion-crm)

**Front door — Sales Intelligence MCP:** the sales-intelligence agent that fronts this whole cluster → [Sales Intelligence MCP](https://apify.com/nexgendata/sales-intelligence-mcp)

***

*Public web & business-source data, assembled as sales-team prospect lists.*

# Actor input Schema

## `channels` (type: `array`):

Optional. A list of YouTube channels to enrich directly. Accepts @handles (e.g. @mkbhd), full channel URLs (https://www.youtube.com/@mkbhd or /channel/UC...), or raw channel IDs (UC...). The actor reads each channel's public page + About tab for business contact info: emails in the public description, the creator's listed website/socials, and channel metrics. Provide this and/or searchKeywords.

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

Optional discovery mode. Provide niche or topic phrases (e.g. "home barista", "indie game dev", "vegan meal prep") and the actor SEARCHES YouTube for channels matching each one, collects up to maxCreators unique channels, then runs them through the same email-enrichment pipeline. Combine with channels to mix discovered creators with explicit handles (deduped). Leave blank to only enrich the channels you list.

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

Hard limit on how many channels keyword discovery will collect and scan in total (explicit channels count toward this cap when discovery is on). The actor stops the moment this is hit so a broad search can never explode cost. Server-clamped to 500.

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

Hard limit on how many of the explicitly listed channels are fetched when you are NOT using keyword discovery. The actor stops the moment this is hit so compute stays predictable. Server-clamped to 500. (When searchKeywords is set, maxCreators is the governing cap instead.)

## `followChannelLinks` (type: `boolean`):

When a channel has no email in its public description but lists a website (not a pure social link), resolve that page and extract emails from it. This is the main yield path, since channels rarely put a raw email in the description. Leave on unless you only want description emails.

## `proxyConfiguration` (type: `object`):

Apify proxy used for searching YouTube, fetching channel pages and resolving website links. Datacenter is the default and cheapest — YouTube serves the embedded channel JSON to datacenter requests reliably; residential is used automatically only if a datacenter fetch is blocked.

## `notionConnector` (type: `string`):

Optional. Connect your Notion workspace and the channels + emails are also written as a Notion page in the same run — the Actor never sees your Notion credentials. Authorize a Notion MCP connector in Apify Console → Settings → API & Integrations, then select it here.

## `notionParentId` (type: `string`):

Optional. The Notion page ID to create the page under. If blank, Notion creates a private page at workspace root.

## `supabaseConnector` (type: `string`):

Optional. Connect your own Supabase project and the results are also inserted into a table in the same run — the Actor never sees your Supabase credentials. Authorize a write-scoped, project-scoped Supabase MCP connector in Apify Console (Settings -> Integrations), then select it here.

## `supabaseTable` (type: `string`):

Target table in the public schema (created if missing, with id, a jsonb data column, and a scraped\_at timestamp). Default: nexgendata\_leads.

## `supabaseProjectId` (type: `string`):

Your Supabase project reference (e.g. abcdefghijklmnop). Required unless your connector URL is already project-scoped. Find it in your project URL: supabase.com/dashboard/project/THIS\_PART.

## `deliveryDedup` (type: `boolean`):

When on (default), records already delivered in a previous run are not delivered again to the same destination — so scheduled runs only push new items. Turn off to deliver every record on every run.

## Actor input object example

```json
{
  "channels": [
    "@mkbhd"
  ],
  "searchKeywords": [],
  "maxCreators": 5,
  "maxChannels": 10,
  "followChannelLinks": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "supabaseTable": "nexgendata_leads",
  "deliveryDedup": true
}
```

# 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 = {
    "channels": [
        "@mkbhd"
    ],
    "searchKeywords": [],
    "maxCreators": 5,
    "maxChannels": 10,
    "followChannelLinks": true,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/youtube-creator-contact-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 = {
    "channels": ["@mkbhd"],
    "searchKeywords": [],
    "maxCreators": 5,
    "maxChannels": 10,
    "followChannelLinks": True,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/youtube-creator-contact-finder").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "channels": [
    "@mkbhd"
  ],
  "searchKeywords": [],
  "maxCreators": 5,
  "maxChannels": 10,
  "followChannelLinks": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call nexgendata/youtube-creator-contact-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/youtube-creator-contact-finder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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