YouTube Channel Finder avatar

YouTube Channel Finder

Pricing

from $5.99 / 1,000 results

Go to Apify Store
YouTube Channel Finder

YouTube Channel Finder

YouTube Channel Finder discovers relevant YouTube channels based on keywords, topics, niches, or search criteria. Extract channel details, subscriber counts, descriptions, social links, and URLs. Ideal for influencer research, competitor analysis, outreach, and market discovery.

Pricing

from $5.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeVanta

ScrapeVanta

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

3 days ago

Last modified

Share

Youtube Channel Finder — Find YouTube Accounts, Ranked

Search YouTube by keyword and get a shortlist in a defensible order — every candidate with the reason it ranks where it does, rather than a pile of rows.


What it does

1. Every address is verified before you see it

The originals returned whatever a regex matched. Two of them ran this over the bio first:

re.sub(r"\s*\bat\b\s*", "@", text)

which turns “based at home in London” into based@home.in.in is a real TLD, so the invented address passed every check downstream. This rebuild reads obfuscated addresses (name (at) domain (dot) com) with a scanner that requires the dots to be spelled or bracketed too, and then checks what it found:

CheckWhat it answers
SyntaxIs this an address, or a fragment like logo@2x.png?
MX recordsDoes the domain publish mail servers and accept mail at all?
Role mailboxinfo@, sales@, support@ — a desk rather than a person
Free providerGmail, Outlook, Yahoo and several hundred others
Throwaway inboxKnown disposable providers, plus the public blocklist
DepartmentWhich team the address reaches — sales, press, executive, …
ConfidenceA 0–100 score combining all of the above

One DNS lookup per domain, cached for the run. J.Smith@Gmail.com and jsmith@gmail.com are one inbox and are counted once.

2. The rest of the contact detail in the bio

A bio routinely carries more than an address, and the originals returned none of it:

  • phoneNumbers — validated against the country's numbering plan (libphonenumber), so a price, a follower count and an SKU are not returned as phone numbers
  • messagingLinks — WhatsApp numbers and Telegram handles written into the text
  • mentionedHandles — other accounts named in the bio, minus the account's own handle
  • contactChannels / isContactable — how many ways there are to reach this account

3. The audience, measured the same way on every platform

YouTube publishes its follower count as display text such as 1.2M subscribers. This returns:

FieldMeaning
followerCountAlways a number, whatever shape the page used
audienceTiermega ≥1M, macro ≥500K, mid ≥100K, micro ≥10K, nano ≥1K
engagementRatePercentAverage likes per post as a share of the audience — only where the platform publishes all three numbers, otherwise null rather than a figure invented from two
leadScore / leadTier0–100: contactability first, then audience size, then the verified badge

4. The same account is returned once

The originals pushed — and billed — a profile again for every keyword that found it. This de-duplicates on the account and reports the other keywords under alsoFoundForKeywords.

5. A shortlist you can argue with

A finder's job is candidates in a defensible order. A discoveryRanking record lists them with whyItRanks on every entry — “2 addresses published”, “phone number in the bio”, “mega audience”, “verified account”, or “no contact detail published”. Every reason is a field on the record it came from, so the order can be checked rather than taken on trust.


Input

The original fields are unchanged. These are added:

FieldTypeDefaultWhat it does
verifyEmailsbooleantrueRun the checks above (one DNS lookup per domain)
minimumLeadScoreinteger0Drop accounts scoring below this
onlyContactableProfilesbooleanfalseDrop accounts publishing no address, phone or messaging link
useDisposableBlocklistbooleantrueLoad the public throwaway-domain list
includeSourceFieldsbooleantrueKeep the platform's own fields under sourceFields

Output

{
"recordType": "profile",
"platform": "YouTube",
"searchKeyword": "fitness coach",
"profileUrl": "https://youtube.com/@acmefit",
"profileHandle": "acmefit",
"profileName": "Acme Fitness",
"biography": "Coaching in London. Email hello (at) acmefit (dot) com",
"followerCount": 125000,
"audienceTier": "mid",
"engagementRatePercent": 4.0,
"isVerified": true,
"emailAddresses": [
{
"email": "hello@acmefit.com",
"emailDomain": "acmefit.com",
"emailCategory": "role",
"confidence": 85,
"hasMxRecord": true,
"isRoleAccount": true,
"isFreeProvider": false,
"mailboxDepartment": "general",
"reachesAPerson": false
}
],
"primaryEmail": "hello@acmefit.com",
"emailCount": 1,
"phoneNumbers": ["+442079460958"],
"messagingLinks": [{"channel": "WhatsApp", "value": "+442079460959"}],
"mentionedHandles": ["acmeagency"],
"contactChannels": 4,
"isContactable": true,
"leadScore": 70,
"leadTier": "strong",
"alsoFoundForKeywords": ["personal trainer"]
}

A final summary record carries the run totals: accounts returned, how many were contactable, duplicates removed, addresses found and MX-verified, combined and median audience, the tier and department breakdowns, and the yield per keyword.


Good to know

  • YouTube publishes the channel description, the subscriber and video counts and any links in the About section. Business addresses behind the "View email address" button are behind a captcha and are not returned; what is returned is what the About text itself carries.
  • This reads public YouTube pages. It does not sign in and cannot see anything private. Only detail an account has chosen to publish is returned.
  • Nothing is guessed. No address is generated from a name or a domain pattern; every one appears on the page.
  • Verification is a DNS check, not a mailbox check. hasMxRecord says the domain accepts mail. It cannot say a specific inbox exists.
  • A search page that comes back empty is retried before it counts. Measured against the GOOGLE_SERP proxy, roughly one fetch in ten returns a page carrying no results at all. A site: query usually has only one productive page and the search stops after three empty ones, so a single refused first page used to end a whole run with nothing.
  • Coverage depends on what is indexed. Accounts that do not appear in a public search result for your keywords will not be found.
  • engagementRatePercent is null unless the platform publishes likes, post count and followers together. A rate derived from two of the three would be a made-up number.
  • Contact people lawfully. Under GDPR, CAN-SPAM and similar rules you need a lawful basis for unsolicited contact, and the fact that an address is public is not on its own that basis.