YouTube Channel Email & Sponsor Lead Scraper API avatar

YouTube Channel Email & Sponsor Lead Scraper API

Pricing

from $4.00 / 1,000 creator leads

Go to Apify Store
YouTube Channel Email & Sponsor Lead Scraper API

YouTube Channel Email & Sponsor Lead Scraper API

Find YouTube creator emails, phones, websites, socials, engagement signals, sponsor history, and lookalike channels from URLs or niche searches.

Pricing

from $4.00 / 1,000 creator leads

Rating

5.0

(1)

Developer

Kelopr_bk

Kelopr_bk

Maintained by Community

Actor stats

0

Bookmarked

27

Total users

14

Monthly active users

5.2 hours

Issues response

a day ago

Last modified

Share

YouTube creator email, sponsor and lookalike intelligence

Turn public YouTube channel data into outreach-ready creator leads. Find public business emails, phones, websites and social profiles; verify a channel's published country against your target region; identify recent-video content languages; measure recent audience activity; verify sponsor signals with source videos; or discover explainable lookalike creators โ€” without a YouTube login, cookies, or a browser.

Choose one simple workflow, set the number of creators you need, and press Start. Every workflow returns the same clean creator record, so results are easy to export to CSV, Excel, JSON, an API, a webhook, or your CRM.

๐Ÿงญ How the Actor works

Choose one source
โ”œโ”€ ๐Ÿ”— channelContacts โ†’ channel URLs, @handles, IDs, or video URLs
โ”œโ”€ ๐Ÿ” keywordDiscovery โ†’ niches and search phrases
โ””โ”€ ๐Ÿงฌ lookalikeDiscovery โ†’ example channels
โ”‚
โ–ผ
Discover + deduplicate creators
โ”‚
โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Enrich public data โ”‚
โ”‚ ๐Ÿ“บ channel and audience metrics โ”‚
โ”‚ ๐ŸŽฌ recent videos and pinned comment โ”‚
โ”‚ ๐Ÿ“ง public emails + domain validation โ”‚
โ”‚ ๐Ÿ“ž phones, websites and public profiles โ”‚
โ”‚ ๐Ÿค sponsor signals + evidence videos โ”‚
โ”‚ ๐Ÿงฌ similarity score + matching reasons โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”‚
โ–ผ
Apply contact, size and activity filters
โ”‚
โ–ผ
Leads โ€ข Contacts โ€ข Sponsors โ€ข Lookalikes โ€ข Full details

๐Ÿš€ How to use the Actor

Step 1 โ€” Choose a workflow

Open the Input tab and select How should we find creators?

WorkflowChoose it whenโ€ฆFill in this field
๐Ÿ”— Enrich channels I already knowYou already have channel URLs, handles, IDs, or video URLsYouTube channels or videos
๐Ÿ” Discover creators by nicheYou want creators from a topic such as fitness, finance, SaaS, or gamingKeywords or niches
๐Ÿงฌ Find similar creatorsYou have one or more example channels and want relevant alternativesExample channels

Only the source field for the selected workflow is used. You can paste one item or many items, one per line.

Step 2 โ€” Add your starting point

Accepted channel inputs:

  • @demo_creator
  • https://www.youtube.com/@demo_creator
  • https://www.youtube.com/channel/UC_EXAMPLE_ID
  • https://www.youtube.com/watch?v=DEMO_VIDEO_ID

For niche discovery, use focused phrases such as personal finance creators, home fitness, or B2B SaaS tutorials. Several focused searches usually produce better leads than one broad word such as business.

Step 3 โ€” Choose the region behavior

YouTube search region localizes YouTube discovery for the selected market. Then choose how exact the result must be:

  • ๐ŸŒ Localized discovery โ€” recommended uses the selected market as a ranking hint and keeps relevant creators even when their published country is different or unavailable.
  • ๐Ÿ“ Strict country match saves only channels whose public YouTube country exactly matches the selected region. Channels that hide their country are excluded rather than guessed.

Every saved row explains the outcome through targetRegion, channelCountryCode, regionMatch, and regionMatchStatus. The run summary shows matched, different, and unknown coverage.

