YouTube Channel Email Scraper avatar

YouTube Channel Email Scraper

Pricing

Pay per event

Go to Apify Store
YouTube Channel Email Scraper

YouTube Channel Email Scraper

Extract contact emails and social links from YouTube channel About pages. Input channel URLs or @handles, get email addresses, subscriber counts, video counts, and all linked social profiles. No proxy needed.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

7 days ago

Last modified

Share

๐Ÿ“ง YouTube Channel Email Scraper

Extract contact emails and social links from YouTube channel About pages in bulk. Input a list of YouTube channels (URLs, @handles, or channel IDs) and get back email addresses, subscriber counts, video counts, social profiles, and full channel descriptions โ€” with no proxy needed and no browser required.

๐ŸŽฏ What does it do?

YouTube Channel Email Scraper reads each channel's About page via the YouTube InnerTube API and extracts:

  • ๐Ÿ“ง Business contact email (the email listed in the channel's About section)
  • ๐Ÿ“‹ All emails found across description, links, and social profiles
  • ๐Ÿ“บ Channel name, @handle, and channel ID
  • ๐Ÿ‘ฅ Subscriber count and video count
  • ๐Ÿ“ Full channel description
  • ๐Ÿ”— All linked social profiles and external URLs
  • ๐ŸŒ Country / location
  • โœ… Verified channel status
  • ๐Ÿ“… Channel join date

It works by calling the official YouTube InnerTube JSON API (the same API YouTube uses internally) โ€” no browser automation, no proxy, just a fast HTTP request per channel.


๐Ÿ‘ฅ Who is it for?

Influencer marketers & brand managers โ€” Build a outreach list of YouTubers in your niche. Filter to only channels with emails so you can contact them directly without going through agents.

Talent agencies & MCNs โ€” Scout potential talent at scale. Download emails and social links for hundreds of channels in minutes instead of manually visiting each About page.

PR agencies โ€” Find journalists, reviewers, and content creators in specific niches for product seeding campaigns. Export directly to your CRM.

Recruiting / HR teams โ€” Identify and contact YouTube educators, trainers, or specialists in technical fields who may be open to consulting or full-time roles.

SaaS & tool builders โ€” Enrich your database of creator profiles with verified contact info for creator economy platforms, sponsor marketplaces, or outreach tools.

Researchers โ€” Collect channel metadata and contact info for academic studies on the creator economy, content strategy, or platform analysis.


๐Ÿ’ก Why use this actor?

  • โœ… No proxy needed โ€” YouTube About pages are fully public. No anti-bot, no captcha, no IP blocks.
  • โšก Fast โ€” Processes 100+ channels per minute using parallel requests.
  • ๐Ÿ’ฐ Low per-email pricing โ€” Many alternatives charge higher per-email rates. This actor charges $0.02/email on the Bronze tier, with lower unit prices on higher plans.
  • ๐Ÿ” Multiple email sources โ€” Scans description text, About section, and linked social profiles for all email addresses.
  • ๐ŸŽฏ Email-only filter โ€” Use onlyWithEmail: true to skip channels without emails and save only leads.
  • ๐Ÿ“Š Clean, flat output โ€” No nested objects. Every field is a primitive ready for spreadsheet export.

๐Ÿ“Š What data does it extract?

FieldTypeDescription
channelIdStringYouTube channel ID (UCxxxxxxxxx)
channelNameStringDisplay name of the channel
channelHandleString@handle (e.g. @mkbhd)
channelUrlStringFull channel URL
emailString / nullPrimary contact email found
emailsArrayAll emails found (may include multiple)
subscriberCountNumber / nullTotal subscriber count
videoCountNumber / nullTotal published videos
descriptionStringFull channel description text
socialLinksArrayList of {title, url} external links
avatarUrlStringChannel profile image URL
isVerifiedBooleanWhether channel has verified badge
countryStringChannel's listed country
joinedDateStringWhen the channel joined YouTube
scrapedAtStringISO 8601 timestamp of when data was collected

๐Ÿ’ต How much does it cost to scrape YouTube channel emails?

This actor uses pay-per-event (PPE) pricing โ€” you pay only for results:

EventPrice
Actor start$0.005 (one-time)
Per channel processed$0.002
Per email found$0.02

Example costs:

  • Scrape 100 channels, 30 have emails: $0.005 + 100 ร— $0.002 + 30 ร— $0.02 = $0.805
  • Scrape 500 channels, 150 have emails: $0.005 + 500 ร— $0.002 + 150 ร— $0.02 = $4.005
  • Scrape 50 channels with onlyWithEmail=true, 20 emails found: $0.005 + 50 ร— $0.002 + 20 ร— $0.02 = $0.505

๐Ÿ’ก Competitor comparison: Many YouTube email scrapers charge higher per-email rates. This actor starts at $0.02 per email found on the Bronze tier, with volume discounts on higher plans.

Free plan estimate: The Apify free tier includes $5/month of compute credit. That's enough to find approximately 200+ emails per month at no cost.


๐Ÿš€ How to scrape YouTube channel emails โ€” step by step

  1. Create a free Apify account at apify.com
  2. Open the YouTube Channel Email Scraper actor page
  3. In the Channels field, paste your list of YouTube channel URLs, @handles, or channel IDs
  4. Optionally enable Only output channels with email to get a clean lead list
  5. Click Start and wait for results (usually under 30 seconds for 50 channels)
  6. Download results as JSON, CSV, or Excel โ€” or push directly to your CRM via the API

โš™๏ธ Input parameters

FieldTypeDefaultDescription
channelsArray of stringsRequiredList of YouTube channels. Accepts URLs, @handles, or channel IDs.
onlyWithEmailBooleanfalseSkip channels without emails. Only saves channels where at least one email was found.
maxConcurrencyInteger5Max parallel requests (1โ€“20). Higher = faster but may rate-limit.

Supported input formats

All of the following are valid entries in the channels list:

  • @mkbhd โ€” @handle
  • https://www.youtube.com/@mkbhd โ€” full channel URL
  • https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ โ€” /channel/ URL
  • UCBJycsmduvYEL83R_U4JriQ โ€” raw channel ID

๐Ÿ“ฆ Output examples

Channel with email found

{
"channelId": "UCBJycsmduvYEL83R_U4JriQ",
"channelName": "Marques Brownlee",
"channelHandle": "@mkbhd",
"channelUrl": "https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ",
"email": "business@mkbhd.com",
"emails": ["business@mkbhd.com"],
"subscriberCount": 20900000,
"videoCount": 1800,
"description": "MKBHD: Quality Tech Videos | YouTuber | Geek | Consumer Electronics | Tech Head | Internet Personality!\n\nbusiness@MKBHD.com\n\nNYC",
"socialLinks": [
{ "title": "twitter.com/MKBHD", "url": "http://twitter.com/MKBHD" }
],
"avatarUrl": "https://yt3.googleusercontent.com/...",
"isVerified": false,
"country": "",
"joinedDate": "",
"scrapedAt": "2026-04-04T10:17:23.243Z"
}

Channel without email

{
"channelId": "UCVjgV3uCgdAbllTqnCgSb-g",
"channelName": "NASA",
"channelHandle": "@NASA",
"channelUrl": "https://www.youtube.com/channel/UCVjgV3uCgdAbllTqnCgSb-g",
"email": null,
"emails": [],
"subscriberCount": 13700000,
"videoCount": 2100,
"description": "Welcome to NASA's official YouTube channel...",
"socialLinks": [
{ "title": "nasa.gov", "url": "https://www.nasa.gov" }
],
"avatarUrl": "https://yt3.googleusercontent.com/...",
"isVerified": true,
"country": "United States",
"joinedDate": "Sep 19, 2005",
"scrapedAt": "2026-04-04T10:17:22.123Z"
}

๐Ÿ’ก Tips for best results

Building targeted lead lists

Use the onlyWithEmail: true option when you want a clean list of actionable contacts. This filters out channels with no public email so your dataset only contains channels you can actually reach.

Finding emails that aren't in the About section

Some creators include their business email in the channel description text rather than the "contact" field. This actor scans both locations, so you don't miss those.

Bulk processing large lists

Set maxConcurrency to 10โ€“15 for faster processing of large channel lists. The default of 5 is conservative โ€” YouTube's InnerTube API has no strict rate limits for reasonable volumes.

Identifying channels to skip

Channels that have no email tend to be: large corporate brands, news channels, government accounts, and very large creators who route all business through management. Small to mid-size creators (1Kโ€“500K subscribers) have the highest rate of public business emails.

Exporting to Google Sheets

Use the Apify โ†’ Google Sheets integration or download as CSV. Each field maps cleanly to a column since all fields are flat primitives.


๐Ÿ”— Integrations

CRM enrichment

Push scraped emails directly into your CRM using the Apify โ†’ Zapier integration or Apify โ†’ Make (Integromat):

  1. Run this actor via the API with your channel list
  2. Use a Zap/scenario to watch for new dataset items
  3. Automatically create new contacts or update existing records in HubSpot, Salesforce, or Pipedrive

Email outreach automation

Connect with email platforms like Instantly.ai or Lemlist:

  1. Export results as CSV
  2. Import into your email sequences tool
  3. Filter on email != null to ensure all contacts are reachable

Influencer marketing platforms

Enrich your influencer database by running this actor on a list of channels from your existing database, then pushing the email data back via the Apify dataset API.

Google Sheets live dashboard

Use the Apify Google Sheets Actor to stream results directly into a spreadsheet as they're scraped. Great for team collaboration on influencer outreach.


๐Ÿ› ๏ธ API usage

Node.js (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/youtube-channel-email-scraper').call({
channels: ['@mkbhd', '@LinusTechTips', '@veritasium'],
onlyWithEmail: true,
maxConcurrency: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.filter(i => i.email).length} channels with emails`);
for (const item of items) {
if (item.email) console.log(`${item.channelName}: ${item.email}`);
}

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("automation-lab/youtube-channel-email-scraper").call(run_input={
"channels": ["@mkbhd", "@LinusTechTips", "@veritasium"],
"onlyWithEmail": True,
"maxConcurrency": 10,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
for item in items:
if item.get("email"):
print(f"{item['channelName']}: {item['email']}")

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~youtube-channel-email-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channels": ["@mkbhd", "@LinusTechTips", "@veritasium"],
"onlyWithEmail": true,
"maxConcurrency": 10
}'

๐Ÿค– MCP โ€” Use with Claude AI

This actor works as an MCP (Model Context Protocol) server, letting you run it directly from Claude Code, Claude Desktop, or any MCP-compatible AI tool.

Setup โ€” Claude Code / Cursor / VS Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/youtube-channel-email-scraper"

Setup โ€” Claude Desktop / Cursor / VS Code

Add to your claude_desktop_config.json (or equivalent MCP config):

{
"mcpServers": {
"youtube-email-scraper": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/youtube-channel-email-scraper",
"env": {
"APIFY_TOKEN": "YOUR_API_TOKEN"
}
}
}
}

Example prompts for Claude

  • "Scrape the contact emails for these 20 tech YouTube channels: [list]"
  • "Find business emails for fitness YouTubers with over 100K subscribers: [channel list]"
  • "Get contact info for all channels in this list and filter to only those with emails"
  • "What's the contact email for @mkbhd?"

Yes. The email addresses extracted by this actor are publicly posted by channel owners in their About section. They choose to make their contact information visible to anyone who visits their YouTube channel page. Collecting publicly available contact information for legitimate business outreach is lawful in most jurisdictions.

This actor only reads data that is publicly accessible โ€” it does not access private data, bypass authentication, or collect data from restricted sections. The YouTube Terms of Service permit automated access to public data for personal and non-commercial use. For commercial use at scale, review YouTube's API Terms of Service.

Important: Always use scraped contact data responsibly. Do not use it for spam. Comply with anti-spam laws (CAN-SPAM, GDPR, CASL) when sending commercial emails.


โ“ FAQ

Q: Why is the email field null for some channels? A: Not all YouTube creators list a public business email. Large brands, news organizations, government channels, and many of the biggest creators don't expose an email on their About page. Creators in the 1Kโ€“500K subscriber range tend to have the highest rate of public emails (~30โ€“40%).

Q: How accurate are the emails? A: Very high โ€” the actor extracts emails exactly as written by the channel owner in their About section or description. It doesn't guess, generate, or construct emails. If an email is shown, it was posted by the creator.

Q: Can I scrape thousands of channels? A: Yes. The actor can process any number of channels. For very large lists (1000+), consider splitting into batches and running multiple times, or increase maxConcurrency to 15โ€“20.

Q: Will this work on channels with custom URLs like /c/channelname? A: Yes. The actor uses YouTube's URL resolution API, which handles all URL formats: /c/, /channel/, /@handle, and bare handles.

Q: The actor processed a channel but found no email โ€” could the email be there? A: If the creator has the "View email address" button on their About page (which requires a YouTube account login to see), the email is intentionally hidden from unauthenticated viewers and cannot be extracted without logging in. The actor only finds emails that are publicly visible without authentication.

Q: I'm getting fewer results than expected. What should I check? A: Verify your input handles/URLs are correct. Invalid or deleted channel handles will be silently skipped with a warning in the logs. You can view run logs in the Apify console under the Runs tab.