YouTube Channel Email Scraper avatar

YouTube Channel Email Scraper

Pricing

from $0.63 / 1,000 channel results

Go to Apify Store
YouTube Channel Email Scraper

YouTube Channel Email Scraper

Find public contact emails displayed by YouTube channels and export source-attributed emails, links, social profiles, and channel metadata.

Pricing

from $0.63 / 1,000 channel results

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Find public business and contact emails explicitly displayed by YouTube channels. Export source-attributed emails together with channel metadata, outbound websites, social profiles, and clear no-contact or failure statuses.

Use this YouTube email scraper and YouTube contact scraper for creator outreach, partnership research, sponsorship prospecting, and contact-list enrichment from channels you already know. It works as a YouTube creator email finder or YouTube influencer email finder only for addresses displayed on public pages. It does not log in, reveal CAPTCHA-protected addresses, or infer email addresses.

Example input

{
"channelUrls": [
"https://www.youtube.com/@rebeccazamolo",
"@imjennim",
"UCTgwcoeGGKmZ3zzCXN2qo_A"
],
"maxChannels": 3,
"onlyWithEmail": false,
"includePublicLinkedWebsites": false,
"includePhones": false
}

Example output

{
"input": "@imjennim",
"channelUrl": "https://www.youtube.com/@imjennim/about",
"channelId": "UCgWfS_47YPVbKx5EK4FLm4A",
"handle": "@imjennim",
"title": "Jenn Im",
"description": "Business Inquiries: jenn@rare.global ...",
"subscriberCountText": "3.23M subscribers",
"subscriberCount": 3230000,
"videoCountText": "794 videos",
"videoCount": 794,
"viewCountText": "1,555,888 views",
"viewCount": 1555888,
"country": "United States",
"joinedDateText": "Joined Feb 28, 2010",
"verified": false,
"externalLinks": [],
"socialLinks": [],
"websiteLinks": [],
"emails": [{
"value": "jenn@rare.global",
"sourceUrl": "https://www.youtube.com/@imjennim/about",
"sourceType": "channel_about",
"confidence": "high"
}],
"phones": [],
"contactStatus": "FOUND_PUBLIC_CONTACT",
"hiddenEmailUnsupported": false,
"pagesChecked": 0,
"pagesSkipped": 0,
"errorCode": null,
"errorMessage": null,
"scrapedAt": "2026-08-13T12:11:26.764Z"
}

Input settings

FieldTypeDescription
channelUrlsstring[]YouTube channel URLs, About URLs, @handles, bare handles, or UC... channel IDs.
maxChannelsintegerMaximum unique channels to process (1–500).
onlyWithEmailbooleanSave only rows containing at least one public email.
includePublicLinkedWebsitesbooleanAlso inspect a bounded number of publicly linked website pages for displayed contacts.
maxExternalPagesPerChannelintegerMaximum linked website pages checked per channel (0–10).
contactPageKeywordsstring[]Optional paths such as contact, about, or press considered during website inspection.
includePhonesbooleanAlso collect explicitly displayed public phone numbers.
proxyConfigurationobjectOptional Apify Proxy configuration. Direct requests are used by default.

Duplicate inputs are normalized and processed once. Valid rows are saved progressively, so one unavailable channel does not discard successful siblings.

Output fields

FieldDescription
inputOriginal submitted value.
channelUrlNormalized public About URL.
channelId, handlePublic channel identifiers when available.
title, descriptionPublic channel title and description.
subscriberCountText, subscriberCountDisplay value and normalized count.
videoCountText, videoCountDisplay value and normalized count.
viewCountText, viewCountDisplay value and normalized count.
country, joinedDateText, verifiedPublic About metadata when supplied by YouTube.
externalLinksPublic outbound links found on the channel surface.
socialLinksRecognized public social links with platform labels.
websiteLinksNon-social public outbound links.
emailsDeduplicated contacts with value, sourceUrl, sourceType, and confidence.
phonesOptional public phones with the same source evidence shape.
contactStatusFOUND_PUBLIC_CONTACT, NO_PUBLIC_CONTACT, CHANNEL_ERROR, or SKIPPED_DEADLINE.
hiddenEmailUnsupportedIndicates that the page referenced a protected email flow that this Actor will not access.
pagesChecked, pagesSkippedExternal-page processing counters.
errorCode, errorMessagePer-channel diagnostics; successful sibling rows remain available.
scrapedAtISO timestamp for collection.