Step 4 โ€” Choose the result size and depth

  • Maximum creators to save is the final global limit after duplicates are removed.
  • โšก Fast is best for quick screening: light channel and recent-video analysis, without external website scans.
  • โš–๏ธ Balanced is recommended: recent videos, pinned comments, linked websites, public profiles, email-domain checks, and sponsor intelligence.
  • ๐Ÿ”ฌ Deep reads 20 recent videos instead of 5, which is what surfaces sponsorship history: measured on the same creators, it returns sponsor evidence for around 30% of them against 16% on Balanced. Email coverage is close to Balanced either way, because an address nobody published cannot be found by looking harder. It also checks public secondary channels, older contact-oriented uploads, structured or obfuscated website data, common contact paths and public contact forms for creators whose address YouTube keeps behind its protected-email button. Choose it when you need to know who already takes paid integrations.

Step 5 โ€” Apply optional lead filters

  • Creators with any contact is the recommended default. It avoids saving completely contactless rows.
  • Creators with an email keeps only email-ready leads.
  • Subscriber, recent-view, activity, and Sponsor Readiness filters can narrow the list before it is saved.
  • Use 0 to disable a numeric filter.

Step 6 โ€” Start and open the right result view

Press Start. As soon as results are saved, the Leads table is the first output shown. You can switch to another view when needed:

  • Leads โ€” the quickest CRM-ready shortlist with lead tier, best contact route, regional match, and qualification reasons.
  • Contacts โ€” emails, phones, evidence URLs, websites, and social profiles.
  • Sponsor intelligence โ€” sponsor brands, evidence videos, activity, reach, and scores.
  • Lookalike creators โ€” similarity score, shared topics, and clear matching reasons.
  • Channel details โ€” the widest technical record.
  • Run summary โ€” saved/filtered/failed counts, contact coverage, warnings, duration, and suggested next steps.

๐ŸŽฏ Ready-to-run examples

Find sponsor-ready creators in a niche

{
"scrapeType": "keywordDiscovery",
"searchQueries": ["personal finance creators", "technology reviews"],
"region": "US",
"maxResults": 50,
"contactFilter": "emailOnly",
"enrichmentDepth": "balanced",
"minSubscribers": 10000,
"minSponsorReadinessScore": 40
}

Enrich a list of channels

{
"scrapeType": "channelContacts",
"channels": [
"@demo_creator",
"https://www.youtube.com/channel/UC_EXAMPLE_ID"
],
"maxResults": 50,
"contactFilter": "contactableOnly",
"enrichmentDepth": "balanced"
}

Find lookalike creators

{
"scrapeType": "lookalikeDiscovery",
"seedChannels": ["@demo_tech_channel"],
"maxResults": 30,
"contactFilter": "allChannels",
"enrichmentDepth": "fast",
"minSubscribers": 10000,
"activeWithinDays": 120
}

The lookalike score is an explainable heuristic based on public topics, the discovery query, and relative audience size. It does not claim access to private audience-overlap data. similarityReasons names the shared topics, the seed-derived search a channel came from, and how its audience compares in subscribers; similarityBreakdown gives each signal's contribution to the score, so a low score says which signal was missing rather than leaving it unexplained.

Channels YouTube generates itself โ€” the - Topic audio pages and other auto-generated entries โ€” are dropped during discovery in both search modes. They publish no owner and can never sponsor anyone, so enriching them wasted a result slot; candidateSupply.autoGeneratedSkipped reports how many were skipped.

๐Ÿ“ฆ Output schema โ€” what data do you get?

One dataset row represents one successfully processed creator. The schema stays consistent across all three workflows.

