YouTube Channel Search Scraper avatar

YouTube Channel Search Scraper

Pricing

from $1.20 / 1,000 channels

Go to Apify Store
YouTube Channel Search Scraper

YouTube Channel Search Scraper

Find YouTube channels by keyword, niche, or topic. Search video results, channel-only search, or both. Get subscriber counts, video counts, verification status, country, links, and full profile data.

Pricing

from $1.20 / 1,000 channels

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

YouTube Channel Search Scraper

Find YouTube channels by keyword, niche, product, or creator type — search video results, run a channel-only search, or both, and get back structured channel profiles instead of a list of videos. Built for influencer marketing teams, brand partnership scouts, market researchers, and anyone who needs a list of relevant YouTube channels with subscriber counts, video counts, and contact-ready profile data.

Search up to 500 terms at once, filter by subscriber count, video count, and verification status, and get subscriber counts, video counts, total views, country, join date, tags, external links, and avatar/banner images for every channel — no YouTube Data API key needed.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

YouTube Channel Search Scraper (parsebird/youtube-channel-search-scraper) — Finds YouTube channels by keyword, niche, or product and returns full channel profiles. Input: {"searchTerms": ["coffee roasting"], "discoveryMode": "both", "maxChannelsPerSearchTerm": 10, "maxTotalResults": 10, "verifiedOnly": false, "languageHint": "en", "countryHint": "US"}. Key inputs: searchTerms (string array, up to 500 terms), searchTermsFiles (TXT/CSV file URLs, up to 20), searchUrls (array of {url} — replay a youtube.com/results URL), discoveryMode ("video_results" | "channel_filter" | "both", default "both"), maxChannelsPerSearchTerm (integer, unlimited if empty), maxTotalResults (integer, unlimited if empty), minSubscribers/maxSubscribers/minVideos (integer), verifiedOnly (boolean), excludedChannels (array of {url}), languageHint/countryHint (2-letter codes). Output per channel: channel (id, handle, title, url, description, isVerified, isFamilySafe, isUnlisted, isNoindex), metrics (subscribers, subscriberText, videos, videoText, totalViews, totalViewText), profile (country, joinedText, keywords, tags, rssUrl, tabs, externalLinks, availableCountryCodes, ownerUrls, alternateUrls), images (thumbnailUrl, avatarUrl, bannerUrl, avatarImages), discoverySource (sourceKind, value, discoverySurface, rank, sourceUrl), sourceVideo. API: POST https://api.apify.com/v2/acts/parsebird~youtube-channel-search-scraper/runs?token=YOUR_TOKEN. Get token: https://console.apify.com/account#/integrations

What does YouTube Channel Search Scraper do?

The YouTube Channel Search Scraper turns a keyword, niche, or product name into a list of matching YouTube channels — not videos. Enter search terms, pick a discovery mode, and the actor:

  • 🔍 Searches YouTube's internal API directly — no browser, no headless Chrome, no YouTube Data API key
  • 📺 Finds channels two ways: from the channels behind matching video results, from a channel-only search, or both at once
  • 📊 Enriches every match with a full channel profile — subscribers, videos, total views, country, join date, description, tags, and links
  • ✅ Filters by minimum/maximum subscriber count, minimum video count, and verification badge
  • 🚫 Lets you exclude specific channels by handle or channel URL so you never see the same channel twice
  • 📁 Accepts up to 500 search terms at once — typed in, uploaded as TXT/CSV files, or replayed from a youtube.com/results URL you already filtered on YouTube
  • 🖼️ Returns every avatar size and the channel banner image, ready to display without a second request
  • ⚡ Runs on lightweight infrastructure (128–512 MB) — fast and cost-efficient

YouTube Channel Search Scraper uses YouTube's own internal InnerTube API — the same API that powers youtube.com and every channel's "About" tab — so subscriber counts, video counts, and verification status are always current.

What data can you extract with YouTube Channel Search Scraper?

FieldDescription
channel.idStable YouTube channel ID
channel.handlePublic handle (e.g. @mkbhd)
channel.titlePublic channel name
channel.urlMain public channel URL
channel.descriptionPublic channel description
channel.isVerifiedWhether YouTube marks the channel as verified
metrics.subscribersPublic subscriber count
metrics.videosPublic video count
metrics.totalViewsTotal public channel views
profile.countryCountry shown on the channel
profile.joinedTextChannel creation date, as shown by YouTube
profile.tagsPublic channel tags
profile.externalLinksPublic links shared by the channel (site, socials)
profile.tabsPublic channel tabs (Videos, Shorts, Live, Playlists, ...)
images.avatarUrl / images.bannerUrlChannel avatar and banner images
discoverySourceWhich search term/URL and surface first found this channel
sourceVideoThe video that first surfaced the channel, if found via video results

