YouTube Channel Email Scraper - Business Contacts
Pricing
from $17.02 / 1,000 contact founds
YouTube Channel Email Scraper - Business Contacts
Business email for a list of YouTube channels, from what each channel publishes itself. When a channel gives no email but links a website, that site is checked too. Every address says where it came from, and a channel with nothing published returns the reason - and is not charged.
Pricing
from $17.02 / 1,000 contact founds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
11 hours ago
Last modified
Categories
Share
Give it a list of YouTube channels. It returns the business email each channel publishes itself, and says where each address came from. When a channel publishes no email but links a website, the site and its contact page are checked too.
Nothing here comes from behind YouTube's "view email address" button - that asks a human to pass a check, and this Actor does not touch it. Only what a channel puts in public.
What you actually get, measured
30 channels were checked on 2026-09-02. The channel list, the per-channel result and the script that
produced them ship with this Actor (test/survey-channels.mjs, test/_channel-survey.json), so the number
below can be reproduced or challenged. All 30 pages were readable.
| Channels | Share | |
|---|---|---|
| Email published in the channel description | 6 | 20% |
| No email, but a website is linked | 7 | 23% |
| Neither | 17 | 57% |
So fewer than half of channels are reachable - directly, or through the site they link. The rest publish nothing, and no scraper can change that. This one tells you which group a channel is in instead of returning a blank row that could mean anything.
One row per channel
| Field | Example |
|---|---|
channelId | UCBJycsmduvYEL83R_U4JriQ |
title | Marques Brownlee |
emails | ["business@mkbhd.com"] |
emailSources | ["channel description"] or ["https://example.com/contact"] |
websites | ["https://mkbhd.com"] |
contactPagesCrawled | how many pages of that site were opened |
ok | true only when at least one address was found |
reason | why the row is empty, when it is |
emailSources is the part most tools leave out. An address found in the channel's own description and an
address found on some page of a linked site are not the same quality of lead, and you should be able
to tell them apart before you write to anyone.
The channel you asked for, not the one next to it
A YouTube channel page carries data for other channels too - recommendations, shelves, related creators. Reading "the first channel id on the page" gives you the wrong channel, and the output looks perfectly normal while being wrong. (We know because we did exactly that in a different project on 2026-08-29 and published numbers for the wrong channels.)
This Actor reads only the page's own channelMetadataRenderer block, and a test feeds it a page with a
second channel embedded to prove the wrong one is never picked.
Input
{"channels": ["@mkbhd", "https://www.youtube.com/@LinusTechTips", "UCYO_jab_esuFRV4b17AJtAw"],"crawlWebsite": true,"maxPagesPerSite": 3,"respectRobots": true}
Handles, channel URLs and UC… ids all work and can be mixed. Anything unreadable comes back as a row
saying so - never as a silent skip.
| Field | Default | Meaning |
|---|---|---|
channels | (required) | What to look up |
crawlWebsite | true | Also open the website a channel links, when it publishes no email |
maxPagesPerSite | 3 | How many pages of that site to open before giving up. Stops at the first address |
respectRobots | true | Skip what the site disallows |
timeoutSecs | 20 | Per page |
Pricing
Charged only for channels where an address was actually found. Channels that publish nothing, channels that could not be read, and inputs that were not channels are all delivered with a reason and cost nothing.
That matters here more than in most Actors: on the list above, 57% of channels published no contact at all. Some Actors in this category bill per input row and others, like this one, bill per contact found - worth checking which one you are buying, because on a list like that the difference is more than double.
Checks
120 automated checks, and 16 deliberate defects in the shared extraction layer plus 13 more aimed at
the channel parser - 29 in total. Every defect is inserted on purpose to confirm a check turns red: picking
the wrong channel's data, accepting a broken metadata block, treating social links as the creator's website,
marking an empty row as ok, dropping the source of an address, letting a no-reply or placeholder address
count as a contact, stamping rows with the current time instead of the run time. All 29 are caught
(npm test, npm run mutate).
Other tools by NeverEmpty
- youtube-transcript-reliable - transcripts, with the failure reason when there is none
- youtube-channel-transcripts - the same engine across a whole channel
- website-contacts - emails, phones and socials from a list of websites