Schema groupFields
๐Ÿ“บ IdentitychannelId, channelName, channelHandle, channelUrl, avatarUrl, isVerified, description, keywords, country, joinedDate, channelLinkTitles, channelLinkUrls
๐ŸŒ Region verificationtargetRegion, channelCountryCode, regionMatch, regionMatchStatus, regionMatchSource
๐Ÿ—ฃ๏ธ Content languageprimaryContentLanguage, contentLanguages, contentLanguageConfidencePercent, contentLanguageCoveragePercent, contentLanguageSource
๐Ÿ”Ž Discovery sourcesourceMode, sourceInput, sourceQuery, sourceSeedChannel, sourceSeedChannelId, searchRank
๐Ÿ“Š AudiencesubscriberCount, totalViews, videoCount, avgRecentViews, viewRatePercent, uploadFrequencyPerMonth, latestVideoDate
๐Ÿ“ง EmailsprimaryEmail, primaryEmailRole, primaryEmailValidation, primaryEmailConfidence, primaryEmailSourceType, primaryEmailSourceUrl, emails, emailCount, emailRoles, emailValidations, emailSourceTypes, emailSourceUrls
๐Ÿ“ž Other contactsphones, phoneCount, primaryPhone, phoneSourceTypes, phoneSourceUrls, websiteUrl, websiteUrls, websiteCount, socialUrls, socialLinkCount, instagramUrl, xUrl, tiktokUrl, linkedinUrl, githubUrl, discordUrl, telegramUrl, whatsappUrl, facebookUrl, twitchUrl
๐Ÿค SponsorssponsorReadinessScore, contactPriorityScore, sponsoredVideosFound, sponsoredVideoRatePercent, sponsorBrands, sponsorshipSignals, latestSponsoredAt, sponsorEvidence, sponsorEvidenceUrls
๐Ÿ† Lead qualificationleadTier, leadStatus, recommendedContactMethod, qualificationReasons, qualificationMethod
๐Ÿงฌ LookalikessimilarityScore, similarityBreakdown, sharedTopics, similarityReasons, audienceSimilarity, similarityMethod
๐ŸŽฌ EnrichmentrecentVideosScanned, recentVideosDetailed, recentVideoIds, recentVideoTitles, videoEnrichmentStatus, pinnedCommentStatus, pinnedCommentVideoId, pinnedCommentAuthor, pinnedCommentText, pinnedCommentUrls
๐Ÿ› ๏ธ Quality statuscontactStatus, hasEmail, hasAnyContact, hasLinks, externalLinkCount, hasHiddenEmail, protectedEmailStatus, alternativeEmailSourceTypes, contactFormUrl, contactFormUrls, secondaryChannelScanStatus, secondaryChannelsScanned, archivedContactSearchStatus, archivedContactVideosScanned, contactEnrichmentStatus, contactPagesScanned, contactSourcesAttempted, contactSourceFailures, status, scrapedAt

Example output object

All values below are fictional examples.

{
"channelName": "Demo Creator",
"channelUrl": "https://www.youtube.com/@demo_creator",
"subscriberCount": 184000,
"avgRecentViews": 42600,
"targetRegion": "US",
"channelCountryCode": "US",
"regionMatchStatus": "matched",
"primaryContentLanguage": "en",
"primaryEmail": "partnerships@example.test",
"emailCount": 1,
"primaryEmailRole": "partnerships",
"primaryEmailValidation": "not_checked",
"phones": ["+12025550104"],
"phoneCount": 1,
"contactStatus": "EMAIL_AVAILABLE",
"websiteUrls": ["https://example.test/contact"],
"sponsorReadinessScore": 84,
"sponsoredVideosFound": 2,
"sponsoredVideoRatePercent": 40.0,
"sponsorBrands": ["Example Brand"],
"sponsorEvidenceUrls": ["https://www.youtube.com/watch?v=DEMO_VIDEO_ID"],
"leadTier": "A",
"recommendedContactMethod": "email",
"similarityScore": 91,
"sharedTopics": ["camera", "reviews", "technology"],
"similarityReasons": ["Shares 3 public topic(s) with the seed: camera, reviews, technology"],
"status": "success"
}

Each sponsorEvidence item has this shape:

{
"videoId": "DEMO_VIDEO_ID",
"videoTitle": "Example sponsored video",
"videoUrl": "https://www.youtube.com/watch?v=DEMO_VIDEO_ID",
"publishedAt": "2026-08-01T00:00:00+00:00",
"brands": ["Example Brand"],
"signals": ["sponsored by", "paid promotion disclosure"],
"confidence": 95,
"evidenceText": "Sponsored by Example Brand."
}