The full output has five nested objects — channel, metrics, profile, images, discoverySource — plus sourceVideo. See the output example below for every field.

How to search YouTube channels with YouTube Channel Search Scraper

  1. Open YouTube Channel Search Scraper on Apify
  2. Enter one or more Search Terms — a niche, product, or creator type (e.g. "coffee roasting", "react tutorials")
  3. Optionally upload a Search Terms File (TXT or CSV) or paste a Search URL you already filtered on YouTube
  4. Choose a Discovery Mode — video results, channel search, or both
  5. Set Max Channels per Search Term and Max Total Channels to control run size and cost
  6. Add filters — Min/Max Subscribers, Min Videos, Verified Only, or a list of Excluded Channels
  7. Click Start and wait for results
  8. Export your data as JSON, CSV, or Excel from the dataset tab

Quick start input:

{
"searchTerms": ["coffee roasting"],
"discoveryMode": "both",
"maxChannelsPerSearchTerm": 10,
"maxTotalResults": 10
}

Find established, verified channels in a niche:

{
"searchTerms": ["personal finance", "budgeting tips"],
"discoveryMode": "both",
"maxTotalResults": 50,
"minSubscribers": 50000,
"verifiedOnly": true
}

Channel-only search across many niches, skipping ones you already have:

{
"searchTerms": ["home coffee roasting", "espresso machines", "pour over coffee"],
"discoveryMode": "channel_filter",
"maxChannelsPerSearchTerm": 20,
"excludedChannels": [
{ "url": "https://www.youtube.com/@mkbhd" }
]
}

Input parameters

ParameterTypeRequiredDefaultDescription
searchTermsstring arrayNo*Topics, products, niches, or creator types to search for. Up to 500 terms across all sources.
searchTermsFilesstring arrayNo*Up to 20 uploaded TXT or CSV files, one term per line.
searchUrlsarray of {url}No*Public youtube.com/results URLs to run again.
discoveryModestringNobothvideo_results, channel_filter, or both.
maxChannelsPerSearchTermintegerNounlimitedStop after saving this many channels per source.
maxTotalResultsintegerNounlimitedStop after saving this many channels in the run.
minSubscribersintegerNoSkip channels below this public subscriber count.
maxSubscribersintegerNoSkip channels above this public subscriber count.
minVideosintegerNoSkip channels below this public video count.
verifiedOnlybooleanNofalseOnly save channels with YouTube's verification badge.
excludedChannelsarray of {url}NoChannel handle or channel URLs to leave out.
languageHintstringNoen2-letter YouTube page language hint.
countryHintstringNoUS2-letter YouTube country hint.
proxyConfigurationobjectNoApify ProxyProxy settings for requests to YouTube.

* At least one of searchTerms, searchTermsFiles, or searchUrls is required.

Output example

{
"channel": {
"id": "UCVY9i3lgTlPIDsvkybOkfMQ",
"handle": "@roasterkat",
"title": "Roaster Kat",
"url": "https://www.youtube.com/channel/UCVY9i3lgTlPIDsvkybOkfMQ",
"description": "I'm Kat Melheim aka: Roaster Kat - roaster, barista, writer...",
"isVerified": false,
"isFamilySafe": true,
"isUnlisted": false,
"isNoindex": false
},
"metrics": {
"subscribers": 20600,
"subscriberText": "20.6K subscribers",
"subscriberCountIsExact": false,
"videos": 243,
"videoText": "243 videos",
"totalViews": 1206801,
"totalViewText": "1,206,801 views"
},
"profile": {
"country": "United States",
"joinedText": "Joined Sep 26, 2018",
"keywords": "\"Coffee Kat\" Coffee \"Coffee Brewing\" Barista Roaster",
"tags": ["Coffee Kat", "Coffee", "Coffee Brewing", "Barista", "Roaster"],
"rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UCVY9i3lgTlPIDsvkybOkfMQ",
"tabs": [
{ "title": "Videos", "url": "https://www.youtube.com/@roasterkat/videos" }
],
"externalLinks": ["https://www.instagram.com/roasterkat"],
"availableCountryCodes": ["US", "CA", "GB"],
"ownerUrls": ["http://www.youtube.com/@roasterkat"],
"alternateUrls": []
},
"images": {
"thumbnailUrl": "https://yt3.googleusercontent.com/.../s200-c-k-c0x00ffffff-no-rj",
"avatarUrl": "https://yt3.googleusercontent.com/.../s160-c-k-c0x00ffffff-no-rj",
"bannerUrl": "https://yt3.googleusercontent.com/.../w2560-fcrop64=1...",
"avatarImages": [
{ "url": "https://yt3.googleusercontent.com/.../s72-...", "width": 72, "height": 72 }
]
},
"discoverySource": {
"sourceKind": "keyword",
"value": "coffee roasting",
"discoverySurface": "channel_filter",
"rank": 1,
"sourceUrl": "https://www.youtube.com/results?search_query=coffee+roasting&sp=EgIQAg%3D%3D"
},
"sourceVideo": null
}

