▶️ YouTube B2B Email and B2B Lead Finder
Pricing
from $4.99 / 1,000 results
▶️ YouTube B2B Email and B2B Lead Finder
YouTube B2B Email & Lead Finder: Find publicly available business emails and B2B leads from YouTube channels and videos. Extract channel names, creators, websites, social links, locations, contact details, and URLs to build targeted lead lists for prospecting and outreach.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Scraper Engine
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
▶️ YouTube B2B Lead Finder
Discover and score business emails from YouTube channel and video pages — no YouTube login required, no API keys needed. Point it at your target niches and it turns public Google-indexed YouTube content into a ranked lead list, classified by result type and enriched with channel identity and subscriber data whenever YouTube's own indexed content includes them.
🚀 Why Choose This Actor?
- ⚡ Fast & Efficient — Uses browser impersonation (not a full headless browser) for maximum speed with minimal resource usage
- 🎯 B2B Focused — 29 pre-built search patterns, each carrying a real quality tier, engineered to find corporate emails (not Gmail/Yahoo noise)
- 📄 Result-Type Aware — every lead is classified as a
channel's own page (the strongest signal), an individualvideo, aplaylist, acommunity-post, orother, covering YouTube's full URL taxonomy (@handle,/channel/UC..., legacy/c///user/vanity URLs) - ▶️ Channel Identity Extraction — handle, channel ID, and display name pulled whenever the result is genuinely channel-shaped
- 👥 Subscriber-Tier Classification — recovered subscriber counts are normalized ("1.2M" →
1200000) and bucketed into nano/micro/mid/macro/mega tiers, with an optionalminSubscriberCountfilter - 🔬 Domain-Verified — every discovered domain gets a live mail-record (MX) check, cached per domain
- 🧮 Confidence-Scored — a single 0–100 score per lead, factoring in pattern quality, result type, how much channel metadata was recovered, and domain validity — never subscriber count itself
- 🚫 Hub/Legal-Page Filtered — automatically excludes YouTube's own corporate, help, Creator Academy, and Premium/Ads marketing pages, which rank for generic B2B keywords and aren't a real channel
- 🔒 Reliable Connection Handling — a genuine zero-result first page gets one proxy-rotated recheck before being accepted, since it's far more often a soft block than real exhaustion
- 🌍 Location Targeting — Filter results by city, region, or country for hyper-local prospecting
✨ What's new in this version
- Result-type classification across YouTube's full URL taxonomy (
resultType) — unlike a single-shape platform, YouTube channel identity can appear as a modern@handle, an immutable/channel/UC...ID, or a legacy/c/Name//user/Namevanity URL, alongside completely different content types (/watch,/shorts/,/playlist,/post/). Every lead is classified against all of these, with YouTube's own corporate/help/marketing subdomains and hub pages excluded up front. - Channel identity + subscriber-tier extraction (
channelHandle,channelId,channelName,subscriberCount,subscriberTier,minSubscriberCount). Honest finding from live testing while building this: B2B search-pattern matches are dominated even more heavily by individual videos than expected — across two separate live test batches, genuinely channel-shaped results were rare. The extraction mechanism is verified correct (confirmed against realistic synthetic data covering every URL shape and both real-world subscriber-figure formats — snippet text like "1.2M subscribers" and Google's cite/metadata-slot form like "640+ subscribers"), and populates whenever YouTube's indexed content is actually channel-shaped; it's left honestlynullotherwise rather than guessed from an unrelated video title. - Confidence scoring + domain verification (
verifyEmailDomains,minConfidenceScore) — every lead getsconfidenceScore(0–100) built from the B2B pattern's quality tier (now real, queryable metadata, withminPatternTierletting you skip low-tier patterns before they run to save cost), the result-type signal above, a bonus for each piece of channel metadata actually recovered, whether the email came from the snippet directly, and a cached MX-record check reported ashasValidMxRecords. The score rewards having channel data, never the subscriber count's size — that's a separate targeting dimension viaminSubscriberCount.
✨ Key Features
- 🏢 B2B Mode — Corporate email discovery (contact@, info@, team@, domain-specific)
- 👤 Personal Mode — Gmail / Outlook / Yahoo & other webmail addresses
- 🎨 29 Pattern Templates, Ranked by Tier — From booking emails to sponsorship inquiries, each labeled top/high/medium-high/medium/solid
- 🔄 Smart Deduplication — Each email address appears only once in your results
- 📍 Geographic Filtering — Target specific cities or regions
- 🌐 Platform Locked to YouTube, with corporate/help/marketing subdomains and hub pages excluded automatically
- ⚡ Jitter Delays — Human-like request timing to avoid detection
- 📈 Real-Time Progress — Live status updates and per-result logging
- 📊 Run summary analytics — top domains, pattern-tier breakdown, result-type breakdown, and subscriber-tier breakdown written to the key-value store at the end of every run
📥 Input Configuration
{"searchTerms": ["tech reviewer", "beauty influencer", "travel vlogger"],"targetPlatform": "YouTube.com","locationFilter": "","emailType": "b2b","maxLeads": 50,"maxLeadsPerPattern": 15,"minPatternTier": "solid","minConfidenceScore": 40,"minSubscriberCount": 1000,"verifyEmailDomains": true,"proxySettings": { "useApifyProxy": true, "apifyProxyGroups": ["GOOGLE_SERP"] }}
| Field | Type | Description |
|---|---|---|
searchTerms | array | 🔑 Industries/niches to search (required) — e.g. tech reviewer, beauty influencer, travel vlogger |
emailType | string | 🎯 b2b (corporate emails) or personal (Gmail/Outlook & other webmail) |
targetPlatform | string | 🌐 Platform domain (default: YouTube.com) |
locationFilter | string | 📍 City/region filter (optional, leave empty for global) |
maxLeads | integer | 📊 Total lead cap after quality filtering (1–50000, default: 10) |
maxLeadsPerPattern | integer | 🔢 Per-pattern cap in B2B mode (default: 15) |
minPatternTier | string | 🏆 Only run B2B patterns at this tier or better (top/high/medium-high/medium/solid); unset = run all 29 |
minConfidenceScore | integer | ✅ Drop leads scoring below this (0–100); unset = keep everything |
minSubscriberCount | integer | 👥 Drop leads whose known subscriber count is below this. A lead with no recovered figure is always kept — this never drops a lead just because the count wasn't stated. |
verifyEmailDomains | boolean | 🔬 Run the MX-record check (default: true) |
enableProxy | boolean | 🛡️ Master proxy switch (default: true) |
proxySettings | object | 🔒 Proxy settings for the Google-search leg (default: recommended GOOGLE_SERP configuration) |
📤 Output Format
Each discovered lead is saved as a row in the Apify dataset:
{"emailAddress": "biz@example-channel.com","domain": "example-channel.com","hasValidMxRecords": true,"confidenceScore": 78,"foundVia": "snippet","contactType": "b2b","patternName": "contact_at_domain","patternTier": "solid","resultType": "channel","channelHandle": "@examplechannel","channelId": null,"channelName": "Example Tech Reviews","subscriberCount": 458300,"subscriberTier": "mid","searchTerm": "tech reviewer","matchedLocation": "","sourcePlatform": "YouTube.com","resultTitle": "Example Tech Reviews - YouTube","resultSnippet": "458.3K subscribers. For business inquiries: biz@example-channel.com","sourceUrl": "https://www.youtube.com/@examplechannel","collectedAt": "2026-05-25T15:00:00Z"}
| Field | Description |
|---|---|
emailAddress | ✅ The discovered business email address |
domain | 🌐 Domain part of the email |
hasValidMxRecords | 🔬 true/false/null — result of the MX-record check (null = check skipped or DNS lookup failed, never treated as invalid) |
confidenceScore | 🧮 0–100 composite score — see "What's new" above |
foundVia | 🔎 snippet — this actor extracts only from Google's own result text |
contactType | 🏷️ b2b or personal |
patternName | 🎨 B2B search pattern that found this email (null in personal mode) |
patternTier | 🏆 Quality tier of that pattern: top/high/medium-high/medium/solid (null in personal mode) |
resultType | 📄 channel (strongest signal) / video / playlist / community-post / other |
channelHandle | ▶️ The channel's @handle (or a legacy /c///user/ vanity name, normalized to the same @name shape); null when unavailable |
channelId | 🆔 The immutable UC... channel ID, when the URL uses that shape instead of a handle |
channelName | 🧑 Channel display name — only ever populated when resultType is channel, never guessed from a video's own title |
subscriberCount | 👥 Normalized integer subscriber count when YouTube's indexed content states one; null otherwise |
subscriberTier | 🏆 nano (<10K) / micro (10K–100K) / mid (100K–500K) / macro (500K–1M) / mega (1M+); null when subscriberCount is null |
searchTerm | 🔑 Search term used |
matchedLocation | 📍 Location filter applied |
sourcePlatform | 🌐 Platform (e.g., YouTube.com) |
resultTitle | 📋 Result title containing the email |
resultSnippet | 📝 Snippet text describing the result |
sourceUrl | 🔗 Link to the source page. Usually a direct YouTube URL; when Google serves its redirect-wrapped result format instead, this is a google.com/goto?url=... link that opens straight through to the same YouTube page |
collectedAt | ⏰ UTC timestamp when the lead was saved |
Run summary (written to the key-value store under RUN_SUMMARY at the end of every run):
{"totalLeadsCollected": 29,"skippedLowConfidence": 4,"skippedLowSubscribers": 1,"uniqueDomains": 27,"domainsWithValidMx": 26,"domainsWithInvalidMx": 1,"patternTierBreakdown": { "top": 9, "high": 6, "solid": 14 },"resultTypeBreakdown": { "video": 12, "other": 15, "channel": 2 },"subscriberTierBreakdown": { "mid": 1, "micro": 1 },"topDomains": [{ "domain": "example-channel.com", "leadCount": 2 }]}
🎨 Available B2B Patterns
🧩 All 29 patterns are grouped into 5 quality tiers. By default every pattern that meets minPatternTier (or all of them, if unset) runs for every search term. Use maxLeadsPerPattern to cap how many leads each one contributes.
| Pattern | Tier | What It Finds |
|---|---|---|
email_for_bookings | top | 📅 Booking & reservation emails |
bio_email_basic | top | 📧 Bio email mentions with emoji |
job_applications | top | 💼 Hiring & careers emails |
email_direct_mention | top | 📬 Direct "email us at" posts |
cta_get_in_touch | high | 🤝 "Get in touch" / "drop us a line" |
careers_hiring | high | 👥 Recruitment contacts |
hr_recruitment | high | 🏭 HR department emails |
customer_service | medium-high | 🎧 Support & help desk emails |
contact_at_domain | solid | 🏢 info@, contact@, hello@, etc. |
sponsor_me | solid | 💰 Sponsorship opportunity emails |
| + 19 more | various | ... |
🚀 How to Use (Apify Console)
- 🔐 Log in at console.apify.com → Actors
- 🔍 Find YouTube B2B Lead Finder and click it
- ⚙️ Configure your inputs:
- Add your target search terms (e.g.,
tech reviewer,beauty influencer,travel vlogger) - Set your location (e.g.,
London,New York) if relevant - Choose mode:
B2Bfor corporate emails - Optionally set
minPatternTier,minConfidenceScore, and/orminSubscriberCountto keep only your best leads - Set max leads (e.g.,
100)
- Add your target search terms (e.g.,
- ▶️ Click Start
- 📊 Watch real-time logs as leads are discovered, classified, scored, and verified
- 📋 Open the Output tab to see your results table, and Key-value store → RUN_SUMMARY for the run's quality breakdown
- 📁 Export to JSON / CSV / Excel
🔒 Reliability
The actor automatically retries transient connection issues so a single hiccup does not interrupt your run. A genuine zero-result first page is treated as suspicious for a broad site:youtube.com query and gets one proxy-rotated recheck before being accepted, since it's far more often a soft block than a real empty result.
🎯 Best Use Cases
- 🤝 Creator & Brand Partnership Discovery — Find contact emails of channels and creators in your niche
- 📧 Deliverable Email List Building — Use
verifyEmailDomainsandminConfidenceScoreto build lists with fewer bounces - 🎯 Subscriber-Tier Targeting — Use
minSubscriberCount/subscriberTierto focus outreach on nano, micro, or larger channels specifically - 🔍 Market Research — Understand which channels and creators are active in your niche
⚠️ Legal & Ethical Notice
- This actor only collects data from publicly available, indexed web sources
- Only emails that appear in public YouTube content are collected
- The MX check only queries public DNS records for a domain — it does not contact, log in to, or send mail to any address
- Users are responsible for compliance with GDPR, CAN-SPAM, CCPA, and applicable laws
- Do not use collected emails for spam or unsolicited bulk messaging
- Review YouTube's Terms of Service and applicable third-party terms before use
❓ Frequently Asked Questions
Q: Does this need a YouTube account? A: No — it searches publicly indexed YouTube content.
Q: Will it find private account emails? A: No — only publicly indexed YouTube content is searched.
Q: How many emails can I collect per run? A: Up to 50,000 per run. Run multiple times for larger lists.
Q: What makes B2B mode different? A: B2B mode filters out Gmail, Yahoo, Outlook, and other personal email domains, returning only corporate/domain-specific emails.
Q: Why are channelHandle/channelName/subscriberCount often null, and resultType sometimes other?
A: The B2B search patterns are phrase-driven ("email for bookings", "contact@", etc.) and most often match an individual video rather than a channel's own page — confirmed live while building this. When a result's real URL is hidden behind Google's own redirect wrapper and its metadata line shows engagement stats instead of a URL breadcrumb, there's genuinely no reliable signal to classify it further, so it's honestly reported as other rather than guessed. channel-typed results (and their handle/name/subscriber data) do appear — just less often than video results for these query shapes.
Q: What does a null MX result mean — is the email bad?
A: No. null means the DNS lookup itself failed or was skipped (verifyEmailDomains: false) — it's "unknown," never treated as invalid. Only an explicit false means the domain has no working mail records.
Q: Do I need Apify proxies? A: Proxies are recommended and enabled by default for the most reliable results.
📞 Support & Feedback
- 🐛 Report issues in the Issues tab
- 💡 Feature requests welcome
- ⭐ If this actor saves you time, please leave a review!