YouTube Channel & Contact Scraper avatar

YouTube Channel & Contact Scraper

Pricing

from $10.00 / 1,000 results

Go to Apify Store
YouTube Channel & Contact Scraper

YouTube Channel & Contact Scraper

Scrapes YouTube channels for public metadata and contact details (emails in description, social links, website).

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Jason Giang

Jason Giang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Apify actor that scrapes a YouTube channel's public About page and returns:

  • Channel metadata (handle, channel ID, country, join date, subscriber/view/video counts, avatar, banner, RSS feed)
  • All public links the creator has listed (auto-classified by platform: twitter, instagram, tiktok, website, etc.)
  • Email addresses found in the description and link list
  • A best-effort guess at whether the channel is managed by an MCN, talent agency, or network, with confidence level and the signal that triggered the match

No YouTube Data API key required. Scrapes the public /@handle/about page and parses YouTube's embedded ytInitialData JSON.


Input

FieldTypeRequiredDefaultDescription
channelsstring[]yesChannel URLs, @handles, custom names, or channel IDs (UC…). All forms are accepted; see examples below.
proxyConfigurationobjectno{ useApifyProxy: true }Apify proxy config. Recommended for non-trivial volumes.
maxConcurrencyintegerno5Number of channels fetched in parallel (1–50).

Accepted channel formats:

{
"channels": [
"@MrBeast",
"https://youtube.com/@LinusTechTips",
"UCX6OQ3DkcsbYNE6H8uQQuVA",
"veritasium"
]
}

Output

One record per input channel pushed to the default dataset. Failed inputs produce { input, error, scrapedAt } records so nothing is silently dropped.

Sample successful record

{
"sourceUrl": "https://www.youtube.com/@LinusTechTips/about",
"channelId": "UCXuqSBlHAE6Xw-yeJA0Tunw",
"handle": "@LinusTechTips",
"title": "Linus Tech Tips",
"description": "Tech can be complicated; we try to make it easy. …",
"canonicalUrl": "http://www.youtube.com/@LinusTechTips",
"country": "Canada",
"joinedDate": "Joined Nov 24, 2008",
"subscriberCount": "16.6M subscribers",
"videoCount": "6,729 videos",
"viewCount": "7,438,210,001 views",
"keywords": "linus tech tips ltt …",
"avatarUrl": "https://yt3.googleusercontent.com/…",
"bannerUrl": "https://yt3.googleusercontent.com/…",
"rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw",
"links": [
{ "title": "LTT Store", "url": "https://www.lttstore.com/" },
{ "title": "Floatplane", "url": "https://www.floatplane.com/" },
{ "title": "Twitter", "url": "https://twitter.com/linustech" }
],
"socials": {
"website": ["https://www.lttstore.com/", "https://www.floatplane.com/"],
"twitter": ["https://twitter.com/linustech"],
"facebook": ["https://www.facebook.com/LinusTech"],
"instagram": ["https://www.instagram.com/linustech"],
"tiktok": ["https://www.tiktok.com/@linustech"]
},
"emails": ["partnerships@linusmediagroup.com"],
"network": {
"name": "Linus Media Group",
"confidence": "high",
"signals": [
{ "type": "email_domain", "evidence": "partnerships@linusmediagroup.com" },
{ "type": "link_hostname", "evidence": "https://www.linusmediagroup.com/" }
]
},
"otherNetworkMatches": [],
"likelyAgencyManaged": true,
"agencyEmailDomain": "linusmediagroup.com",
"scrapedAt": "2026-05-08T16:28:24.189Z"
}

Output field reference

FieldTypeNotes
sourceUrlstringThe /about URL fetched.
channelIdstringYouTube channel ID (UC…).
handlestring@handle.
titlestringChannel display name.
descriptionstringFull description text.
canonicalUrlstringYouTube's canonical channel URL.
countrystringReported country.
joinedDatestringJoin date as displayed.
subscriberCount / videoCount / viewCountstringDisplay strings (e.g. "16.6M subscribers"); not parsed to numbers.
keywordsstringChannel keywords.
avatarUrl / bannerUrlstringLargest available image URL.
rssUrlstringYouTube's RSS feed for the channel.
links{ title, url }[]All channel links, with YouTube redirect wrappers unwrapped to the real destination.
socialsobjectLinks grouped by platform (twitter, instagram, tiktok, facebook, youtube, twitch, discord, patreon, website, …).
emailsstring[]Emails found in description + link titles/URLs. Common false-positive domains (*.youtube.com, *.googleusercontent.com, …) are filtered out.
networkobject | nullDetected MCN/agency, see below.
otherNetworkMatchesstring[]Other networks that also matched (rare).
likelyAgencyManagedbooleanTrue if a non-personal email domain is exposed and it doesn't match the channel's own brand.
agencyEmailDomainstring | nullThe email domain that triggered the heuristic.

Limitations

  • Recall is bounded by what creators publish. A channel managed by Spotter/Jellysmack/Night Media that only links its personal Twitter+Instagram will show as unmanaged — there's no way to detect the relationship from public channel data alone.
  • The gated business email is unreachable. YouTube hides the channel's "view email address" behind a CAPTCHA. Emails surfaced by this actor come from the description and link metadata only.
  • description_phrase matches are intentionally rare. A bare mention like "I love Spotter's videos" won't match — the description must also contain a management phrase.
  • Network domains drift. When you find a hit that exposes a new domain (e.g. an agency rebrands), append it to the existing entry's domains array.