Use cases

  • Influencer discovery — Build a shortlist of channels in a niche before reaching out for sponsorships
  • Competitor monitoring — Track channel growth (subscribers, video count) for competing creators or brands
  • Market research — See how many active channels exist in a niche and how established they are
  • Lead generation — Find channels with public contact links for partnership or agency outreach
  • Content gap analysis — Compare your channel's subscriber/video ratio against others in the same space
  • Brand safety checks — Filter for verified, family-safe channels before a sponsorship deal
  • Academic and media research — Collect structured channel-level data for creator economy studies

How much does it cost to search YouTube channels?

YouTube Channel Search Scraper uses pay-per-event pricing. You are charged per channel saved to the dataset — no compute fees on top.

EventPrice per eventPrice per 1,000
channel-scraped$0.0015$1.50

Each channel pushed to the dataset counts as one event (pricing shown is the Free plan rate; Bronze, Silver, and Gold subscribers pay less per event). For example, saving 200 channels costs $0.30 on the Free plan.

Apify's Free plan includes monthly platform credits, enough for thousands of channels at no extra cost — a free way to try the actor before committing to a paid plan.

Integrations and API access

Use YouTube Channel Search Scraper programmatically via the Apify API, JavaScript client, or Python client.

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("parsebird/youtube-channel-search-scraper").call(run_input={
"searchTerms": ["personal finance", "budgeting tips"],
"discoveryMode": "both",
"maxTotalResults": 50,
"minSubscribers": 50000,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["channel"]["title"], item["metrics"]["subscribers"])

JavaScript:

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("parsebird/youtube-channel-search-scraper").call({
searchTerms: ["personal finance", "budgeting tips"],
discoveryMode: "both",
maxTotalResults: 50,
minSubscribers: 50000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item.channel.title, item.metrics.subscribers));

You can also connect YouTube Channel Search Scraper to Google Sheets, Slack, Zapier, Make, and other tools via Apify integrations. Use Apify Schedules to re-run a search daily or weekly and track how a niche's channel list changes over time.

Scraping publicly available data is generally considered legal, based on the 2022 US appeals court ruling in hiQ Labs v. LinkedIn. This actor only reads channel information that YouTube already shows to any visitor on a channel's public "About" page — it does not log in, bypass authentication, or access private data.

Always review YouTube's Terms of Service and comply with applicable laws in your jurisdiction, especially around how you use subscriber contact information. For general guidance, see Apify's guide to web scraping legality.

FAQ

What's the difference between "video results" and "channel search" discovery mode? video_results searches YouTube for matching videos and returns the channel behind each one — useful for finding channels that are actively producing relevant content right now. channel_filter runs YouTube's own channel-only search, which is closer to searching a channel directory. both runs channel search first, then fills any remaining quota with video results.

Why do some channels get skipped even though they matched my search? A channel is skipped if it's in your excludedChannels list, if it was already found by an earlier search term, or if it doesn't meet a subscriber/video filter you set. Channels that hide their subscriber or video count are always skipped when a minSubscribers, maxSubscribers, or minVideos filter is active, since there's no public number to compare.

Why is metrics.subscribers an approximation for large channels? YouTube itself shows large counts in an abbreviated form (e.g. "21.1M subscribers") rather than the exact number. metrics.subscriberCountIsExact tells you whether the count came from YouTube's exact form or was estimated from an abbreviated one.

What does discoverySource.rank mean? It's the channel's position in the results for the surface (video_results or channel_filter) and search term/URL that first found it — rank 1 is the first result YouTube returned.

Can I re-run a search I already did manually on YouTube? Yes. Copy the URL from your browser's address bar after searching and filtering on youtube.com/results and add it to searchUrls. The actor replays the same query and filters through YouTube's API.

Can I schedule recurring runs? Yes. Use Apify's scheduling feature to run the scraper daily, weekly, or at any custom interval, and pair it with integrations to send new channels straight to a spreadsheet or Slack channel.

Can I use this with my AI assistant or MCP server? Yes. Copy the AI assistant block from the top of this page into ChatGPT, Claude, or Cursor. You can also connect this actor to any agent framework via the Apify MCP server.

Something isn't working. How do I get help? Open an issue in the Issues tab on the actor page. Include your input configuration and any error messages.