YouTube Channel Search Scraper
Pricing
from $0.03 / 1,000 channels
YouTube Channel Search Scraper
Find public YouTube channels from keywords or reusable search URLs. Export channel identity, public metrics, profile details, and first-match discovery evidence.
Pricing
from $0.03 / 1,000 channels
Rating
5.0
(2)
Developer
Maxime Dupré
Maintained by CommunityActor stats
5
Bookmarked
223
Total users
114
Monthly active users
3.9 hours
Issues response
7 days ago
Last modified
Categories
Share
🔎 Find YouTube channels for your next creator list
YouTube Channel Search Scraper helps marketers, creator researchers, and analysts find public YouTube channels from keywords or reusable YouTube search-result URLs. Get channel IDs, handles, public metrics, profile details, and the first search match that found each saved channel.
- Build a niche YouTube creator list from topics, products, or audience interests.
- Run Influencer discovery before reviewing creators for a campaign.
- Do YouTube competitor research for a market or content category.
- Create a Channel prospect list for later review and outreach research.
- Collect YouTube channel metrics to compare public audience size.
- Set up YouTube channel monitoring with scheduled discovery runs.
📦 Data you can export
Each dataset row is one saved public channel. It can include:
channel: ID, handle, name, URL, description, verification, and public visibility signalsmetrics: subscriber, video, and total view counts, plus the count text shown by YouTubeprofile: country, joined text, keywords, tags, RSS URL, tabs, links, and country codesimages: thumbnail, avatar, banner, and avatar sizesdiscoverySource: the keyword or search URL, discovery surface, rank, and results URL for the first saved matchsourceVideo: the video that first exposed the channel, ornullfor a channel-only match
Optional values can be null or empty when YouTube does not show them. Export rows as JSON, CSV, Excel, XML, RSS, or HTML, or use the Apify API.
▶️ Running the Actor
- Keep the sample keyword or add your own topics.
- You can also add public YouTube
/resultsURLs. - Choose video results, channel-only search, or both.
- Set the limits for each source and the whole run.
- You can set subscriber limits, a minimum video count, verified-only results, or channel URLs to exclude.
- Run the Actor and open the dataset.
The Actor saves the first eligible match for a channel right away. If the same channel appears again from any source, that later match is ignored. The saved row is not changed.
⚙️ Input
| Field | Type | What it does |
|---|---|---|
searchTerms | string array | Searches up to 500 topics, products, niches, or creator types. |
searchTermsFiles | string array | Loads terms from up to 20 TXT or CSV files. All inputs together can hold up to 500 terms. |
searchUrls | object array | Runs public youtube.com/results URLs again. Each object has a url. |
discoveryMode | string | Uses video results, channel-only search, or both. |
maxChannelsPerSearchTerm | integer | Stops after this many saved channels for each keyword or URL. Leave it empty to return all available channels until that source is exhausted. |
maxTotalResults | integer | Stops after this many saved channels in the run. Leave it empty to return all available channels until every source is exhausted. |
minSubscribers | integer | Saves channels at or above this public subscriber count. Channels with no public count are skipped. |
maxSubscribers | integer | Saves channels at or below this public subscriber count. Channels with no public count are skipped. |
minVideos | integer | Saves channels at or above this public video count. Channels with no public video count are skipped. |
verifiedOnly | boolean | Saves only channels YouTube marks as verified. |
excludedChannels | object array | Leaves out YouTube handle URLs or /channel/UC... URLs. Each object has a url. |
languageHint | string | Sets a two-letter YouTube page language hint, such as en. |
countryHint | string | Sets a two-letter YouTube country hint, such as US. |
Example input from a successful run:
{"searchTerms": ["coffee roasting"],"discoveryMode": "both","maxChannelsPerSearchTerm": 10,"maxTotalResults": 10,"verifiedOnly": false,"languageHint": "en","countryHint": "US"}
🧾 Output
Each row has the same channel shape. sourceVideo is an object when a video result first showed the channel. It is null for a channel-only match.
| Field | Type | What it does |
|---|---|---|
channel.id | string | Stable YouTube channel ID. |
channel.handle | string or null | Public handle. |
channel.title | string or null | Public channel name. |
channel.url | string or null | Main public channel URL. |
channel.description | string or null | Public channel description. |
channel.isVerified | boolean or null | Says if YouTube marks the channel as verified. |
channel.isFamilySafe | boolean or null | YouTube's public family-safety signal. |
channel.isUnlisted | boolean or null | YouTube's public unlisted signal. |
channel.isNoindex | boolean or null | YouTube's public search-indexing signal. |
metrics.subscribers | integer or null | Public subscriber count. |
metrics.subscriberText | string or null | Subscriber text shown by YouTube. |
metrics.subscriberCountIsExact | boolean or null | Says if the count is exact, not shortened. |
metrics.videos | integer or null | Public video count. |
metrics.videoText | string or null | Video count text shown by YouTube. |
metrics.totalViews | integer or null | Total public channel views. |
metrics.totalViewText | string or null | Total view text shown by YouTube. |
profile.country | string or null | Country shown on the channel. |
profile.joinedText | string or null | Join text shown by YouTube. |
profile.keywords | string or null | Channel keyword text. |
profile.tags | string array | Public channel tags. |
profile.rssUrl | string or null | Public channel video-feed URL. |
profile.tabs | object array | Public channel tabs. |
profile.tabs.title | string | Tab name. |
profile.tabs.url | string | Public tab URL. |
profile.externalLinks | string array | Public links shared by the channel. |
profile.availableCountryCodes | string array | Country codes where the channel is available. |
profile.ownerUrls | string array | Public owner URLs listed by YouTube. |
profile.alternateUrls | string array | Other public URLs for the channel. |
images.thumbnailUrl | string or null | Public thumbnail URL. |
images.avatarUrl | string or null | Main public avatar URL. |
images.bannerUrl | string or null | Public banner URL. |
images.avatarImages | object array | Available public avatar sizes. |
images.avatarImages.url | string | Public avatar image URL. |
images.avatarImages.width | integer or null | Image width in pixels. |
images.avatarImages.height | integer or null | Image height in pixels. |
discoverySource.sourceKind | string | Submitted source type: keyword or search_url. |
discoverySource.value | string | Keyword or search URL that first found the channel. |
discoverySource.discoverySurface | string | First result type: video_results or channel_filter. |
discoverySource.rank | integer | Rank on that discovery surface, starting at 1. |
discoverySource.sourceUrl | string | Results URL where the first match appeared. |
sourceVideo | object or null | Video that first showed the channel, or null for a channel-only match. |
sourceVideo.videoId | string | Stable source video ID. |
sourceVideo.title | string or null | Source video title. |
sourceVideo.url | string | Public source video URL. |
sourceVideo.publishedText | string or null | Publication text shown by YouTube. |
sourceVideo.viewText | string or null | View-count text shown by YouTube. |
💳 Pricing
This Actor uses pay-per-event pricing. You are charged once for each eligible public channel saved to the dataset. Channel profile details are included. Empty searches, failed attempts, excluded channels, filtered channels, and no-result work are not charged as saved channels. Use the source, run, and Apify charge limits to bound a run.
🔌 Integrations
Use dataset exports, the Apify API, schedules, webhooks, and integrations to send channel rows to a spreadsheet, database, or workflow.
❓ FAQ
How do maximum subscribers and hidden counts work?
Set maxSubscribers to skip channels above your chosen public count. You can use it with minSubscribers to make a range. If either subscriber limit is set, channels with no public subscriber count are skipped.
How do I exclude channels I already know?
Add their YouTube handle URLs or /channel/UC... URLs to excludedChannels. The Actor resolves the channel identity, so matching does not rely only on the URL text.
Can the same channel appear more than once?
No. The first eligible match is saved at once. Later matches for the same channel are ignored, even when they come from another keyword or search URL. They do not change the saved row.
Why is a subscriber count approximate or missing?
YouTube may shorten public counts, such as 19.7K, or hide them. Check subscriberCountIsExact and subscriberText. Missing values stay null.
Can I paste YouTube search-result URLs?
Yes. Add public YouTube /results URLs alone or with keywords and uploaded lists.
Does it return every requested channel?
Not always. YouTube may limit, remove, localize, or deduplicate public search data. Your filters and limits can also reduce saved rows.
Does it scrape videos?
It saves source-video evidence only when a video result first exposed a channel. It does not export full channel video lists, comments, or transcripts.
📝 Changelog
- 1.0: Added search URL input, first-match channel output, source-video evidence, public profile data, subscriber range filters, and channel exclusions.
- 0.1: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- YouTube Channel Scraper ↗ — Get profiles or recent videos for channels you already know.
- YouTube Lead Scraper ↗ — Find public creator emails from keywords or known channels.
- Influencer Scraper ↗ — Find public profiles across TikTok, Instagram, and YouTube.
- YouTube Channel Statistics Scraper ↗ — Check public stats for a known channel list.
- Youtube Keywords Discovery Tool ↗ — Get YouTube autocomplete ideas before channel discovery.
Made with ❤️ by Maxime Dupré