YouTube Channel Search Scraper
Pricing
from $1.20 / 1,000 channels
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
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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/resultsURL 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?
| Field | Description |
|---|---|
channel.id | Stable YouTube channel ID |
channel.handle | Public handle (e.g. @mkbhd) |
channel.title | Public channel name |
channel.url | Main public channel URL |
channel.description | Public channel description |
channel.isVerified | Whether YouTube marks the channel as verified |
metrics.subscribers | Public subscriber count |
metrics.videos | Public video count |
metrics.totalViews | Total public channel views |
profile.country | Country shown on the channel |
profile.joinedText | Channel creation date, as shown by YouTube |
profile.tags | Public channel tags |
profile.externalLinks | Public links shared by the channel (site, socials) |
profile.tabs | Public channel tabs (Videos, Shorts, Live, Playlists, ...) |
images.avatarUrl / images.bannerUrl | Channel avatar and banner images |
discoverySource | Which search term/URL and surface first found this channel |
sourceVideo | The 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
- Open YouTube Channel Search Scraper on Apify
- Enter one or more Search Terms — a niche, product, or creator type (e.g. "coffee roasting", "react tutorials")
- Optionally upload a Search Terms File (TXT or CSV) or paste a Search URL you already filtered on YouTube
- Choose a Discovery Mode — video results, channel search, or both
- Set Max Channels per Search Term and Max Total Channels to control run size and cost
- Add filters — Min/Max Subscribers, Min Videos, Verified Only, or a list of Excluded Channels
- Click Start and wait for results
- 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerms | string array | No* | — | Topics, products, niches, or creator types to search for. Up to 500 terms across all sources. |
searchTermsFiles | string array | No* | — | Up to 20 uploaded TXT or CSV files, one term per line. |
searchUrls | array of {url} | No* | — | Public youtube.com/results URLs to run again. |
discoveryMode | string | No | both | video_results, channel_filter, or both. |
maxChannelsPerSearchTerm | integer | No | unlimited | Stop after saving this many channels per source. |
maxTotalResults | integer | No | unlimited | Stop after saving this many channels in the run. |
minSubscribers | integer | No | — | Skip channels below this public subscriber count. |
maxSubscribers | integer | No | — | Skip channels above this public subscriber count. |
minVideos | integer | No | — | Skip channels below this public video count. |
verifiedOnly | boolean | No | false | Only save channels with YouTube's verification badge. |
excludedChannels | array of {url} | No | — | Channel handle or channel URLs to leave out. |
languageHint | string | No | en | 2-letter YouTube page language hint. |
countryHint | string | No | US | 2-letter YouTube country hint. |
proxyConfiguration | object | No | Apify Proxy | Proxy 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.
| Event | Price per event | Price 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 ApifyClientclient = 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.
Is it legal to scrape YouTube channel data?
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.
Related YouTube Actors
- YouTube Search Scraper — Scrape YouTube video, playlist, and shorts search results
- YouTube Thumbnail Downloader — Download high-resolution thumbnails from any YouTube video
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.