πŸ” YouTube Channel Finder avatar

πŸ” YouTube Channel Finder

Pricing

$15.99/month + usage

Go to Apify Store
πŸ” YouTube Channel Finder

πŸ” YouTube Channel Finder

YouTube Creator Analytics helps discover YouTube channels based on keywords, topics, or niches. It extracts channel details like name, URL, subscriber count, and description. Perfect for influencer outreach, market research, or tracking niche creators to support targeted marketing strategies.

Pricing

$15.99/month + usage

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

1

Bookmarked

93

Total users

4

Monthly active users

7 hours ago

Last modified

Share

YouTube Channel Finder β€” Subscribers, Engagement and Growth Data

Discovers YouTube channels by search keyword or direct URL and returns each one as structured JSON with subscriber count, lifetime views, join date, contact email, and a computed analytics block β€” engagement rate, growth momentum, upload cadence, upload consistency, activity status, niche, and a contactability score. Every metric traces back to a real scraped value, not an estimate. Configure a run below or open the Input tab to get started.

What is YouTube Channel Finder With Creator Analytics?

YouTube Channel Finder With Creator Analytics is a channel discovery and analytics Actor: give it search keywords, channel URLs, or both, and it returns one structured JSON record per channel β€” identity fields, a contact email if one is published, and an analytics block computed from a fresh sample of each channel's recent uploads. No YouTube account, Google login, or API key is required to run it. It's built for growth marketers sourcing creators for sponsorships, lead-generation agencies building outreach lists, and analysts or AI agents that need typed channel performance data without parsing HTML themselves.

What YouTube channel data is publicly available to scrape?

A channel's About page, videos tab, and individual watch pages expose a wide set of metadata to any visitor, logged in or not β€” that public surface is what this Actor reads.

Data CategoryPublicly AvailableBehind Google login
Channel name, handle, descriptionYes β€” About pageβ€”
Subscriber count, lifetime views, video countYes β€” About page (subscriber count may be hidden by the creator)β€”
Join date, country/locationYes β€” About page, when the creator has filled them inβ€”
External links (website, socials) in the descriptionYes β€” About pageβ€”
Contact email published in the description or linksYes, when the creator has put one thereThe "View email address" button on the About page is gated behind a signed-in Google account and a CAPTCHA β€” this Actor does not access that gated field
Recent video views, likes, comment counts, upload datesYes β€” videos tab and each watch pageβ€”
Full comment threads, subscriber list, analytics dashboard (YouTube Studio)NoYes β€” creator's own login only

YouTube Channel Finder With Creator Analytics only returns publicly visible data β€” what any visitor sees. Nothing behind a login wall.

What data can I extract with YouTube Channel Finder With Creator Analytics?

Every run returns identity fields for the channel, a growth/engagement analytics block computed from a live video sample, and β€” if aiEnhancement is turned on β€” an additional AI-derived block.

Channel identity & contact fields

Field NameDescription
keywordThe search keyword that found this channel (empty string for channels supplied via urls)
channelNameChannel display name
userNameChannel @handle, if resolved
subscriberCountSubscriber count exactly as scraped from the About page (e.g. "5.09M subscribers", or "N/A")
descriptionFull channel description text
emailBest contact email found in the description or links, preferring one near a contact keyword (business, contact, booking, sponsor, press, etc.); null if none was found
locationScraped country/location text, or "Not specified"
linksArray of {title, url} external links pulled from the About page
joined_dateChannel join date as scraped (e.g. "Joined Mar 5, 2018")
urlThe channel URL that was scraped
errorPresent only on a failed extraction, with the failure reason as a string
scrapedAtUTC timestamp of the moment this row was pushed, YYYY-MM-DDTHH:MM:SSZ

Growth, engagement & activity metrics

All of these are computed by the Actor's own analytics layer, not returned by YouTube directly.