How contact fields should be read

  • primaryEmail is the highest-priority public email found, not simply the first address on a page.
  • primaryEmailRole labels likely use: partnerships, business, management, booking, creator, personal, press, support, jobs, legal, or unknown.
  • primaryEmailValidation checks the email domain/MX setup. It does not send a message and cannot guarantee that an individual mailbox accepts mail. primaryEmailValidationScope states this on every row: domain_mail_records_only when the check ran, not_checked when it did not.
  • The Creators with an email filter keeps only creators whose address sits on a domain that can receive mail. Addresses on domains with no mail records, and disposable domains, no longer satisfy the filter; they are still listed as secondary evidence when a deliverable address exists. Inconclusive checks (a DNS timeout) count as deliverable, because a timeout is not evidence against an address.
  • primaryEmailSourceUrl and phoneSourceUrls let you verify contact evidence at its public source.
  • channelLinkTitles stays aligned with channelLinkUrls, preserving the labels published on the channel.
  • websiteUrls and socialUrls separate public creator sites from social profiles; the count fields make CRM filtering easier.
  • hasHiddenEmail: true means YouTube indicates a protected business-email form exists. YouTube's logged-out response contains only โ€œSign in to see email addressโ€; the exact protected value is not present, so the Actor does not claim to reveal it or bypass login/CAPTCHA.
  • In Deep mode, protectedEmailStatus: alternative_public_email_found means the Actor found an independently public email in channel/video text, a linked secondary channel, a creator-linked site/profile, structured page data, or an older contact-oriented upload. The corresponding primaryEmailSourceUrl remains the evidence.
  • protectedEmailStatus: youtube_protected_only means all bounded public alternatives were checked but no current source-backed email was found. The Actor keeps social links, websites and contactFormUrl as alternative outreach routes.
  • Stale third-party email lists and guessed mailbox patterns are not promoted into primaryEmail.
  • Creator-owned websites found in public video descriptions can be checked when their domain matches the channel identity. Unrelated sponsor sites are not treated as creator contact sources.

How sponsor evidence works

Recent video metadata and descriptions are checked for paid-promotion disclosure and phrases such as sponsored by, paid partnership, affiliate link, use code, and #ad.

Always review the evidence URL before making a business decision: these are strong public signals, not a legal determination that a sponsorship occurred.

โš™๏ธ Input schema

The normal Input screen intentionally shows only the settings most users need. Older API integrations can still send the advanced fields listed below.

FieldTypeMeaning
scrapeTypestringchannelContacts, keywordDiscovery, or lookalikeDiscovery
channelsstring[]Channel/video sources used by channelContacts
searchQueriesstring[]Topics used by keywordDiscovery
seedChannelsstring[]Example channels used by lookalikeDiscovery
maxResultsintegerMaximum saved creators, from 1 to 5000
leadMemoryNamestringName a search so later runs skip creators it has already delivered
emailBlackliststring[]Addresses or whole domains that must never be saved as a contact
regionstringTwo-letter market used to localize YouTube discovery
regionFilterstringlocalized (ranking hint) or strict (require an exact published-country match)
contactFilterstringcontactableOnly (default), emailOnly, or allChannels
enrichmentDepthstringfast, balanced (default), or deep
minSubscribers / maxSubscribersintegerSubscriber range; 0 disables the limit
minAverageViewsintegerRequired average across analyzed recent videos
activeWithinDaysintegerRequire a recent upload within N days; 0 disables it
minSponsorReadinessScoreintegerRequired score from 0โ€“100; 0 disables it

Enrichment preset schema

PresetVideosWebsite/profile scanEmail-domain checkBest for
fast1NoNoFast qualification and broad discovery
balanced5Up to 4 linked destinations and 2 pages/siteYesMost outreach lists
deep20Up to 10 linked destinations and 6 pages/siteYesSponsorship history and hard-to-find contacts

Deep is the heavy, completeness-first mode; it has no results-per-minute target. It uses full watch-page metadata for up to 20 videos, with 9 creators processed concurrently by default, up to 90 seconds for video enrichment and 45 seconds per website phase. If a full video page is unavailable, public JSON can preserve its available description; that result remains marked partial. Source timeouts and financial guards still apply.