A RUN-SUMMARY record in the default key-value store reports submitted channels, saved rows, and deadline cutoff status.

Who is it for?

  • Creator partnership and sponsorship teams building source-auditable outreach lists.
  • Agencies researching public contact routes for known channels.
  • Sales and market-research teams enriching channel lists with public metadata.
  • Developers and AI-agent builders who need structured JSON through API or MCP.

Input recipes

Creator outreach list

Set onlyWithEmail to true and submit up to 100 known channel handles. Every retained email includes its public source URL.

Channel metadata audit

Set onlyWithEmail to false to retain channels without public contacts and compare metadata and outbound profiles.

Public website contact enrichment

Enable includePublicLinkedWebsites, keep maxExternalPagesPerChannel low, and optionally enable includePhones. Website availability and robots/access policies may vary.

Pricing

Pay per event: one small start event plus one channel-result event per saved row, with plan-based volume discounts. Filtering with onlyWithEmail does not charge for omitted rows. See the live Pricing tab for current rates.

API usage

curl -X POST "https://api.apify.com/v2/acts/anna%2Fyoutube-channel-email-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channelUrls":["@imjennim"],"maxChannels":1}'

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/youtube-channel-email-scraper').call({ channelUrls: ['@imjennim'], maxChannels: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/youtube-channel-email-scraper').call(run_input={'channelUrls': ['@imjennim'], 'maxChannels': 1})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

MCP and AI agents

Connect the Apify MCP server at:

https://mcp.apify.com/?tools=fetch_cat/youtube-channel-email-scraper

Add it to Claude Code:

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

Or use this MCP configuration:

{"mcpServers":{"apify":{"type":"http","url":"https://mcp.apify.com/?tools=fetch_cat/youtube-channel-email-scraper"}}}

Example prompts: “Find publicly displayed emails for these five YouTube handles and return source URLs” or “Compare metadata for these channels and retain rows without email.” Keep tokens and contact data out of prompts or logs that do not need them.

Tips and limits

  • Start with a few known channels, then expand the batch.
  • Channel pages change over time; absent metadata is returned as null, not guessed.
  • Some business emails are protected behind login or CAPTCHA. Those are intentionally not revealed.
  • External website checks are opt-in, bounded, and can be slower or unavailable.
  • Use public contact details responsibly and comply with applicable privacy, anti-spam, platform, and marketing laws.
  • The Actor discovers contacts from supplied channels; it does not search YouTube by keyword.

FAQ

Does it reveal YouTube's protected “View email address” value?

No. It exports only contact details already displayed on anonymous public surfaces. It does not log in, solve CAPTCHA, bypass controls, or infer addresses.

Why does a successful row have no email?

Many channels do not publish one. Keep onlyWithEmail off to receive NO_PUBLIC_CONTACT rows and useful channel metadata.

Can I use it through the API or MCP?

Yes. Use the Actor API from any Apify client or add the actor-specific MCP URL above to an MCP-compatible agent.

Does it validate mailbox deliverability?

No. It preserves publicly displayed values and their source evidence; mailbox verification is a separate workflow.

What happens if one channel fails?

The row contains CHANNEL_ERROR and diagnostics while other channels continue. Results are stored progressively.

Support

For reproducible issues, open the Actor's Issues tab and include a redacted input, run ID, expected behavior, and actual behavior. Never post private credentials or non-public contact data.