Field NameDescription
channel_viewsLifetime channel view count, parsed to an integer
videos_uploadedLifetime video count, parsed to an integer
recentVideosArray of the sampled recent videos, each {title, url, views, likes, comments, uploadDate}
subscribersCountSubscriber count parsed to an integer from subscriberCount
channelAgeMonthsMonths since the channel joined
avgViewsPerVideoLifetime views Γ· lifetime video count
avgRecentViews / medianRecentViewsAverage and median views across the sampled recent videos
engagementRateAverage (likes + comments) / views across sampled videos, as a percent
viewsPerSubscriberLifetime views Γ· subscribers
recentViewsPerSubscriberAverage recent-video views Γ· subscribers
momentumRatioAverage recent views Γ· lifetime average views per video
momentumLabel"rising" (ratio β‰₯ 1.2), "steady" (β‰₯ 0.8), or "cooling"
uploadsPerMonthUpload cadence computed from the spacing between sampled publish dates
lastUploadDateMost recent sampled upload date, YYYY-MM-DD
daysSinceLastUploadDays between lastUploadDate and the run
activityStatus"active" (≀14 days), "slowing" (≀45 days), or "dormant"
consistencyScore0–100 regularity of upload spacing (100 = perfectly even), needs 3+ sampled upload dates
topRecentVideoThe sampled video with the most views: {title, url, views, likes}
recentVideosSampledCount of sampled videos that returned a usable view count
detectedNicheContent category label β€” keyword-classified from the search keyword + description, or forced by nicheOverride
contactabilityScore0–100 outreach-readiness score from email presence and link signals
analyticsConfidence"high" / "medium" / "low" β€” how many of the underlying signals were actually available
analyticsNoteFixed string noting every metric above is derived from scraped public data

AI enrichment fields (optional, off by default)

Only present when aiEnhancement is true and an API key resolves. Best-effort β€” on any provider failure these fields are simply absent and the keyword-classified detectedNiche stands on its own.

Field NameDescription
aiNicheLLM-refined niche label, replacing/sharpening detectedNiche
aiAudienceShort LLM-written descriptor of who watches the channel
aiLeadQuality"high" / "medium" / "low" outreach read, based on description professionalism and clarity
aiRationaleThe model's short reasoning for the aiLeadQuality call

πŸ€– Add-on: Need additional YouTube data?

Pair this Actor with YouTube Comments Scraper with Replies to pull full comment threads and sentiment for any channel or video this Actor surfaces. If your outreach workflow spans platforms, Instagram B2B Lead & Contact Scraper and LinkedIn Lead & Contact Finder apply the same keyword-discovery-plus-contact-extraction pattern to Instagram and LinkedIn.

How does YouTube Channel Finder With Creator Analytics differ from the official YouTube API?

The YouTube Data API v3 requires a Google Cloud project, an API key (or OAuth for anything beyond public read access), and returns cumulative channel statistics as separate, quota-metered endpoint calls β€” it does not expose a creator's contact email as a field, and it has no built-in engagement-rate, momentum, or upload-consistency metric.

FeatureYouTube Data API v3YouTube Channel Finder With Creator Analytics
SetupGoogle Cloud project + API key/OAuthApify account only β€” no Google or YouTube credentials
Discovery by keywordsearch.list endpoint, part of the API's published quota systemkeywords input searches YouTube directly, run inside the Actor
Contact emailNot a field the API returns β€” the free-text description would need to be parsed client-sideExtracted automatically from the scraped About-page description and links
Growth analyticsReturns only cumulative totals (subscribers, views, video count) via channels.listAdds engagementRate, momentumRatio, uploadsPerMonth, and consistencyScore computed from a live sample of recent videos
Recent-video samplingRequires a separate search.list + videos.list call sequence you build yourselfBuilt in via maxRecentVideos, run automatically per channel
OutputJSON via Google's client librariesJSON pushed directly to an Apify dataset

Use the official API if you're building a product that needs guaranteed, Google-supported access to your own channel's private data. Use this Actor when you want channel discovery, public metadata, and computed growth analytics for many channels in one run without managing Google Cloud credentials.

How to use YouTube Channel Finder With Creator Analytics