Deep starts creator-linked websites while loading recent videos, then uses any remaining destination slots for newly discovered creator-owned sites. A domain is crawled once per creator; link-aggregator destinations share the same limit. Activity/view filters run before website work when enabled. Each website phase has its own bounded timeout; unreachable sources remain explicitly partial. Deep reads full public video pages; lighter modes use bounded YouTube metadata responses. Shortened description links are resolved to their published targets. Language fields identify native metadata versus text inference.

Contacts & sponsorship intelligence holds the four email sources: pinnedCommentScanning, websiteScanning, socialProfileScanning and emailValidation. Each is a three-way choice โ€” Follow the selected depth, On, Off โ€” because "on" and "off" alone could not say that Fast deliberately leaves them off while Balanced and Deep turn them on. Leaving a field on Follow the selected depth is the same as not sending it at all. The original boolean names โ€“ scanWebsites, followSocialProfiles, scanPinnedComment, validateEmails โ€“ still work exactly as before from the API and from saved tasks; they are simply no longer shown in the form. If both names are sent, the new one wins unless it is set to Follow the selected depth.

Addresses to skip (emailBlacklist) removes contacts you never want to receive. Give it a full address or a bare domain, one per line; a domain also covers its subdomains, so skool.com catches support@help.skool.com as well. It exists because a creator's own links lead to the platforms they use, and those platforms publish a help desk: without it a community or merch link can turn into help@skool.com sitting in your export as that creator's contact. The Actor already skips the common ones โ€” merch shops, tip jars, course and community platforms, site builders and developer tooling โ€” and this field covers the rest, including addresses that are real but useless to you. Under emailOnly, a creator whose only address you skipped is rejected rather than saved with an empty contact, so a blacklisted address never costs you a blank row.

One contact, one row. A creator who runs several channels, and an agency that represents a roster of them, publish the same address on each. Delivering that address twice means writing to the same person twice, so a row whose contact has already been delivered counts as a duplicate and is neither saved nor charged for. This holds within a run and across runs that share a lead memory name.

When the queries run out, the run writes its own. A YouTube search stops at roughly 500 creators per axis, and the Actor reads three axes of every query you give it โ€” relevance, view count, and the creators behind matching videos. A selective filter set can spend all of that and still be short: sixty queries yielded 16,890 creators and 786 leads on one measured run. Rather than asking you to write more queries, the run then builds them itself from the channel keywords of the creators it has already kept โ€” the source's own words for the niche you are actually after โ€” and reads those the same three ways. candidateSupply.queriesWritten reports how many it wrote. When even that stops returning creators it has not already examined, the run says so plainly instead of naming an internal limit.

Continuing a search across runs. Give the search a name in Lead memory name and reuse that name on every run that belongs to it. The Actor remembers which creators it has already delivered under that name and skips them before fetching anything, so adding keywords later costs nothing for creators you already own; carriedOverLeads reports how many were carried over and duplicates how many were skipped. Resurrecting an old run does not do this: a resurrected run repeats its own original input and ignores later edits to the task, so new keywords never reach it. Start an ordinary run with the new keywords and the same memory name instead. A continuation also receives a small starting allowance drawn from the leads already delivered under that name, so it can reach its first new lead rather than stopping on the bare opening budget.

The rest of that section โ€” recentVideosToScan, maxExternalLinks, maxWebsitePages โ€” plus maxChannelsPerQuery, maxConcurrency, requestsPerMinute, maxRetries, requestTimeoutSecs and proxyConfiguration are ordinary fields you can leave empty to follow the depth preset. lookalikeQueriesPerSeed, videoEnrichmentTimeoutSecs and websiteScanTimeoutSecs stay API-only.

