# YouTube Channel Email Scraper with AI Enrichment (`jurassic_jove/youtube-email-scraper`) Actor

Extract verified emails from YouTube channels. Visits each channel's real website with Playwright for 40-60% hit rate. AI enrichment on every lead: niche, country, language & contactability score. $0.04/email.

- **URL**: https://apify.com/jurassic\_jove/youtube-email-scraper.md
- **Developed by:** [Data Runner](https://apify.com/jurassic_jove) (community)
- **Categories:** Lead generation, Automation, Social media
- **Stats:** 128 total users, 17 monthly users, 95.0% runs succeeded, 1 bookmarks
- **User rating**: 3.00 out of 5 stars

## Pricing

from $40.00 / 1,000 charged for each email founds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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 Channel Email Scraper with AI Enrichment

The most powerful **YouTube email scraper** and **influencer email finder** on Apify. Extract verified contact emails from YouTube channels at scale for outreach, sponsorships, and creator partnerships. Unlike basic scrapers, this Actor visits each channel's **real website** — following Linktree, Beacons, and 15+ link aggregators — then uses AI to enrich every lead with niche, country, language, and a contactability score.

Perfect for **YouTube influencer outreach**, **brand sponsorship prospecting**, and **creator email list building**.

***

### What Makes This Different

- **Visits the real website**, not just the YouTube description — **40-60% email hit rate** vs <10% from description-only scrapers
- **AI enrichment on every lead**: niche, country, language, content type, contactability score (1-10)
- **Follows Linktree, Beacons, and 15+ link aggregators** to find the actual website behind the channel
- **Handles obfuscated emails** like `hello [at] domain [dot] com` — formats other scrapers miss
- **AI-powered contact page detection**: automatically finds and scrapes the right page on the creator's website

***

### Who Is This For

- **Influencer marketing agencies** — build targeted outreach lists by niche and country
- **Brand sponsorship teams** — find creators who are actually contactable
- **PR & outreach teams** — skip the noise, get verified emails with a contactability score
- **Podcast guest sourcing** — discover creators in your niche with real contact info
- **B2B creator partnerships** — filter by language, country, and content type

***

### Input

| Field | Type | Description |
|---|---|---|
| `searchQuery` | string | YouTube keyword search (e.g. `"fitness creators USA"`) |
| `channelUrls` | array | Direct YouTube channel URLs to scrape |
| `maxResults` | number | Maximum channels to process (default: 50) |
| `enrichmentToken` | string (secret) | Token for AI-powered lead enrichment |
| `maxConcurrency` | number | Parallel scraping threads (default: 5) |

You can use `searchQuery`, `channelUrls`, or both.

***

### Output Fields

| Field | Example | Description |
|---|---|---|
| `channelName` | Marques Brownlee | Channel display name |
| `channelUrl` | https://youtube.com/@mkbhd | Channel URL |
| `subscribers` | 20.8M | Subscriber count |
| `email` | business@mkbhd.com | Primary extracted email |
| `emailSource` | verified | How the email was found |
| `website` | https://mkbhd.com | Channel's real website |
| `niche` | tech reviews | AI-detected niche |
| `language` | English | Primary content language |
| `estimatedCountry` | United States | AI-detected country |
| `contentType` | reviews, tutorials | AI-detected content type |
| `contactabilityScore` | 10 | AI score 1–10 (10 = easiest to reach) |
| `socialLinks` | \["twitter.com/MKBHD", ...] | All social profiles found |

***

### Pricing

**$0.04 per email found** — you only pay for results, not for runs.

No email found = no charge. AI enrichment is included at no extra cost — niche, country, language, and contactability score come with every email found.

***

### How It Works

1. Searches YouTube by keyword or takes direct channel URLs
2. Visits each channel's page and extracts all available links
3. Follows link aggregators (Linktree, Beacons, and 15+ others) to find the real website
4. Visits the creator's website and finds the right contact page
5. Extracts verified emails — including obfuscated formats other scrapers miss
6. AI enriches every lead with niche, country, language, content type, and contactability score

***

### Tips

- **Use specific keywords**: `"fitness creators USA"` beats `"fitness"` — more relevant results
- **Higher contactabilityScore = easier to reach** — filter for 7+ to focus your outreach
- **Filter by niche** to build targeted campaign lists for specific verticals
- **Combine search + direct URLs** — use search to discover, then add specific channels you already know
- **Start with `maxResults: 10`** to test your query before scaling up

***

### Supported Link Aggregators

Linktree, Beacons, Bio.link, Linkbio, Tap.bio, Campsite, Lnk.bio, Hoo.be, Koji, Carrd, Solo.to, Snipfeed, Stan Store, AllMyLinks, Flowpage, Link.space, ContactInBio, Milkshake, Shorby, Jotform, Direct.me

***

Built by [Data Runner](https://www.data-runner.dev/) — web scraping, lead generation & AI automation.

# Actor input Schema

## `searchQuery` (type: `string`):

YouTube keyword search query to find channels (e.g. 'fitness influencer', 'cooking tutorial')

## `channelUrls` (type: `array`):

Direct YouTube channel URLs to scrape. You can provide these instead of or in addition to a search query.

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

Maximum number of channels/leads to process

## `maxConcurrency` (type: `integer`):

Maximum number of pages to scrape in parallel

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

YouTube blocks plain datacenter traffic, which shows up as channels scraped with no data. Proxy is on by default; switch to RESIDENTIAL if you still see empty results.

## Actor input object example

```json
{
  "searchQuery": "fitness influencer",
  "channelUrls": [],
  "maxResults": 3,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (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 = {
    "searchQuery": "fitness influencer",
    "channelUrls": [],
    "maxResults": 3,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("jurassic_jove/youtube-email-scraper").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 = {
    "searchQuery": "fitness influencer",
    "channelUrls": [],
    "maxResults": 3,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("jurassic_jove/youtube-email-scraper").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 '{
  "searchQuery": "fitness influencer",
  "channelUrls": [],
  "maxResults": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call jurassic_jove/youtube-email-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/o2bgsIxKyaJ9VpcJH/builds/1ywuzWvre3WQW7DSO/openapi.json