No input is required β€” the Actor ships with a prefilled example keyword and URL so a default run works immediately.

  1. Open the Actor on its Apify Store page and click Try for free (or Run, if you've already added it to your account).
  2. Add one or more keywords to discover channels by search, and/or one or more urls to analyze specific channels directly β€” both can be used in the same run.
  3. Optionally set filters (minSubscribers, country, requireEmail, etc.) and pick a sortBy metric to guide how you'll sort the finished dataset.
  4. Click Start to launch the run.
  5. Open the Output tab to watch rows arrive live, then export as JSON, CSV, or Excel once the run finishes (or at any point mid-run).

How to scale to bulk channel extraction

keywords and urls are both list inputs β€” add as many search terms and channel URLs as you need in a single run, and the Actor processes every keyword's discovered channels plus every direct URL in that one run. channelCount (1–50, default 10) caps how many channels are analyzed per keyword; there is no equivalent cap on how many keywords or URLs you can queue in one input.

What can you do with YouTube channel data?

  • 🎯 A sponsorship manager vetting creators for a campaign uses subscribersCount, engagementRate, and momentumLabel to rule out inflated-follower, low-engagement channels before reaching out.
  • πŸ“§ An outreach or lead-gen agency builds a contactable creator list by setting requireEmail to true and reading email and contactabilityScore on every row.
  • πŸ“ˆ A talent or brand-partnerships analyst tracks whether a roster of channels is growing by re-running the Actor against the same urls on a schedule and comparing momentumRatio and uploadsPerMonth over time.
  • πŸ”Ž A market researcher maps a niche by searching several keywords, then grouping results by detectedNiche and location to see where a content category is concentrated.
  • πŸ€– An AI agent or RAG pipeline ingests the typed JSON output directly β€” no HTML parsing β€” to answer questions like "which channels in this niche are actively uploading and have a real contact email" as part of a larger outreach or research agent.

How does YouTube Channel Finder With Creator Analytics handle rate limits and blocking?

By default the Actor makes requests with no proxy. If you enable proxyConfiguration, it uses the Apify Proxy configuration you select (including datacenter or residential groups); if a response looks blocked (HTTP 403/429, a CAPTCHA page, "forbidden," "blocked," or "access denied" text), the Actor automatically switches the rest of the run to Apify's Residential proxy group and continues. Each channel scrape and each keyword search retries up to 3 times with jittered exponential backoff (roughly 1s, 2s, 4s… capped at 30s) before giving up. A channel that still fails after 3 attempts is not silently dropped β€” it's saved to the dataset as a row with an error field describing the failure, so failures stay visible and filterable rather than disappearing from the count.

⬇️ Input

All 20 input fields are optional β€” the schema has no required parameters, and prefilled defaults let a run start with zero configuration.

ParameterRequiredTypeDescriptionExample Value
keywordsNoarraySearch terms to find YouTube channels. One keyword per line. Combine with channelCount to control how many channels are analyzed per term.["python programming"]
channelCountNointegerMaximum channels to analyze per search keyword. Min 1, max 50, default 10.10
searchRegionNostring (enum)YouTube search region country code. Default "US". One of US, GB, CA, AU, IN, DE, FR, JP, BR, MX, ES, IT, NL, PL, RU, KR, TW."US"
languageNostring (enum)Interface/result language code. Default "en". One of en, es, de, fr, pt, ja, hi, zh, ko, ar, ru."en"
fromDateNostring (date)Only include channels that joined on or after this date. Absolute (YYYY-MM-DD) or relative (e.g. "3 months"). Empty = no filter."2023-01-01"
toDateNostring (date)Only include channels that joined on or before this date. Same format as fromDate. Empty = no filter.""
minSubscribersNointegerDrop channels with fewer than this many subscribers. Min 0. Empty = no minimum.10000
maxSubscribersNointegerDrop channels with more than this many subscribers. Min 0. Empty = no maximum.500000
minTotalViewsNointegerDrop channels whose lifetime view count is below this. Min 0. Empty = no minimum.1000000
countryNostringKeep only channels whose scraped location contains this text (case-insensitive). Empty = no filter."United States"
uploadedWithinDaysNointegerKeep only channels whose most recent sampled upload is within this many days. Requires the recent-videos sample. Min 0. Empty = ignore recency.30
requireEmailNobooleanOnly emit channels where a contact email was found in the description or links. Default false.true
sortByNostring (enum)Sort hint: subscribers, views, recentViews, engagement, momentum, consistency, or contactability. Rows save live as each channel finishes, so this does not reorder the saved dataset β€” use it as a hint, then sort/export the dataset table by that column afterward."engagement"
nicheOverrideNostringForce the detectedNiche label for every channel instead of keyword-classifying it. Empty = auto-detect."finance"
maxRecentVideosNointegerHow many recent videos to sample per channel for engagement, momentum, cadence and consistency. 0 disables recent-video analytics (subscriber/view/age metrics still compute). Min 0, max 30, default 6.6
aiEnhancementNobooleanUses an LLM to refine the niche label and add an audience descriptor + lead-quality read. Requires an API key. Default false.false
aiModelNostring (enum)AI model for aiEnhancement. Provider auto-detected from the name prefix (claude-*=Anthropic, gpt-*/o1/o3=OpenAI, gemini-*=Google, grok-*=xAI, deepseek-*=DeepSeek, sonar*=Perplexity, mistral-*=Mistral). Default "claude-haiku-4-5"."claude-haiku-4-5"
aiApiKeyNostring (secret)API key for the selected aiModel provider. If omitted, falls back to the provider's environment variable (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, XAI_API_KEY, DEEPSEEK_API_KEY, PERPLEXITY_API_KEY, MISTRAL_API_KEY). Only used when aiEnhancement is on.""
urlsNoarrayAnalyze specific channels directly by URL (channel or video URLs). Runs alongside keyword search.["https://www.youtube.com/@apify"]
proxyConfigurationNoobjectOptional Apify Proxy configuration. Runs with no proxy by default; if the chosen proxy gets blocked, the Actor automatically falls back to Residential proxy and continues.{"useApifyProxy": false}

Example input

{
"keywords": ["python programming"],
"urls": ["https://www.youtube.com/@apify"],
"channelCount": 10,
"searchRegion": "US",
"language": "en",
"minSubscribers": 10000,
"uploadedWithinDays": 60,
"requireEmail": false,
"sortBy": "engagement",
"maxRecentVideos": 6,
"aiEnhancement": false,
"proxyConfiguration": { "useApifyProxy": false }
}

⬆️ Output

Every channel is written to the Apify dataset with Actor.push_data the instant its analysis finishes β€” rows appear in the Output tab live, in the order channels are processed, not as a single batch at the end. Export the dataset as JSON, CSV, or Excel from the Apify Console or via the API at any time, including mid-run.

Example output

{
"keyword": "python programming",
"channelName": "Corey Schafer",
"userName": "@coreyms",
"subscriberCount": "1.29M subscribers",
"description": "Video tutorials for Python, programming tools, and web development.",
"email": "business@coreyschafer.com",
"location": "United States",
"links": [
{ "title": "GitHub", "url": "https://github.com/CoreyMSchafer" },
{ "title": "Twitter", "url": "https://twitter.com/CoreyMSchafer" }
],
"joined_date": "Joined Sep 7, 2006",
"channel_views": 142000000,
"videos_uploaded": 236,
"url": "https://www.youtube.com/@coreyms",
"recentVideos": [
{
"title": "Python Tutorial: Working with JSON Data",
"url": "https://www.youtube.com/watch?v=9N6a-VLBa2I",
"views": 210453,
"likes": 6120,
"comments": 312,
"uploadDate": "2026-05-14"
}
],
"subscribersCount": 1290000,
"channelAgeMonths": 236,
"avgViewsPerVideo": 601694,
"avgRecentViews": 198340,
"medianRecentViews": 195120,
"engagementRate": 3.041,
"viewsPerSubscriber": 110.08,
"recentViewsPerSubscriber": 0.154,
"momentumRatio": 0.33,
"momentumLabel": "cooling",
"uploadsPerMonth": 1.6,
"lastUploadDate": "2026-06-02",
"daysSinceLastUpload": 54,
"activityStatus": "dormant",
"consistencyScore": 71,
"topRecentVideo": {
"title": "Python Tutorial: Working with JSON Data",
"url": "https://www.youtube.com/watch?v=9N6a-VLBa2I",
"views": 210453,
"likes": 6120
},
"recentVideosSampled": 6,
"detectedNiche": "software",
"contactabilityScore": 85,
"analyticsConfidence": "high",
"analyticsNote": "All metrics derived from scraped public data (subscribers, lifetime views, and a sample of recent videos' views/likes/dates).",
"scrapedAt": "2026-07-26T14:03:11Z"
}

⚠️ Failed channels are still saved by default. If a channel can't be resolved after 3 retries, the Actor pushes an error row for it instead of silently skipping it (see the fields table above). With no filters set, that row passes the same row_result-charged path as a successful one β€” set any of minSubscribers, maxSubscribers, minTotalViews, uploadedWithinDays, country, or requireEmail and rows with no data (subscriber count, views, upload date, or email all empty) are automatically excluded instead. If you run with no filters, filter the exported dataset on error being absent to separate real channels from failed attempts.

How does it work?

The Actor searches YouTube directly for each keyword (via yt-dlp's search extractor) to resolve a list of channel URLs, then fetches each channel's public About page HTML and parses YouTube's embedded ytInitialData JSON β€” the same data YouTube's own page rendering reads β€” to pull identity fields and external links. For analytics, it separately reads the channel's videos tab and each sampled video's watch page to get exact view/like/comment counts and upload dates, since those aren't present on the About page. Requests run with no proxy by default, or through Apify Proxy if you configure one, with an automatic switch to Residential proxy if a response looks blocked. Only data visible to a logged-out visitor is read at any point, and the output schema β€” the field names and structure documented above β€” stays the same run to run regardless of changes to YouTube's page layout, because the parsing targets YouTube's underlying data structures rather than visible page HTML.

Integrations

YouTube Channel Finder With Creator Analytics runs on Apify, so it's reachable anywhere the Apify API is β€” no separate signup or credential system to manage.

Calling YouTube Channel Finder With Creator Analytics programmatically

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run = client.actor("scraper-engine/youtube-channel-finder-with-creator-analytics").call(
run_input={
"keywords": ["python programming"],
"channelCount": 10,
"requireEmail": True,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["channelName"], item["subscribersCount"], item["engagementRate"])

Works in Go, Ruby, Node.js, cURL β€” any language that can make an HTTP request against the Apify API.

No-code tools (n8n, Make, LangChain)

In n8n, use the Apify community node (or the HTTP Request node against the Apify API's run endpoint) to start this Actor and read back the dataset. In Make, the Apify app's "Run an Actor" module points at the same Actor ID and can feed results into a downstream scenario (CRM, Google Sheets, email). Apify runs can also be scheduled from the Apify Console (cron-style schedules) or triggered by webhooks, so a refresh of your creator list can run unattended on a recurring cadence.

Scraping publicly available YouTube channel data β€” the same information any visitor can see without logging in β€” is generally lawful in most jurisdictions; this Actor only reads that public surface and never logs into an account or bypasses YouTube's login wall. Because the output can include personal identifiers and, when a creator has published one, a contact email, GDPR (EU/UK) and CCPA (California) apply to how you store and use that data β€” you need a lawful basis for collecting and retaining it, particularly for outreach. Consult legal counsel if your use case involves bulk storage of personal data.

❓ Frequently asked questions

What YouTube channel fields does YouTube Channel Finder With Creator Analytics return?

The top fields are channelName, subscribersCount, email, engagementRate, and momentumLabel β€” see the full data fields tables above for all 30+ base and analytics fields.

Does YouTube Channel Finder With Creator Analytics require a YouTube account or login?

No. The Actor reads only public pages (channel About page, videos tab, and watch pages) and requires no Google account, no YouTube login, and no API key to run.

How many channels can I extract in one run?

There's no fixed cap in the schema on the number of keywords or urls you can queue. Per keyword, channelCount bounds how many channels are analyzed, from 1 to 50 (default 10); each analyzed channel also fetches a small recent-videos sample controlled by maxRecentVideos (0–30, default 6), so larger values of either take longer per channel.

What happens if a keyword search returns no channels, or a channel URL doesn't resolve?

Both are handled without stopping the run. A keyword search retries up to 3 times before being logged as returning no results, with no row produced for that keyword. A direct channel URL that fails after 3 retries instead produces a dataset row with an error field describing the failure β€” see the ⚠️ note in the Output section above for how that row is billed.

Can I scrape multiple YouTube channels at once?

Yes. keywords and urls are both list inputs β€” add as many search terms and channel URLs as you need, and every keyword's discovered channels plus every direct URL are processed in the same run.

Does YouTube Channel Finder With Creator Analytics work with Claude, ChatGPT, and other AI agent tools?

It's callable as a standard Apify Actor via the Apify API and apify_client SDKs, so any agent framework that can make an HTTP call or use the Apify client can trigger a run and read back the dataset. Separately, aiEnhancement can call Claude, GPT, Gemini, Grok, DeepSeek, Perplexity, or Mistral models to enrich each row's niche/audience/lead-quality classification during the run itself.

How does YouTube Channel Finder With Creator Analytics compare to other YouTube creator-finder Actors?

As observed on the Apify Store on 2026-07-26: logiover/youtube-creator-email-finder requires you to already have a list of channel IDs/handles/URLs (it does not discover channels by keyword) and adds a two-layer email extraction step that crawls the creator's linked website when no email is on the About page β€” this Actor discovers channels by keyword search directly and reads the About page and links, but does not crawl out to external websites. dataovercoffee/youtube-channel-lookalike-finder finds channels by similarity to a seed channel against its own pre-built index of over 200M creators, rather than live keyword search, and its README does not document computing engagement rate, growth momentum, or upload-consistency scores from freshly scraped video data β€” this Actor computes those metrics live from a sampled set of each channel's recent videos in the same run. nexgendata/youtube-creator-contact-finder returns a 19-field contact-focused record without discovery-by-keyword or growth analytics.

Does YouTube Channel Finder With Creator Analytics return data in a format LLMs can use directly?

Yes. Output is typed, normalized JSON with consistent field names across runs β€” no HTML parsing or CSS selectors required. Pass it directly to an LLM prompt, index it into a vector store, or feed it to an agent tool.

What happens when YouTube changes its layout or anti-bot system?

The Actor's parsing targets YouTube's underlying ytInitialData JSON structure rather than visible page layout, and the output schema is designed to stay stable across runs. No specific update turnaround is promised.

Can I use YouTube Channel Finder With Creator Analytics without managing proxies or browser infrastructure?

Yes. The Actor runs with no proxy by default and requires no browser setup on your end; if you enable proxyConfiguration, the Actor manages the Apify Proxy session and automatically switches to Residential proxy if it detects a block, without any action needed from you.

Which YouTube channel fields work best for AI training data and RAG indexing?

For RAG, index description (the highest-information free text field) alongside channelName and detectedNiche for retrieval context. For structured training data, subscribersCount, engagementRate, momentumRatio, and consistencyScore return as consistent typed numbers (or null) across every row, making them reliable feature columns.

ScraperWhat it extracts
YouTube Comments Scraper with RepliesFull comment threads and replies from any YouTube video or channel
Instagram Reel Virality Intelligence ScraperPer-reel engagement, velocity and virality scoring, computed from real counts
Instagram B2B Lead & Contact ScraperInstagram profiles by keyword or handle, with genuine email/phone contact extraction
LinkedIn Lead & Contact FinderLinkedIn profiles by keyword or URL, with contact and lead-scoring fields

πŸ’¬ Your feedback

Found a bug or missing a field? Let us know through the Issues tab on this Actor's Apify Store page, or contact Scraper Engine support directly β€” reports get triaged into the next maintenance pass.