Supported regions: ๐Ÿ‡บ๐Ÿ‡ธ US ยท ๐Ÿ‡ฌ๐Ÿ‡ง GB ยท ๐Ÿ‡จ๐Ÿ‡ฆ CA ยท ๐Ÿ‡ฆ๐Ÿ‡บ AU ยท ๐Ÿ‡ฉ๐Ÿ‡ช DE ยท ๐Ÿ‡ซ๐Ÿ‡ท FR ยท ๐Ÿ‡ช๐Ÿ‡ธ ES ยท ๐Ÿ‡ฎ๐Ÿ‡น IT ยท ๐Ÿ‡ณ๐Ÿ‡ฑ NL ยท ๐Ÿ‡ต๐Ÿ‡ฑ PL ยท ๐Ÿ‡ง๐Ÿ‡ท BR ยท ๐Ÿ‡ฒ๐Ÿ‡ฝ MX ยท ๐Ÿ‡ฆ๐Ÿ‡ท AR ยท ๐Ÿ‡ฎ๐Ÿ‡ณ IN ยท ๐Ÿ‡ฎ๐Ÿ‡ฉ ID ยท ๐Ÿ‡ฏ๐Ÿ‡ต JP ยท ๐Ÿ‡ฐ๐Ÿ‡ท KR ยท ๐Ÿ‡น๐Ÿ‡ผ TW ยท ๐Ÿ‡ต๐Ÿ‡ญ PH ยท ๐Ÿ‡น๐Ÿ‡ญ TH ยท ๐Ÿ‡ป๐Ÿ‡ณ VN ยท ๐Ÿ‡น๐Ÿ‡ท TR ยท ๐Ÿ‡บ๐Ÿ‡ฆ UA ยท ๐Ÿ‡จ๐Ÿ‡ฟ CZ ยท ๐Ÿ‡ธ๐Ÿ‡ช SE ยท ๐Ÿ‡ณ๐Ÿ‡ด NO ยท ๐Ÿ‡ฉ๐Ÿ‡ฐ DK ยท ๐Ÿ‡ซ๐Ÿ‡ฎ FI ยท ๐Ÿ‡ฟ๐Ÿ‡ฆ ZA ยท ๐Ÿ‡ฆ๐Ÿ‡ช AE

YouTube's gl market setting localizes search but is not an exact creator-location filter. Use Strict country match when exact geography matters. The Actor uses only the country a creator publicly publishes on YouTube; it never guesses a hidden location. Content-language fields use YouTube metadata when available and otherwise a local recent-title/description heuristic; contentLanguageSource and coverage show which method produced the result.

๐Ÿ”Œ API example

Replace YOUR_APIFY_TOKEN with a secret stored outside your source code.

curl -X POST "https://api.apify.com/v2/acts/trakk~youtube-channel-email-sponsor-leads/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"scrapeType": "keywordDiscovery",
"searchQueries": ["home fitness creators"],
"maxResults": 20,
"contactFilter": "emailOnly",
"enrichmentDepth": "balanced"
}'

For recurring lead lists, save the input as an Apify Task, then use Schedules to run it daily or weekly. Use Webhooks or an integration to send completed datasets to another system.

๐Ÿ’ณ Pricing

This Actor uses Pay per event pricing:

  • A tiny Actor-start event is charged when a run starts.
  • The primary charge applies only to a successfully saved creator row.
  • The current public tier is $5 per 1,000 saved creators, with lower per-result prices on higher Apify tiers (down to $4 per 1,000). The Pricing tab is the source of truth for your account.
  • Filters can reduce saved rows. A source that fails or a creator that is filtered out is not pushed as a successful creator result.

Start with 10โ€“20 results and Fast or Balanced depth to measure contact coverage before ordering a larger list.

๐Ÿ›Ÿ Troubleshooting and data notes

The run summary says invalid_input

This is intentional and does not count as a crash. Open Run summary and read the exact message. Usually the selected workflow has no usable source value, or a channel URL/handle is malformed.

Fewer rows were saved than maxResults

maxResults is a cap, not a guarantee, but the Actor works at it instead of stopping at the first pass. Filters are applied after enrichment, so rejected creators are replaced with fresh candidates, bounded by a replacement-round allowance that scales with maxResults and by a candidate ceiling on top of whatever the first discovery pass found.

When a search runs out, the Actor changes how it searches rather than stopping. A YouTube search returns roughly five hundred creators for a query and then ends, however deep you page. The same query sorted by view count is a different set, and searching for the creators' videos and taking their owners is a different set again โ€” measured on two niches, the video route returned 92% and 93% more unique creators, nearly all of them absent from the channel results entirely. The Actor reads a query along relevance first, then view count, then video owners, moving on only when the previous one is spent. On one customer's unchanged 30-query input this raised delivery from 528 leads to 786. Beyond that the limit is the source: when every axis of every query is read out, more queries are the only way further, and you can now give up to 200. That ceiling is not fixed: it follows the keep rate the run is actually seeing, because a selective filter set needs far more candidates per delivered lead than a generous one. candidateSupply reports how many replacements were pulled, how many rounds ran and were allowed, how many searches still hold unread pages, and whether the source itself was exhausted โ€” so a run that falls short tells you which of those actually stopped it.

