YouTube Hidden Business Email Scraper, from $0.10 · Apify
YouTube Channel Email Scraper: Hidden Business Emails avatar

YouTube Channel Email Scraper: Hidden Business Emails

Pricing

from $100.00 / 1,000 email (cached)s

Go to Apify Store
YouTube Channel Email Scraper: Hidden Business Emails

YouTube Channel Email Scraper: Hidden Business Emails

Reveal the real business email behind YouTube's "View email address" button, from channel URLs, @handles or IDs. From $0.10 per email found, nothing charged when there is no email.

Pricing

from $100.00 / 1,000 email (cached)s

Rating

5.0

(2)

Developer

CreatorLens

CreatorLens

Maintained by Community

Actor stats

0

Bookmarked

21

Total users

13

Monthly active users

1.4 hours

Issues response

5 days ago

Last modified

Features

Limited permissions

Share

Reveal the email behind YouTube's "View email address" button

Get the real business email YouTube creators publish for sponsorships and inquiries: the one hidden behind the "View email address" button on their channel page.

Most YouTube email scrapers only read what is visible on the page: descriptions, link lists, guesses. The business email is not visible. It needs a signed-in Google account and a reCAPTCHA solve. This actor does both for you, from $0.10 per email found. Channels without an email cost nothing.

⏳ Results can arrive in two steps. Channels we checked recently come back right away. New ones are revealed live, which takes a few minutes (longer for big batches). If your run ends first, those rows say EMAIL_PENDING with a note on when they will be ready. They are already paid for: open the run, click Resurrect, and the emails are added to the same dataset at no extra cost. See Collecting queued results below.

🎬 See it in action

A real, unedited reveal (sped up 1.6×): the About dialog, the "View email address" button, the reCAPTCHA solved automatically, then the email.

A live reveal: About dialog, reCAPTCHA solved automatically, business email shown

🎯 Who it's for

  • Influencer marketing: build contact lists of creators for brand deals and product seeding
  • Sponsorship sales: reach channels in your niche with the address they set up for exactly this
  • Agencies: enrich client creator lists in bulk, on a schedule or through the API
  • Creator platforms and CRMs: keep creator contact data fresh

⚙️ How it works

How it works

  1. Paste channels. Channel URLs, @handles or channel IDs, up to 1,000 per run. Start as many runs in parallel as you need.
  2. We reveal the email. Signed-in accounts open each channel, click "View email address" and solve the CAPTCHA. Channels we checked recently come back in seconds; new ones are revealed live.
  3. Export and reach out. Each row has the email plus subscribers, views, country and more. Download CSV, Excel or JSON, or read the dataset through the Apify API.

No paying for idle runs. The run does not sit waiting for live reveals: channels still in the queue are marked EMAIL_PENDING and you collect them later by resurrecting the run, without paying twice. See Collecting queued results below.

📤 What you get

Sample output

{
"Avatar": "https://yt3.googleusercontent.com/...",
"Query": "https://www.youtube.com/@TheDiaryOfACEO",
"ChannelId": "UCGq-a57w-aPwyi3pW7XLiHw",
"Email": "bookings@stevenbartlett.com",
"Status": "EMAIL_AVAILABLE",
"EmailSource": "CACHE",
"ChannelHandle": "@TheDiaryOfACEO",
"SubscriberCount": 20400000,
"ChannelName": "The Diary Of A CEO",
"Country": "United Kingdom",
"TotalViews": 1910797932,
"TotalVideosCount": 927,
"ChannelUrl": "https://www.youtube.com/channel/UCGq-a57w-aPwyi3pW7XLiHw",
"Note": null
}
StatusMeaningCharged
EMAIL_AVAILABLEEmail found, see EmailSource✅ $0.10 or $0.20
EMAIL_NOT_FOUNDThe channel has no business emailFree
EMAIL_PENDINGQueued for a live reveal when the run ended. Resurrect the run to collect it$0.20, paid now; the email is delivered free later
CHANNEL_NOT_FOUNDThe URL or handle does not match any channelFree
COST_LIMIT_REACHEDSkipped: your Maximum cost per run could not cover a live reveal. Raise it and run againFree
DAILY_LIMIT_REACHEDSkipped: over the daily limit of 20,000 channels per account. Run it tomorrow, or email chitosibug3@gmail.com for more capacityFree

Rows that need an explanation (EMAIL_PENDING, the limits, CHANNEL_NOT_FOUND) also say what to do in the Note column.

EmailSourceWhere the email comes fromPrice
CACHERevealed from "View email address" in the last 30 days$0.10
PROFILEThe channel's profile information (only with Include profile emails on)$0.10
LIVE_REVEALRevealed live from "View email address" for your run$0.20

📬 Collecting queued results (EMAIL_PENDING)

New channels are revealed live, which usually takes a few minutes and longer for big batches. When a run ends before a channel is done, its row says EMAIL_PENDING. That channel is already paid for and keeps being revealed in the background. Come back for it at no extra cost, in either of two ways:

  1. Resurrect the run (recommended). In the Apify Console open the run and click Resurrect. From code: POST https://api.apify.com/v2/actor-runs/{runId}/resurrect. The run picks up where it stopped and adds the finished rows to the same dataset. Already delivered rows are not repeated.
  2. Run the same channels again within 30 days. Channels you already paid for are delivered free, in a new dataset.

