YouTube Channel Finder With Contact Info Extraction
Pricing
$19.99/month + usage
YouTube Channel Finder With Contact Info Extraction
YouTube Channel Finder quickly discovers relevant YouTube channels based on keywords, niches, or topics. It scans search results, filters by metrics like subscribers and views, and returns structured data for research, outreach, or competitive analysis. Ideal for creators, marketers, and analysts.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
API Empire
Maintained by CommunityActor stats
1
Bookmarked
25
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
YouTube Channel Finder — Extract Channels, Emails and Links as JSON
YouTube Channel Finder With Contact Info Extraction discovers YouTube channels by keyword or direct URL and returns each channel's profile stats, plain-text contact emails from the channel description, and every external link sorted by platform (Instagram, TikTok, X/Twitter, Facebook, LinkedIn, Discord, website). Every response is typed, normalized JSON — no HTML, no selectors, no parsing before you filter, dedupe, or load results into a CRM. After reading this page you'll know exactly which fields to expect and how to keep only channels with a real, usable contact signal.
What is YouTube Channel Finder With Contact Info Extraction?
YouTube Channel Finder With Contact Info Extraction is an Apify Actor that searches YouTube by keyword and/or accepts direct channel or video URLs, then fetches each channel's public /about page to build one contact-enriched row per channel. It runs fully anonymously — no YouTube login, Google account, or YouTube Data API key is required. It regex-extracts real emails from the channel's own description text and never fabricates YouTube's gated "Business email" button, which is not present anywhere in the public page.
- Discover channels by niche keyword, with a configurable number of channels per keyword
- Accept direct channel/video URLs to skip search entirely
- Extract
contactEmails— real, plain-text emails found in the description - Categorize every external link into
socialLinksby platform (Instagram, TikTok, X/Twitter, Facebook, LinkedIn, Discord, website) - Filter to only channels with a usable contact signal via
requireContactSignal - Export results as JSON, CSV, or any format the Apify dataset supports
What data does YouTube Channel Finder With Contact Info Extraction collect?
Each run returns three layers of data per channel: base profile/stats, contact emails, and categorized social links.
| Data Type | Key Fields | JSON Field Names |
|---|---|---|
| Channel profile & stats | name, handle, subscribers, views, videos, join date, country | channelName, userName, channelId, subscriberCount, channel_views, videos_uploaded, joined_date, location |
| Contact emails | real emails found in the description text | contactEmails |
| Social & website links | links grouped by platform, plus a contactable flag | socialLinks, links, hasContactSignal |
Need more YouTube data?
If you also need comment-level engagement or video content, this account publishes other YouTube Actors worth pairing with this one. YouTube Comments Scraper: Comment Analytics & Keyword Search pulls comments and per-video engagement rollups from videos, channels, or playlists. YouTube Transcript Scraper With AI Insights fetches video transcripts and can distill them into AI-generated summaries and topic tags. Combine either with the channel/contact data here for a fuller picture of a creator's audience and content.
How does YouTube Channel Finder With Contact Info Extraction differ from the official YouTube API?
The YouTube Data API v3 is Google's official public API for channel and video metadata; it does not expose a public contact-email field, and every request is metered against a Google Cloud project's daily query quota. YouTube Channel Finder With Contact Info Extraction reads the same public /about page a browser sees and extracts what's actually written there, with no Google-side quota to manage.
| Feature | YouTube Data API v3 | This Actor |
|---|---|---|
| Contact/business email field | Not exposed publicly — a channel's "Business email" is only visible to the channel owner in YouTube Studio | Extracts real, plain-text emails the creator wrote into the public description |
| Setup | Requires a Google Cloud project and an API key or OAuth credentials | No account, key, or credentials — run directly |
| Access limits | Requests are metered against a daily query quota managed in Google Cloud Console | Bounded only by channelCount and the keywords/URLs you supply |
| Social link categorization | Not provided — the API returns raw channel metadata only | Returns links pre-sorted into instagram, tiktok, twitter, facebook, linkedin, discord, website |
| Discovery input | Keyword search and channel lookups are separate endpoints | Accepts keywords and direct URLs together in one run |
| Output shape | Requires you to map the API's nested response schema yourself | Flat, typed JSON row per channel, ready to filter or load |
The official API is the right choice when you need Google-verified numeric metadata under Google's own terms and already maintain a Cloud project. This Actor is the fit when you need contact and social-link enrichment across many channels without quota management or API glue code.
Why do developers and teams scrape YouTube?
For influencer marketing and brand partnership teams
Brand and agency teams use this Actor to build a shortlist of creators in a niche and immediately see which ones are contactable. Instead of manually opening dozens of "About" pages, a single run with a niche keyword and requireContactSignal enabled returns only channels with a real contactEmails entry or a categorized social link. Pairing subscriberCount with socialLinks lets a partnerships team prioritize creators who also run an active Instagram or TikTok, then route the list straight into outreach tooling instead of a spreadsheet built by hand.
For sales and lead-generation teams
Sales teams selling into the creator economy use keywords plus channelCount to generate a volume list of prospects per niche, then filter with requireContactSignal to drop channels with nothing to contact. Because contactEmails and socialLinks are structured fields rather than free text, the output loads directly into a CRM or a cold-outreach sequencer without a manual extraction pass. channelId and canonicalChannelUrl give a stable key for deduping the same channel across repeated runs, and fromDate/toDate let a team target only recently joined or long-established channels within a niche before a single email is sent.
For researchers and market analysts
Researchers use direct URLs or niche keywords to map how many channels in a category maintain a public website, Instagram, or Discord alongside their YouTube presence, using only publicly visible /about page data. Combining location, joined_date, and subscriberCount across a batch of channels supports questions like how a niche's creator base has grown over time or which regions dominate a topic — all from data the channel owner has already chosen to publish. Because every row also carries channel_views and videos_uploaded, a batch of channels can be compared on output volume and reach without opening a single page by hand.
For developers building lead-gen and CRM data pipelines
Developers wire this Actor into a pipeline that runs on a schedule, pushes new rows to a database or CRM via the dataset API, and re-runs requireContactSignal filtering downstream. Because every row is typed JSON with stable field names (contactEmails, socialLinks, hasContactSignal), there's no HTML or selector logic to maintain in the pipeline itself — only the mapping from these fields to your own schema. A lead-gen product built on top can re-key results by channelId, merge new runs into an existing dataset, and expose hasContactSignal as a ready-made filter for end users.
How to scrape YouTube (step by step)
- Open YouTube Channel Finder With Contact Info Extraction on its Apify Store page and go to the Input tab.
- Add one or more entries to
keywords(e.g. "cooking tutorials") and/or paste channel or video URLs intourls. - Set
channelCount(1-200 per keyword) and optionally turn onrequireContactSignalto keep only channels with a real email or social link. - Click Start — rows stream into the dataset live as each channel is processed.
- Download the results as JSON or CSV from the Dataset tab, or pull them via the Apify API.
What to do when YouTube changes its structure
This Actor is maintained, and its output schema is kept stable — field names and types don't change on your end even when YouTube's page markup does. No specific turnaround time is promised for any given fix.
⬇️ Input
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
keywords | No | array | Search terms to discover YouTube channels. One keyword per line. | ["cooking tutorials", "tech reviews"] |
urls | No | array | Direct channel or video URLs to extract contact data from, skipping search. | ["https://www.youtube.com/@apify"] |
channelCount | No | integer | Max channels to extract per search keyword. Default 10, range 1-200. | 15 |
searchRegion | No | string (enum) | YouTube search region/country code. Default US. | "US" |
language | No | string (enum) | Interface and result language code. Default en. | "en" |
fromDate | No | string | Only include channels that joined on or after this date (YYYY-MM-DD). | "2020-01-01" |
toDate | No | string | Only include channels that joined on or before this date (YYYY-MM-DD). | "2024-12-31" |
requireContactSignal | No | boolean | Keep only channels with an email or a categorized social/website link. Default false. | true |
proxyConfiguration | No | object | Optional Apify Proxy configuration. Runs with no proxy by default. | {"useApifyProxy": false} |
No parameter is required — leave both keywords and urls empty and the run simply produces no rows, so at least one of the two must be filled in.
Example JSON input:
{"keywords": ["cooking tutorials", "tech reviews"],"urls": ["https://www.youtube.com/@apify"],"channelCount": 15,"searchRegion": "US","language": "en","fromDate": "2020-01-01","toDate": "2024-12-31","requireContactSignal": true,"proxyConfiguration": { "useApifyProxy": false }}
The most common input mistake is expecting contactEmails to always be filled: it only contains an address when a creator has actually typed one into their description, so most channels will legitimately return an empty array — use requireContactSignal to filter those out automatically instead of treating an empty result as a bug.
⬆️ Output
Every run pushes one flat, typed JSON row per channel to the dataset (export as JSON, CSV, or any other format the Apify dataset supports). Each row bundles the channel's base profile and stats together with its contact emails and categorized social links in a single object — there is no separate lookup step.
Scraped Channel
{"keyword": "python tutorials","channelName": "Example Dev Channel","userName": "@exampledevchannel","channelId": "UCxxxxxxxxxxxxxxxxxxxxxx","canonicalChannelUrl": "https://www.youtube.com/@exampledevchannel","subscriberCount": "128K subscribers","description": "Python and data science tutorials. For collaborations: partnership@example-dev.biz","contactEmails": ["partnership@example-dev.biz"],"socialLinks": {"website": [{ "title": "My site", "url": "https://example-dev.com" }],"twitter": [{ "title": "Twitter", "url": "https://twitter.com/exampledevchannel" }],"instagram": [],"facebook": [],"tiktok": [],"discord": [],"linkedin": [],"other": []},"hasContactSignal": true,"location": "United States","links": [{ "title": "My site", "url": "https://example-dev.com" },{ "title": "Twitter", "url": "https://twitter.com/exampledevchannel" }],"joined_date": "Joined Mar 5, 2018","channel_views": 15200000,"videos_uploaded": 342,"url": "https://www.youtube.com/@exampledevchannel","error": null,"scrapedAt": "2026-07-11T12:00:00+00:00"}
How many results can you scrape with YouTube Channel Finder With Contact Info Extraction?
Each keyword returns up to channelCount channels, capped at 200 per keyword — the Actor makes one serial HTTP fetch per channel's /about page, so this range is what the engine can realistically deliver in a single run rather than an arbitrary cutoff. There is no separate global cap: total channels from keywords add up as channelCount × number of keywords, and every direct URL in urls is processed 1:1 in addition to that. requireContactSignal reduces the number of rows actually saved (channels without a usable contact signal are skipped), so set channelCount a bit higher than your target row count when that filter is on. There is no pagination to configure — results stream into the dataset live as each channel finishes processing.
Integrate YouTube Channel Finder With Contact Info Extraction and automate your workflow
YouTube Channel Finder With Contact Info Extraction works with any language or tool that can send an HTTP request, through the standard Apify API.
REST API integration
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("API-Empire/youtube-channel-finder-with-contact-info-extraction").call(run_input={"keywords": ["cooking tutorials"],"channelCount": 15,"requireContactSignal": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["channelName"], item["contactEmails"])
Works in Python, Node.js, Go, Ruby, cURL — any client that can call the Apify API with your token.
Automation platforms (n8n, Make)
In n8n, the Apify node's "Run Actor" operation (with "Get Dataset Items" chained after it) can trigger this Actor and pull the resulting rows straight into a workflow — no custom HTTP node required. In Make, the Apify app's "Run an Actor" module does the same, letting you feed keywords or urls from an earlier module and route contactEmails/socialLinks into a CRM or spreadsheet module downstream.
Is it legal to scrape YouTube?
Yes. YouTube Channel Finder With Contact Info Extraction only collects data that is already publicly visible on a channel's own /about page — no login, no bypassing of any access control, and no data from private or restricted channels. Because a channel's contact email and social links are personal data when they identify or can be linked to an individual, GDPR and CCPA (and equivalent regulations in your jurisdiction) govern how you may store, process, and use them — you need a lawful basis for outreach or storage, and recipients generally retain a right to object or request deletion. Consult legal counsel for commercial use cases involving bulk personal data.
Frequently asked questions
Does YouTube Channel Finder With Contact Info Extraction work without a YouTube account?
Yes. The Actor runs fully anonymously — no Google account, cookie, login, or YouTube Data API key is used or required at any point.
How often is the scraped data updated?
Every run performs a live fetch of each channel's public /about page at the moment it runs — nothing is served from a cache, so scrapedAt reflects the actual fetch time.
What happens if a channel's page can't be resolved, or a keyword returns no channels?
The row is still pushed, but with error set to a message such as "about page not resolvable" or "No channels found" instead of the run failing — check the error field rather than assuming every row succeeded.
Can I scrape private or restricted YouTube channels?
No. Only the public /about page is read. Channels with no public presence, or content gated behind a login, are outside what this Actor can access.
Does YouTube Channel Finder With Contact Info Extraction work for AI agent workflows and LLM pipelines?
Yes. It's callable as a standard HTTP endpoint by any agent framework via the Apify API, and every response is typed JSON with stable field names — no HTML or parsing step is needed before passing results to an LLM.
How does it handle YouTube's anti-bot measures?
Failed requests retry up to three times with a jittered exponential backoff. If a response looks like a block (403, 429, CAPTCHA, or similar), the Actor automatically switches to Apify's Residential proxy for the rest of the run — this escalation happens on a detected block even if you started the run with no proxy configured.
Does YouTube Channel Finder With Contact Info Extraction return data in a format LLMs can use directly?
Yes. Output is typed, normalized JSON with stable keys like contactEmails and socialLinks — pass it directly into an LLM context window, a vector store, or an agent tool without a parsing step.
Can I use this Actor without managing proxies?
Yes. By default it runs with no proxy at all, and if it detects a block partway through a run, it switches to Apify's Residential proxy automatically. You can also optionally enable Apify Proxy up front via proxyConfiguration.
Why is contactEmails sometimes empty?
Most channels simply don't put an email address in their public description — that's reported honestly as an empty array rather than guessed or padded. Turn on requireContactSignal to automatically skip channels with no email and no social link.
What's the difference between socialLinks and links?
links is the flat, uncategorized list of every external link on the channel's about page. socialLinks is the same links re-organized into named buckets by platform (instagram, twitter, tiktok, facebook, linkedin, discord, website, other) so you can filter or read them at a glance.
What happens when YouTube changes its structure or blocks the scraper?
The Actor is maintained, and its output schema stays stable — field names and types don't change on your end. No specific numeric turnaround time is promised for any given fix.
Your feedback
Found a bug or missing a field? We want to know. Use the Issues tab on this Actor's Apify Store page, or reach out through Apify Console — reports like these are how the extraction logic and field coverage keep improving.