filterBreakdown names the filter behind every rejection โ€” minSubscribers, maxSubscribers, minAverageViews, activeWithinDays, minSponsorReadinessScore, regionFilter, noEmailFound, emailDomainUndeliverable, noContactFound โ€” and the warnings name the one that removed the most creators together with the setting to change. Asking for creators with an email while scanWebsites and followSocialProfiles are both off is the most common cause of a low save rate: YouTube hides the address behind a protected button, so the linked website and link-in-bio pages are where it is usually found.

Duplicates, inaccessible channels, discovery supply, contactFilter, subscriber/view/activity filters, and Sponsor Readiness filters can still reduce the final count when the source genuinely runs out of matching channels. The run summary separates discovered, processed, filtered, duplicate, and failed counts.

The Actor also stops when the spending limit or an internal resource bound is reached. Deep has a separate allowance for larger full video pages: 32 MiB initially plus 8 MiB per saved creator (up to 1 GiB per run); this does not raise the monetary or residential limits. Repeated bot-challenge pages are skipped after the first full-source attempt and public metadata remains available through the bounded JSON fallback. Restrictive email-only searches can require inspecting many creators to find a few matching leads. resourceBudget.stopReason explains a resource stop, and completed rows remain available. Reduce enrichment depth or broaden the filters when this happens.

Email-domain checks are bounded to 50 extracted addresses per creator and 2,000 domains per run. Additional public addresses remain in the results with not_checked validation; domain validation is not a mailbox-deliverability guarantee.

querySummaries reports collected candidates, pagination limits, per-query outcomes, and the run's stop reason. A failed later search page does not discard candidates collected from earlier pages. Language estimates use a bounded text sample; uncertain short text remains unknown.

The run summary says PARTIAL

PARTIAL means at least one optional enrichment reported less than a full result, not that the saved rows are wrong. enrichmentQuality in the run summary splits it into video, contact and pinned-comment shortfalls. A video whose primary source was refused and then collected through the fallback route is complete: it is counted in videoSourceFallbacks, and videoEnrichmentStatus stays completed, so partial now means videos are actually missing.

Some fields are empty

The Actor returns only data publicly exposed by YouTube or by pages the channel links to. Not every creator publishes an email, phone, country, website, sponsor disclosure, or complete statistics. Empty values are returned as null or an empty array instead of invented data.

Why did a website scan stop early?

The Actor checks the remaining result-charge allowance before discovery, bounds unsuccessful work and residential traffic, and stops when its resource guard is reached. A resource stop can return fewer than maxResults; see OUTPUT.resourceBudget.stopReason. MX validation checks at most 50 unique email addresses per creator and 2,000 domains per run while retaining other extracted addresses as not_checked.

Every enrichment depth uses bounded time budgets so one slow site cannot stall the whole run. Check contactEnrichmentStatus, videoEnrichmentStatus, secondaryChannelScanStatus, archivedContactSearchStatus, contactPagesScanned, contactSourcesAttempted, and contactSourceFailures. Use Deep if the extra completeness is worth the additional runtime.

Is this an official YouTube product?

No. This is an independent data-extraction tool and is not affiliated with or endorsed by YouTube. Use public contact data responsibly and follow applicable privacy, marketing, and platform rules.

โœ… What happens after every run?

The terminal status stays short and readable. The final Run summary reports:

  • requested, discovered, processed, saved, filtered, duplicate, and failed counts;
  • creators with any contact, an email, or sponsor signals;
  • contact and email coverage percentages;
  • selected workflow, enrichment depth, region, duration, warnings, and next steps.

If this Actor saves you research time, a โญ Store review helps other teams find it and tells me what to improve next.

Tags: youtube scraper ยท youtube email finder ยท creator leads ยท influencer marketing ยท sponsor intelligence ยท lookalike creators ยท lead generation