How long to wait: the run log and the run's status message say when the queued channels should be ready (typically 5–30 minutes). Checking too early is harmless: anything still queued simply stays EMAIL_PENDING until the next try.

Automating it with the Apify API client (Python):

import time
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
actor = client.actor("creatorlens/youtube-channel-email-scraper")
run = actor.call(run_input={"channels": ["@MrBeast", "UCR5k7bm0qgpP7-QX1uIx7cQ"]})
for attempt in range(7): # collect queued channels for up to ~1 hour
rows = {r["ChannelId"]: r for r in client.dataset(run["defaultDatasetId"]).iterate_items()} # last row per channel wins
if attempt == 6 or not any(r["Status"] == "EMAIL_PENDING" for r in rows.values()):
break
time.sleep(600)
client.run(run["id"]).resurrect()
client.run(run["id"]).wait_for_finish()
emails = {cid: r["Email"] for cid, r in rows.items() if r["Status"] == "EMAIL_AVAILABLE"}

Each channel can have an EMAIL_PENDING row followed later by its final row in the same dataset: keep the last row per ChannelId.

📝 Input

FieldDescription
YouTube channelsChannel URLs, @handles or channel IDs, 1–1,000 per run
Include profile emailsOff by default. Also return the email we already know from the channel's profile information, instantly at $0.10, including for channels with no hidden business email. It can differ from the "View email address" one (about 1 in 4 channels): leave it off when you need exactly that address
Force Fresh Email ScrapeRe-reveal every channel live, even ones checked in the last 30 days. Every email found is $0.20

Accepted formats:

  • Channel IDs (most reliable): UCX6OQ3DkcsbYNE6H8uQQuVA
  • Channel URLs: https://www.youtube.com/@MrBeast, https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA
  • Handles: @MrBeast
{
"channels": ["@MrBeast", "https://www.youtube.com/@TheDiaryOfACEO", "UCR5k7bm0qgpP7-QX1uIx7cQ"],
"use_profile_emails": false,
"scrape_fresh_emails": false
}

💰 Pricing

Pricing

Price
Email from cache or profile (CACHE, PROFILE)$0.10 ($100 per 1,000)
Email revealed live (LIVE_REVEAL), and every email of a Force Fresh run$0.20 ($200 per 1,000)
Queued channel (EMAIL_PENDING): YouTube shows it has an email, so the live price is charged when it is queued$0.20, nothing more when you collect it
Channel without email, or not foundFree
Asking again for a channel you paid for in the last 30 days (Resurrect or a new run)Free

No subscription and no per-seat fees. You never pay twice for the same channel within 30 days, however often you check on it. Set Maximum cost per run high enough for the emails you expect: once the limit is reached the run stops and the remaining channels are not charged.

🏢 For high-volume teams

Need more than 3,000 emails a day? Email us at chitosibug3@gmail.com with your expected daily volume and we'll set up capacity for it.

  • Parallel runs: 1,000 channels per run, as many runs as you like.
  • Fair queue: live reveals are served round robin between customers, so a large batch from someone else never holds up yours.
  • Schedules: run your creator lists daily or weekly with Apify Schedules. Turn on Force Fresh before a send to catch creators who changed their address.
  • API and integrations: start runs and read results from your own pipeline, Make, Zapier or n8n.

❓ FAQ

Do I pay for channels without a business email? No. You pay for rows with EMAIL_AVAILABLE, and for channels queued for a live reveal (EMAIL_PENDING), which YouTube shows have an email. Rarely (about 3%) a queued channel turns out to have none; that one stays charged.

Why are some channels EMAIL_PENDING? They need a live reveal, which takes from a few minutes to a few hours for large batches. They stay in the queue after the run ends, and the run log shows when they should be ready. They were charged once ($0.20) when they were queued, since YouTube shows these channels have an email. Resurrect the run (not "Re-run from start") to collect them at no extra cost; already delivered rows are not repeated. Running the same channels again within 30 days is free too: you never pay twice for a channel. In the rare case the live reveal then finds no email, the row comes back as EMAIL_NOT_FOUND. From code, call POST https://api.apify.com/v2/actor-runs/{runId}/resurrect, wait for it to finish and read the dataset. Each channel gets one EMAIL_PENDING row and later one final row: keep the last row per ChannelId.

When should I use Force Fresh Email Scrape? Rarely. Results up to 30 days old are reused at $0.10, which is usually fine for building lists. Use Force Fresh ($0.20 per email) right before a campaign if you need the creator's current address.

What are profile emails? Emails we already know for a channel from its profile information: the channel description and links, and our creator database. With Include profile emails on they come back instantly at $0.10, also for channels that have no hidden business email. About 1 in 4 differ from the "View email address" one, for example a manager's address instead of the creator's; EmailSource tells you which is which. When a channel has a hidden email revealed in the last 30 days, that one is returned instead.

Can I test with a few channels first? Yes. Try 5–10 channels to see the output before running a large list.

How do I get the best hit rate? Submit channels that are likely to work with brands, such as creators that already run sponsorships. Very small or inactive channels rarely set a business email.

Is this data public? The business email is published by the creator on their own YouTube channel for business inquiries. YouTube only shows it to signed-in users. Use it for relevant business outreach and follow the anti-spam laws that apply to you (CAN-SPAM, GDPR and similar).

Something not working? Open an issue on this actor's page or email chitosibug3@gmail.com with your run ID, and we'll look into it.