# YouTube Leads Generator - Emails with Profile Details (`scrapido/youtube-leads-generator`) Actor

🎯 YouTube Leads Generator runs keyword searches and returns channels exposing a public email, with supporting channel details. 📇 Per-keyword caps included. 🎬 Structured YouTube leads ready for direct CRM import.

- **URL**: https://apify.com/scrapido/youtube-leads-generator.md
- **Developed by:** [Scrapido](https://apify.com/scrapido) (community)
- **Categories:** Lead generation, Videos, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

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/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 Leads Generator

**YouTube Leads Generator** is an automated web scraping actor built for YouTube lead generation—helping marketers, sales teams, recruiters, and data teams collect targeted channel leads with publicly listed emails (when available). Instead of hours of manual research, you can generate structured datasets fast and scale your outreach pipeline with a simple keyword-to-contacts workflow. 🚀

***

### What is YouTube Leads Generator? 🔍

**YouTube Leads Generator** is an Apify actor that scrapes YouTube channels based on your provided **keywords** and a **target country**, then extracts channel contact information and channel metadata. It helps solve the biggest bottleneck in YouTube lead generation: finding the right channels and their public contact emails quickly, without manual tab-by-tab research.

Use it as a **YouTube email extractor**, a **YouTube contact scraper**, or a **YouTube lead generation tool** to build prospect lists for influencer marketing, partnerships, and B2B lead generation. Run it with multiple keywords, cap results for predictable ROI, and export your dataset for CRM integration or email capture workflows. 📈

***

### What Data Does a YouTube Leads Generator Collect? 📊

This actor collects contact and channel profile data needed for YouTube marketing and outreach. The dataset includes channel identity, email addresses (when available), and key channel statistics so you can qualify leads fast.

| Data Category | Fields Extracted | Description |
|---|---|---|
| Contact | `emails` | Email addresses found on or associated with the channel content |
| Identity | `channel_name`, `channel_handle`, `custom_url` | Channel name, handle, and the channel’s custom URL value (when present) |
| Context | `channel_description` | Channel description text to understand what the channel is about |
| Discovery | `keyword` | The keyword that surfaced this channel result |
| Navigation | `channel_url` | Direct URL to the channel |
| Channel Media & Presence | `subscriber_count`, `video_count`, `joined_date`, `avatar_url` | Subscriber count, video count, joined date, and channel avatar URL |

***

### What Do Results from a YouTube Leads Generator Look Like? 👀

Each result is a structured record saved to your Apify dataset. Here’s a realistic example:

```json
{
  "keyword": "fitness",
  "channel_name": "StrengthLab",
  "channel_handle": "strengthlab",
  "emails": [
    "coach@strengthlab.com",
    "partnerships@strengthlab.com"
  ],
  "channel_url": "https://www.youtube.com/@strengthlab",
  "subscriber_count": "128K",
  "video_count": "2,104",
  "joined_date": "Joined May 2016",
  "channel_description": "Strength training for real people. Coaching, programming, and nutrition basics.",
  "social_links": {
    "instagram": "https://instagram.com/strengthlab",
    "linkedin": "https://www.linkedin.com/company/strengthlab"
  },
  "custom_url": "https://www.youtube.com/c/StrengthLab",
  "avatar_url": "https://yt3.googleusercontent.com/abcdefg/avatar.jpg"
}
```

After execution, you can export the dataset from Apify Console (commonly JSON or CSV via dataset export tools). ✅

***

#### Core Features: YouTube Leads Generator ⚡

| Feature | Benefit |
|---|---|
| ✅ **Keyword-Driven Targeting** | Find the YouTube audience you need by searching on your exact `keywords` |
| ✅ **Country Targeting** | Narrow results using the selected `country` to improve target audience targeting |
| ✅ **Email-Ready Leads** | Captures channel `emails` for outreach and email capture workflows |
| ✅ **Optional Email-Only Mode** | With `scrapeLeadsWithEmail`, you can keep only channels that have emails |
| ✅ **Configurable Result Caps** | Control volume with `maxLeadsPerKeyword` (and a free-tier global cap per run) |
| ✅ **Built-in Proxy Support** | Helps keep scraping reliable for larger batches |
| ✅ **Resilient Requests** | Includes retries and delays for better run stability |
| ✅ **Structured Dataset Output** | Clean, labeled dataset fields for CRM integration and analytics |
| ✅ **Social Links Included** | `social_links` are included to help you expand your enrichment step |

***

### Getting Started with YouTube Leads Generator 🚀

1. **Open Apify Store** — Go to [apify.com/store](https://apify.com/store) and find **YouTube Leads Generator**
2. **Click Try for Free** — Sign in (or create an Apify account)
3. **Go to the Input tab** — Configure the actor settings
4. **Add your `keywords`** — Enter one or more search terms describing your target audience
5. **Set `country` (optional)** — Choose the target country for leads
6. **Choose email mode** — Enable `scrapeLeadsWithEmail` if you only want channels with public emails
7. **Cap results** — Adjust `maxLeadsPerKeyword` to control run volume and cost
8. **Start the run & review Dataset** — Open the dataset to preview and export your leads

Tip: for YouTube ads lead gen and influencer marketing, try focused keywords (niche + intent) to boost email yield.

***

#### Input Parameters — YouTube Leads Generator

```json
{
  "keywords": ["fitness", "tech reviewer"],
  "country": "United States",
  "maxLeadsPerKeyword": 20,
  "scrapeLeadsWithEmail": false
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `keywords` | array | ✅ Yes | — | List of keywords to search for YouTube channels (for example: “tech reviewer”, “fitness”, “gaming”) |
| `country` | string | No | `United States` | Target country for leads (used to guide discovery) |
| `maxLeadsPerKeyword` | integer | No | `20` | Maximum number of leads to collect for each keyword. Free users are capped at **100 emails total per run** |
| `scrapeLeadsWithEmail` | boolean | No | `false` | If enabled, only returns channels that have an email address in their description |

***

#### Output Parameters — YouTube Leads Generator

```json
{
  "keyword": "fitness",
  "channel_name": "StrengthLab",
  "channel_handle": "strengthlab",
  "emails": [
    "coach@strengthlab.com"
  ],
  "channel_url": "https://www.youtube.com/@strengthlab",
  "subscriber_count": "128K",
  "video_count": "2,104",
  "joined_date": "Joined May 2016",
  "channel_description": "Strength training for real people. Coaching, programming, and nutrition basics.",
  "social_links": {
    "instagram": "https://instagram.com/strengthlab"
  },
  "custom_url": "https://www.youtube.com/c/StrengthLab",
  "avatar_url": "https://yt3.googleusercontent.com/abcdefg/avatar.jpg"
}
```

| Field | Label | Format | Description |
|---|---|---|---|
| `keyword` | Keyword | text | The keyword that surfaced this channel result |
| `channel_name` | Channel Name | text | Channel name |
| `channel_handle` | Handle | text | Channel handle (when available) |
| `emails` | Email Addresses | array | Array of extracted email addresses associated with the channel |
| `channel_url` | Channel URL | link | Direct channel URL |
| `subscriber_count` | Subscribers | text | Subscriber count as displayed in the scraped data |
| `video_count` | Videos | text | Video count as displayed in the scraped data |
| `joined_date` | Joined Date | text | Joined date as displayed in the scraped data |
| `channel_description` | Description | text | Channel description content |
| `social_links` | Social Links | object | Extracted social links found from the channel’s publicly available external links |
| `custom_url` | Custom URL | text | The channel’s custom URL value (when available) |
| `avatar_url` | Avatar | image | Channel avatar URL |

***

### Why Choose This YouTube Leads Generator? 🏆

If you care about YouTube marketing outcomes (better targeting, faster outreach lists, and smoother email capture), **YouTube Leads Generator** is a practical way to move from keyword ideas to a structured dataset quickly. It’s built for scalable runs with proxy support, uses retries/delays for resilience, and outputs clean fields designed for CRM integration and lead magnet workflows.

Support is available if you run into issues—reach out anytime at <scrapidocontact@gmail.com>. 📩

***

### How Many Results Can You Scrape? 📈

Your output volume depends on how many matching YouTube channels exist for your `keywords` and whether they publicly provide emails (especially when `scrapeLeadsWithEmail` is enabled). You can cap leads per keyword with `maxLeadsPerKeyword`.

Free runs enforce a cap of **100 emails total per run**, while paid runs don’t apply the same hard cap. The dataset stores results, and you can export whenever you’re ready. ✅

***

### Legal Guidelines for Scraping YouTube ⚖️

This tool works with **publicly accessible sources** and does not access private or authenticated account data. You remain responsible for complying with YouTube’s Terms of Service, applicable privacy laws, and anti-spam regulations. Only use the extracted data for legitimate business purposes.

If you need data removal, contact <scrapidocontact@gmail.com>.

***

### FAQ — YouTube Leads Generator ❓

#### How does the YouTube Leads Generator identify data?

The actor uses your provided `keywords` and `country` settings to discover relevant YouTube channels, then fetches each channel’s publicly accessible page content to extract `emails` and channel metadata.

#### What YouTube profile types can I scrape?

YouTube channels that match the discovered results and expose public channel details used in the extraction process. If you enable `scrapeLeadsWithEmail`, the actor returns only channels where an email address is found in the channel description.

#### What data do I get for each YouTube lead?

Each dataset row includes `keyword`, `channel_name`, `channel_handle`, `emails`, `channel_url`, `subscriber_count`, `video_count`, `joined_date`, `channel_description`, `social_links`, `custom_url`, and `avatar_url`—in the order defined by the dataset schema.

#### How accurate are the extracted emails?

Accuracy depends on whether the channel publicly lists contact emails in its description or associated public content. In general, the actor extracts email addresses from publicly available sources and outputs them directly in `emails`.

#### How much does this actor cost?

Runs are subject to Apify’s pricing and plan rules. Free users are capped at **100 emails total per run**, while paid users are not bound by that same hard limit. Use `maxLeadsPerKeyword` to control volume.

#### Can I export results and use them in my workflow?

Yes. The actor saves results to an Apify dataset (“Scraped Leads”), and you can export the dataset for use in analytics, CRM integration, and automation tools.

#### What should I do if I’m not getting enough emails?

Try narrower or more intent-based keywords for better YouTube channel growth targeting, and consider enabling `scrapeLeadsWithEmail` after you confirm your niche typically includes public contact emails.

***

### Conclusion 🏁

**YouTube Leads Generator** turns keyword research into a structured dataset of YouTube contacts—complete with `emails` (when available) and channel metrics like subscribers, videos, and joined date. Whether you’re building a video marketing funnel, optimizing CTA optimization, or running YouTube ads lead gen, you can move faster with clean data you can export and act on. 🚀

***

### 🆘 Support & Feedback

Have a question or feature request for **YouTube Leads Generator**?

Please contact <scrapidocontact@gmail.com>.

# Actor input Schema

## `keywords` (type: `array`):

List of keywords to search for YouTube channels (e.g., 'tech reviewer', 'fitness', 'gaming').

## `country` (type: `string`):

Select the target country for leads.

## `maxLeadsPerKeyword` (type: `integer`):

Maximum number of leads to collect for each keyword. Free users are capped at 100 emails total per run.

## `scrapeLeadsWithEmail` (type: `boolean`):

If enabled, only returns channels that have an email address in their description.

## Actor input object example

```json
{
  "keywords": [
    "fitness"
  ],
  "country": "United States",
  "maxLeadsPerKeyword": 20,
  "scrapeLeadsWithEmail": false
}
```

# Actor output Schema

## `dataset` (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 = {
    "keywords": [
        "fitness"
    ],
    "country": "United States",
    "maxLeadsPerKeyword": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapido/youtube-leads-generator").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 = {
    "keywords": ["fitness"],
    "country": "United States",
    "maxLeadsPerKeyword": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapido/youtube-leads-generator").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 '{
  "keywords": [
    "fitness"
  ],
  "country": "United States",
  "maxLeadsPerKeyword": 20
}' |
apify call scrapido/youtube-leads-generator --silent --output-dataset

```

## MCP server setup

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

```

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/BiFfO0MzVhwrIYfWc/builds/XE9ScbHZP1JLBNbEC/openapi.json
