# YouTube Channel & Video Scraper (Emails & Leads) (`codescraper/youtube-channel-scraper`) Actor

Blazing-fast YouTube scraper for creator emails, social links & video metrics. Target by keyword, channel, or video URL. Get 100% verified emails (AI-cleaned), social profiles, subscriber stats & video analytics. Instant zero-cost pre-filtering: free compute, pay only for qualified leads!

- **URL**: https://apify.com/codescraper/youtube-channel-scraper.md
- **Developed by:** [CodeScraper](https://apify.com/codescraper) (community)
- **Categories:** Social media, Lead generation
- **Features:** Limited permissions
- **Stats:** 65 total users, 2 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $3.50 / 1,000 channel scraped via url (standard)s

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 Channel Scraper (Keyword & URL) – Verified Emails, Social Links & Stats

[![Pay Per Event](https://img.shields.io/badge/Pricing-Pay--Per--Event-brightgreen.svg)](https://apify.com)
[![Platform Usage](https://img.shields.io/badge/Compute%20Usage-100%25%20FREE-blue.svg)](https://apify.com)
[![Engine](https://img.shields.io/badge/Engine-Playwright%20%2B%20Cheerio-orange.svg)](https://crawlee.dev)
[![AI Verified](https://img.shields.io/badge/AI%20Enriched-Groq%20OSS--20B-purple.svg)](https://groq.com)

A high-performance, enterprise-grade **YouTube Channel Contact & Lead Finder**. Extract public YouTube channel data, verified business contact emails, high-resolution branding, social media links, lifetime video/subscriber metrics, and deep website enrichments.

Target channels by **keyword search** (e.g. `"Finance"`, `"AI Tools"`, `"Gaming"`) or scrape **unlimited direct channel URLs** with precision.

***

### ⚡ What Makes This Actor Different?

- 💰 **100% Free Platform Compute:** You pay **$0.00** for Apify compute runtime. You only pay a predictable flat fee for each successfully delivered channel.
- 🎯 **Risk-Free Pre-Filtering:** Configure subscriber, view, upload, country, or email filters. Disqualified channels are eliminated instantly in memory—**you pay $0.00 for skipped channels!**
- 📬 **Verified Contact Leads:** Toggle `hasEmailOnly` or `hasSocialLinks` to guarantee that every single result in your export contains actionable contact info.
- 🌐 **Deep Website Enrichment:** When enabled, the crawler automatically visits creators' external websites (`/contact`, `/about`, `/impressum`) to uncover direct business emails.
- 🤖 **AI-Powered Lead Cleaning:** Groq AI (`openai/gpt-oss-20b`) verifies extracted emails and strips out web agency credits, registrar spam, and tracking hashes.
- 🚀 **Unlimited Direct URLs:** No artificial limits on direct URLs—paste 10, 500, or 10,000+ channel URLs in a single run.

***

### 💳 Complete Pay-Per-Event (PPE) Pricing Guide

This actor operates on Apify's **Pay-Per-Event (PPE)** pricing model. There are **no monthly subscription commitments** and **no platform compute surcharges**.

> 💡 **Actor Start Fee:** A standard fee of **$0.0005** applies per run start. Platform usage (RAM/CPU) is completely **FREE**.

#### Master Pricing Table

| Event Key | Event Name & Description | Free Tier (No Discount) | Starter (Bronze Tier) | Scale (Silver Tier) | Business (Gold Tier) |
| :--- | :--- | :--- | :--- | :--- | :--- |
| `channel-url` | **Channel Scraped via URL (Standard)**<br>*Direct URL without deep crawling* | **$5.00** / 1k<br>($0.0050/lead) | **$4.50** / 1k<br>($0.0045/lead) | **$4.00** / 1k<br>($0.0040/lead) | **$3.50** / 1k<br>($0.0035/lead) |
| `channel-url-deep` | **Channel Scraped via URL (Deep Enrichment)**<br>*Direct URL + external website crawl* | **$7.50** / 1k<br>($0.0075/lead) | **$6.75** / 1k<br>($0.00675/lead) | **$6.00** / 1k<br>($0.0060/lead) | **$5.25** / 1k<br>($0.00525/lead) |
| `channel-keyword` | **Channel Discovered via Keyword (Standard)**<br>*Discovered via keyword search* | **$10.00** / 1k<br>($0.0100/lead) | **$9.00** / 1k<br>($0.0090/lead) | **$8.00** / 1k<br>($0.0080/lead) | **$7.00** / 1k<br>($0.0070/lead) |
| `channel-keyword-deep` | **Channel Discovered via Keyword (Deep Enrichment)**<br>*Keyword search + website email crawl* | **$12.50** / 1k<br>($0.0125/lead) | **$11.25** / 1k<br>($0.01125/lead) | **$10.00** / 1k<br>($0.0100/lead) | **$8.75** / 1k<br>($0.00875/lead) |
| `channel-lead-contact` | **Verified Contact Channel (Emails / Socials)**<br>*Lead filter active (`hasEmailOnly` / `hasSocialLinks`)* | **$25.00** / 1k<br>($0.0250/lead) | **$22.50** / 1k<br>($0.0225/lead) | **$20.00** / 1k<br>($0.0200/lead) | **$17.50** / 1k<br>($0.0175/lead) |
| `channel-lead-contact-deep` | **Verified Contact Channel (Deep Website Enrichment)**<br>*Lead filter active + external website crawl* | **$30.00** / 1k<br>($0.0300/lead) | **$27.00** / 1k<br>($0.0270/lead) | **$24.00** / 1k<br>($0.0240/lead) | **$21.00** / 1k<br>($0.0210/lead) |

***

### 📈 Transparent Cost Comparison by Volume

See exactly what you will pay for different run sizes under standard (Free plan) rates:

| Number of Delivered Leads | Direct URL (Standard) | Direct URL (Deep Enrich) | Keyword Search (Standard) | Keyword Search (Deep Enrich) | Verified Contact Lead (`hasEmailOnly` / `hasSocialLinks`) | Verified Lead + Deep Website Crawl |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **100 Leads** | **$0.50** | **$0.75** | **$1.00** | **$1.25** | **$2.50** | **$3.00** |
| **200 Leads** | **$1.00** | **$1.50** | **$2.00** | **$2.50** | **$5.00** | **$6.00** |
| **500 Leads** | **$2.50** | **$3.75** | **$5.00** | **$6.25** | **$12.50** | **$15.00** |
| **700 Leads** | **$3.50** | **$5.25** | **$7.00** | **$8.75** | **$17.50** | **$21.00** |
| **1,000 Leads** | **$5.00** | **$7.50** | **$10.00** | **$12.50** | **$25.00** | **$30.00** |

*(Platform compute is always $0.00. Only add $0.0005 for actor start).*

***

### 🛡️ Zero-Waste Guarantee: How Filters Save You Money

Unlike traditional scrapers that bill you for every page visited, our actor features **Instant In-Memory Pre-Filtering**:

```mermaid
flowchart LR
    A["500 Channels Input"] --> B["Instant Metric Check<br/>Subscribers, Country, Videos"]
    B -- "350 Disqualified" --> C["Skipped in 0.001s<br/>Cost: $0.00"]
    B -- "150 Qualified" --> D["Scraped & Enriched"]
    D --> E["You only pay for 150 channels!"]
```

- **Scenario:** You input 500 channel URLs with `minSubscribers: 50,000` and `countryFilter: ["United States"]`.
- **Result:** 350 channels have fewer than 50k subscribers or are outside the US. The actor drops them instantly in memory in 0.01 seconds.
- **Your Bill:** You pay **$0.00** for the 350 disqualified channels. You only pay for the 150 matching US channels delivered to your dataset!

***

### ⚙️ Input Parameters Reference

#### 🎯 1. Channel Targeting & Discovery

| Field | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `channelUrls` | Array | `[...]` | **Unlimited capacity.** Specific YouTube channel URLs to scrape. Accepts `/channel/...`, `/@handle`, `/c/...`. Enjoy the lowest base rate ($0.005/lead). |
| `searchKeyword` | String | `""` | Discover channels matching any niche, topic, or keyword (e.g. `"Finance"`, `"Tech Reviews"`, `"Fitness"`). Billed at keyword rate ($0.010/lead). |
| `maxSearchResults` | Integer | `20` | Max channels to discover via search (min 1, default 20, max 100). Protects YouTube API quota. Direct URLs above have **NO limit**. |

#### 🎬 2. Video & Creator Scraper (Target by Video URLs)

| Field | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `videoUrls` | Array | `[]` | Extract complete video metadata (`id`, `title`, `description`, `tags`, `categoryId`, `duration`, `date`, `url`, `viewCount`, `likeCount`, `commentCount`, `thumbnailUrl`, `order`) AND the creator's channel contact info from YouTube video URLs. Billed at standard URL rate ($5/1k). |

#### 🔍 3. Lead Qualification & Metric Filters

| Field | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `hasEmailOnly` | Boolean | `false` | When enabled, only channels with at least one verified email are saved. Non-matching channels cost **$0.00**. Delivered leads billed at verified contact rate ($0.025/lead). |
| `hasSocialLinks` | Boolean | `false` | When enabled, only channels having external social profiles (Instagram, X, Discord, LinkedIn, TikTok, etc.) are saved. Billed at verified contact rate. |
| `minSubscribers` | Integer | `null` | Skip channels with fewer subscribers than this threshold (e.g., `10000`). Disqualified instantly for $0.00. |
| `maxSubscribers` | Integer | `null` | Skip channels with more subscribers than this threshold (e.g., `250000`). Disqualified instantly for $0.00. |
| `minVideos` | Integer | `null` | Skip inactive or new channels with fewer uploads than this threshold (e.g., `10`). |
| `minViews` | Integer | `null` | Skip low-traction channels with fewer lifetime views than this number. |
| `countryFilter` | Array | `[]` | Filter by country name or 2-letter ISO code (e.g., `["United States", "US", "GB", "Germany"]`). |

#### ⚡ 3. AI & Deep Website Email Enrichment

| Field | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `deepEnrich` | Boolean | `false` | Visits external brand websites linked on the channel's About tab to uncover extra business emails on `/contact`, `/about`, and `/impressum` pages. Verified by Groq AI. |

#### ⚙️ 4. Performance & Browser Settings

| Field | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `concurrency` | Integer | `10` | Number of simultaneous browser crawler workers (1 to 50). |
| `userAgent` | String | Standard | Custom browser User-Agent header. |

***

### 🧩 Example Input Configuration

```json
{
  "channelUrls": [
    "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
    "https://www.youtube.com/@mkbhd"
  ],
  "searchKeyword": "AI SaaS Tools",
  "maxSearchResults": 50,
  "hasEmailOnly": true,
  "hasSocialLinks": true,
  "minSubscribers": 10000,
  "maxSubscribers": 500000,
  "countryFilter": ["United States", "United Kingdom", "Canada"],
  "deepEnrich": true,
  "concurrency": 10
}
```

***

### 📤 Example Dataset Output

#### 1. Standard Channel Output (From Channel URLs or Keyword Search)

Each record contains complete channel metrics, branding, contact emails, and social profiles:

```json
[
  {
    "channelName": "MrBeast",
    "channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
    "channelHandle": "https://www.youtube.com/@mrbeast",
    "channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
    "aboutUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
    "channelDescription": "SUBSCRIBE FOR A COOKIE! New MrBeast or MrBeast Gaming video every single Saturday at noon eastern time! Accomplishments: - Raised $20,000,000 To Plant 20,000,000 Trees - Removed 30,000,000 pounds of trash from the ocean - Helped 2,000 people walk again - Helped 1,000 blind people see - Helped 1,000 deaf people hear - Built wells in Africa - Built and gave away 100 houses - Adopted every dog in a shelter (twice) - Given millions to charity - Started my own snack company Feastables - Started my own software company Viewstats - Gave away a private island (twice) - Gave away 1 million meals - I counted to 100k - Ran a marathon in the world's largest shoes - Survived 50 hours in Antarctica - Recreated Squid Game in real life - Created the largest competition show with 1000 people (Beast Games) - Gave $5,000,000 to one person - Raised $40,000,000 To Bring Clean Water To Millions Of People - Granted 100+ Dream Wishes for Kids Fighting Cancer - Gave Away Another $5,000,000 On Beast Games S2",
    "banner": "https://yt3.googleusercontent.com/mHMO_eEMp0dPvh0ADwXhPXNYb_GnjSVsLI8biqF1CpxT8OPl7izhNQsDPD3JHhd5y5Mg9GrP",
    "profileLogo": "https://yt3.ggpht.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s800-c-k-c0x00ffffff-no-rj",
    "joinDate": "Joined Feb 20, 2012",
    "country": "United States",
    "countryCode": "US",
    "keywords": [
      "mrbeast6000",
      "beast",
      "mrbeast",
      "Mr.Beast",
      "mr"
    ],
    "categories": [
      "https://en.wikipedia.org/wiki/Entertainment",
      "https://en.wikipedia.org/wiki/Lifestyle_(sociology)"
    ],
    "subscriberCount": "519M subscribers",
    "subscriberCountRaw": 519000000,
    "videoCount": "1,004 videos",
    "videoCountRaw": 1004,
    "channelViewCount": "141,443,077,746 views",
    "channelViewCountRaw": 141443077746,
    "emails": [
      "chucky@mrbeastbusiness.com"
    ],
    "externalLinks": [
      {
        "label": "$1,000,000 Contest",
        "url": "https://themostdangerousgames.com",
        "icon": "https://encrypted-tbn0.gstatic.com/favicon-tbn?q=tbn:ANd9GcQW-5jv0y5i1ZDctndeezN3lU3SVydo8NtbKcoxrNokmmVCB6pIvCvqRpfkfcGxKoqqJCTZLyMKwQf8fHw6Zn-OPThY3IEbS6uRchkMHzqHEkzJTlMoYYuPxFqsIYWoCxaGYGo"
      },
      {
        "label": "Follow",
        "url": "https://instagram.com/mrbeast",
        "icon": "https://encrypted-tbn3.gstatic.com/favicon-tbn?q=tbn:ANd9GcRMnk5lytM1g9HJQSf7bM5Xfi4yFD5Vyri4jzLc1D4JUjmBYMab9mUK04YRfRwyHmDMutbz5OgS4cg_9Z2lEmyotPVb3TDyE7YkLlpC2ywK7bDnmpmQTRw"
      },
      {
        "label": "Twitter",
        "url": "https://x.com/MrBeast",
        "icon": "https://encrypted-tbn0.gstatic.com/favicon-tbn?q=tbn:ANd9GcR7q2fytXyQw1wkPBPrICHHjLvxWloPZ_FdHfbR2zGpa99E9USylFLC_kDnQZLg3VVWxgyroOpElcixupmf3lhA9h_npVzfaX-4a8C34EDX4VQ"
      },
      {
        "label": "Facebook",
        "url": "https://facebook.com/mrbeast",
        "icon": "https://encrypted-tbn2.gstatic.com/favicon-tbn?q=tbn:ANd9GcSsJk1QYogEK4yy4lQsuP3h7sezQhEV60Mhxd5vbS8jJITIKzQ6LQJBJhG_JqQvzfGifWYNC0BkFE0mHTMZCCNIYrZJrutU2kK_3BH0bGVasT3z"
      }
    ],
    "discoverySource": "url"
  }
]
```

#### 2. Video + Channel Scraper Output (Targeted by Video URLs)

When scraping by YouTube Video URLs (`videoUrls`), the actor delivers the video's creator channel with full verified contacts and video metrics:

```json
[
  {
    "id": "0BjlBnfHcHM",
    "title": "Beat Ronaldo, Win $1,000,000",
    "description": "I still can’t believe we got all of these athletes for this\nThanks Yahoo Sports for sponsoring. Enter for a chance to meet me at one of my video sets by downloading the Yahoo Sports app and signing up for a reminder to play Daily Draw. Play starting 12/20 for a chance to win $10k/day for 10 days straight! https://yahoosports.com/mrbeast ad YahooSportsPartner\n\nCheck out Cristiano’s awesome collab: https://youtu.be/_ZsZ4-HyjCg\n\nRonaldo\n@cristiano \n\nTom Brady\n@tombrady \n\nNoah Lyles\n@noahlyles18 \n\nBryce Harper\nhttps://www.tiktok.com/@3ryceharper\n\nBryson DeChambeau\n@brysondechambeau \n\nSpeed\n@IShowSpeed \n\nSUB TO ALL CHANNELS\nwww.youtube.com/@UCX6OQ3DkcsbYNE6H8uQQuVA\nwww.youtube.com/@UC4-79UOlP48-QNGgCko5p2g \nwww.youtube.com/@UCIPPMRA040LQr5QPyJEbmXA \nwww.youtube.com/@UCUaT_39o1x6qWjz7K2pWcgw \nwww.youtube.com/@UCAiLfjNXkNv24uhpzUgPa6A \nwww.youtube.com/@UCZzvDDvaYti8Dd8bLEiSoyQ \n\nNew Merch - https://mrbeast.store/\nCheck out Viewstats! - https://www.viewstats.com/\n\nFor any questions or inquiries regarding this video, please reach out to chucky@mrbeastbusiness.com\n\nMusic Provided by https://www.extrememusic.com/\n----------------------------------------------------------------\nfollow all of these or i will kick you\n• Facebook - https://www.facebook.com/MrBeast/\n• Twitter - https://twitter.com/MrBeast\n•  Instagram - https://www.instagram.com/mrbeast\n•  Im Hiring! - https://www.mrbeastjobs.com/\n--------------------------------------------------------------------\n\nNo purchase necessary. 50 US or DC, 18+. Ends: 12/19/24 for Meet MrBeast. Entry: 12/20/24 to 12/29/24 for MrBeast $10k a day. See Official Rules at https://yahoosports.com/mrbeastsweeps",
    "tags": [
      "mrbeast",
      "ronaldo",
      "cristiano ronaldo",
      "challenge",
      "sports"
    ],
    "categoryId": "24",
    "duration": "22:45",
    "channelName": "MrBeast",
    "channelUsername": "@mrbeast",
    "channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
    "date": "1 year ago",
    "url": "https://www.youtube.com/watch?v=0BjlBnfHcHM",
    "viewCount": 405834448,
    "likeCount": 8619273,
    "commentCount": 125644,
    "type": "video",
    "thumbnailUrl": "https://i.ytimg.com/vi/0BjlBnfHcHM/maxresdefault.jpg",
    "order": 0,
    "channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
    "aboutUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
    "channelDescription": "SUBSCRIBE FOR A COOKIE! New MrBeast or MrBeast Gaming video every single Saturday at noon eastern time! Accomplishments: - Raised $20,000,000 To Plant 20,000,000 Trees - Removed 30,000,000 pounds of trash from the ocean - Helped 2,000 people walk again - Helped 1,000 blind people see - Helped 1,000 deaf people hear - Built wells in Africa - Built and gave away 100 houses - Adopted every dog in a shelter (twice) - Given millions to charity - Started my own snack company Feastables - Started my own software company Viewstats - Gave away a private island (twice) - Gave away 1 million meals - I counted to 100k - Ran a marathon in the world's largest shoes - Survived 50 hours in Antarctica - Recreated Squid Game in real life - Created the largest competition show with 1000 people (Beast Games) - Gave $5,000,000 to one person - Raised $40,000,000 To Bring Clean Water To Millions Of People - Granted 100+ Dream Wishes for Kids Fighting Cancer - Gave Away Another $5,000,000 On Beast Games S2",
    "banner": "https://yt3.googleusercontent.com/mHMO_eEMp0dPvh0ADwXhPXNYb_GnjSVsLI8biqF1CpxT8OPl7izhNQsDPD3JHhd5y5Mg9GrP",
    "profileLogo": "https://yt3.ggpht.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s800-c-k-c0x00ffffff-no-rj",
    "joinDate": "Joined Feb 20, 2012",
    "country": "United States",
    "countryCode": "US",
    "keywords": [
      "mrbeast6000",
      "beast",
      "mrbeast",
      "Mr.Beast",
      "mr"
    ],
    "categories": [
      "https://en.wikipedia.org/wiki/Lifestyle_(sociology)",
      "https://en.wikipedia.org/wiki/Entertainment"
    ],
    "subscriberCount": "519M subscribers",
    "subscriberCountRaw": 519000000,
    "videoCount": "1,004 videos",
    "videoCountRaw": 1004,
    "channelViewCount": "141,443,077,746 views",
    "channelViewCountRaw": 141443077746,
    "emails": [
      "chucky@mrbeastbusiness.com"
    ],
    "externalLinks": [
      {
        "label": "$1,000,000 Contest",
        "url": "https://themostdangerousgames.com",
        "icon": "https://encrypted-tbn0.gstatic.com/favicon-tbn?q=tbn:ANd9GcQW-5jv0y5i1ZDctndeezN3lU3SVydo8NtbKcoxrNokmmVCB6pIvCvqRpfkfcGxKoqqJCTZLyMKwQf8fHw6Zn-OPThY3IEbS6uRchkMHzqHEkzJTlMoYYuPxFqsIYWoCxaGYGo"
      },
      {
        "label": "Follow",
        "url": "https://instagram.com/mrbeast",
        "icon": "https://encrypted-tbn3.gstatic.com/favicon-tbn?q=tbn:ANd9GcRMnk5lytM1g9HJQSf7bM5Xfi4yFD5Vyri4jzLc1D4JUjmBYMab9mUK04YRfRwyHmDMutbz5OgS4cg_9Z2lEmyotPVb3TDyE7YkLlpC2ywK7bDnmpmQTRw"
      },
      {
        "label": "Twitter",
        "url": "https://x.com/MrBeast",
        "icon": "https://encrypted-tbn0.gstatic.com/favicon-tbn?q=tbn:ANd9GcR7q2fytXyQw1wkPBPrICHHjLvxWloPZ_FdHfbR2zGpa99E9USylFLC_kDnQZLg3VVWxgyroOpElcixupmf3lhA9h_npVzfaX-4a8C34EDX4VQ"
      },
      {
        "label": "Facebook",
        "url": "https://facebook.com/mrbeast",
        "icon": "https://encrypted-tbn2.gstatic.com/favicon-tbn?q=tbn:ANd9GcSsJk1QYogEK4yy4lQsuP3h7sezQhEV60Mhxd5vbS8jJITIKzQ6LQJBJhG_JqQvzfGifWYNC0BkFE0mHTMZCCNIYrZJrutU2kK_3BH0bGVasT3z"
      }
    ],
    "discoverySource": "video_url"
  }
]
```

***

### ❓ Frequently Asked Questions (FAQs)

#### 1. Do I pay for Apify compute units (RAM & CPU)?

**No! Platform compute usage is 100% FREE.** You only pay for the channels that are successfully scraped and delivered to your dataset.

#### 2. What happens if a channel doesn't match my filters?

**You pay $0.00 for skipped channels.** Thanks to Instant Pre-Filtering, channels that do not meet your subscriber thresholds, view minimums, country targets, or email criteria are eliminated before browser scraping.

#### 3. What if I enter both direct URLs and a search keyword?

The actor handles both seamlessly in a single run! Direct URLs are charged at the lower URL rate ($0.005), and keyword discoveries are charged at the keyword rate ($0.010). If a channel appears in both, it is automatically charged at the lower URL rate.

#### 4. When does the Verified Contact Lead rate ($0.025) apply?

It applies whenever you enable **`Only Channels With Verified Emails` (`hasEmailOnly`)** or **`Only Channels With Social Links` (`hasSocialLinks`)**. Because the actor filters out channels without contact information, you are guaranteed high-value, actionable leads.

#### 5. Do I need my own YouTube API key?

**No.** The actor has built-in YouTube API key pools and fallback direct page scraping engines. You do not need to provide any API keys.

#### 6. Can I export the results to Google Sheets, CRM, or CSV?

**Yes!** With one click on Apify Console, you can download your dataset as **CSV**, **Excel (XLSX)**, **JSON**, or connect automated integrations with Google Sheets, Airtable, Webhooks, Make, and Zapier.

***

### 🧑‍💻 Developer & Support

- **Publisher:** CodeScraper
- **Engine:** Crawlee + Playwright (Headless Chromium) + Cheerio
- **Questions & Custom Features:** Reach out via Apify Console or support inquiries.

# Actor input Schema

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

Enter any number of YouTube channel URLs. Unlimited capacity — enter 10, 500, or 10,000+ URLs! Direct URLs enjoy the lowest base rate ($5/1k). Supports /channel/..., /@handle, /c/..., etc.

## `searchKeyword` (type: `string`):

Discover channels matching any niche, topic, or industry keyword (e.g., 'Finance', 'Tech Reviews', 'Fitness'). Channels discovered via search are charged at the keyword rate ($10/1k).

## `maxSearchResults` (type: `integer`):

Maximum channels to discover via keyword search (min 1, default 20, max 100 to protect API quota). For unlimited scraping without limits, enter URLs into 'Channel URLs' above.

## `videoUrls` (type: `array`):

Enter YouTube video URLs (e.g., https://www.youtube.com/watch?v=... or https://youtu.be/...). The actor extracts all video data and the creator's channel contact info. Billed at standard URL enter rate ($5/1k).

## `hasEmailOnly` (type: `boolean`):

When enabled, guarantees every exported channel has at least one verified contact email. Channels without email are skipped for FREE. Delivered leads billed at the verified contact lead rate ($25/1k).

## `hasSocialLinks` (type: `boolean`):

When enabled, guarantees every exported channel has external social media links (Instagram, X, Discord, LinkedIn, TikTok, etc.). Billed at verified contact lead rate.

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

Skip channels with fewer subscribers (e.g., 10000). Disqualified channels are eliminated instantly before browser scraping for $0.00.

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

Skip channels with more subscribers (e.g., 250000). Perfect for micro-influencer outreach. Disqualified channels cost $0.00.

## `minVideos` (type: `integer`):

Skip inactive or new channels with fewer uploaded videos than this threshold (e.g., 10).

## `minViews` (type: `integer`):

Skip low-traction channels with fewer lifetime views than this number.

## `countryFilter` (type: `array`):

Filter channels by country name or 2-letter ISO code (e.g., 'United States', 'US', 'United Kingdom', 'GB', 'Germany'). Non-matching channels are skipped instantly for $0.00.

## `deepEnrich` (type: `boolean`):

If enabled, visits external websites linked in the channel's About section to uncover hidden emails on /contact, /about, and /impressum pages. Verified by Groq AI.

## `concurrency` (type: `integer`):

Number of browser workers running simultaneously (default 10).

## `userAgent` (type: `string`):

Custom User-Agent header for browser requests.

## Actor input object example

```json
{
  "channelUrls": [
    "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA"
  ],
  "maxSearchResults": 20,
  "videoUrls": [],
  "hasEmailOnly": false,
  "hasSocialLinks": false,
  "countryFilter": [],
  "deepEnrich": false,
  "concurrency": 10,
  "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
```

# Actor output Schema

## `scrapedChannels` (type: `string`):

The main dataset containing channel details, contact emails, social links, subscriber counts, and video metrics.

# 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 = {
    "channelUrls": [
        "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("codescraper/youtube-channel-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 = { "channelUrls": ["https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA"] }

# Run the Actor and wait for it to finish
run = client.actor("codescraper/youtube-channel-scraper").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 '{
  "channelUrls": [
    "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA"
  ]
}' |
apify call codescraper/youtube-channel-scraper --silent --output-dataset

```

## MCP server setup

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

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/y10CMZW3YNfCB9j9p/builds/LYgQi7d6joT2baoFT/openapi.json
