YouTube Channel Search Scraper
Pricing
from $0.20 / 1,000 channels
YouTube Channel Search Scraper
Rising starFind public YouTube channels from keywords or reusable search URLs. Export channel identity, public metrics, profile details, and first-match discovery evidence.
Pricing
from $0.20 / 1,000 channels
Rating
5.0
(2)
Developer
Maxime Dupré
Maintained by CommunityActor stats
6
Bookmarked
569
Total users
188
Monthly active users
3.9 hours
Issues response
9 hours 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 eligible match saved for each 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.
📦 Export YouTube channel data
Each dataset row is one unique saved public channel with:
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 from the first saved match, ornullwhen channel-only search saved it
Optional values can be null or empty when YouTube does not show them. profile.tags is always an array and is empty when YouTube exposes no tags. Export rows as JSON, CSV, Excel, XML, RSS, or HTML, or use the Apify API.
▶️ Run a YouTube channel search
- 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 each stable channel ID right away. If the same channel appears again from another keyword, URL, handle, ID, or discovery surface, that later match is ignored. The saved row keeps its first discovery evidence.
⚙️ Input
| Field | Type | What it does |
|---|---|---|
searchTerms | string array | Searches up to 500 topics, products, niches, or creator types. |
searchTerms[] | string | One topic, product, niche, or creator type to search. |
searchTermsFiles | string array | Loads terms from up to 20 TXT or CSV files. All inputs together can hold up to 500 terms. |
searchTermsFiles[] | string | One TXT or CSV file with search terms. |
searchUrls | object array | Runs public youtube.com/results URLs again. Each object has a url. |
searchUrls[].url | string | One public YouTube search-result URL to run. |
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. |
excludedChannels[].url | string | One YouTube handle URL or /channel/UC... URL to leave out. |
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. |
The Input tab pre-fills both work-limit fields with 10 for a convenient first run. The schema has no default for either field. If an API, CLI, or scheduled run omits a field, that boundary is not added. The Actor continues until the matching source or the whole run is exhausted.
Example input from a successful run
{"discoveryMode": "both","searchTerms": ["coffee roasting"],"maxChannelsPerSearchTerm": 10,"maxTotalResults": 10,"verifiedOnly": false,"languageHint": "en","countryHint": "US"}
🧾 Output
Each saved row has one of two forms. A video-result match has a sourceVideo object. A channel-only match has sourceVideo: null. Both forms keep the first eligible discovery evidence.
Channel row with source-video evidence
| 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 | Subscriber count as an integer when available; use subscriberText and subscriberCountIsExact to read the displayed form. |
metrics.subscriberText | string or null | Subscriber text shown by YouTube. |
metrics.subscriberCountIsExact | boolean or null | Whether YouTube shows subscriberText as an unshortened count. |
metrics.videos | integer or null | Public video count as an integer when available; see videoText for the displayed form. |
metrics.videoText | string or null | Video count text shown by YouTube. |
metrics.totalViews | integer or null | Total public view count as an integer when available; see totalViewText for the displayed form. |
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, when shown by YouTube. |
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 for the first saved match. |
discoverySource.discoverySurface | string | Result type of the first saved match: video_results or channel_filter. |
discoverySource.rank | integer | Rank on that discovery surface, starting at 1. |
discoverySource.sourceUrl | string | Results URL where the first saved match appeared. |
sourceVideo | object | Video from the first saved match when a video result first showed the channel. |
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. |
Example channel row with source-video evidence
This complete row is a real row from successful current-beta run eby3Nj1VjnIbJcE7Y on build 2.0.23.
{"channel": {"id": "UCZZuPAscp-QwUvBWQDgFq-g","handle": "@HiMyNameIsMichael","title": "Michael","url": "https://www.youtube.com/@HiMyNameIsMichael","description": "Intentional living in a world full of noise.\n\nNew videos every Saturday! :)\n\n\n\nBusiness email:\n\ncontact.himynameismichael@gmail.com","isVerified": null,"isFamilySafe": true,"isUnlisted": false,"isNoindex": false},"metrics": {"subscribers": 11900,"subscriberText": "11.9K subscribers","subscriberCountIsExact": false,"videos": 108,"videoText": "108 videos","totalViews": 2444712,"totalViewText": "2,444,712 views"},"profile": {"country": "United States","joinedText": "Joined Jan 24, 2022","keywords": "philosophy meditation stoicism mindfulness "self improvement" Books","tags": ["philosophy meditation stoicism mindfulness "self improvement" Books"],"rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UCZZuPAscp-QwUvBWQDgFq-g","tabs": [{"title": "Home","url": "https://www.youtube.com/@HiMyNameIsMichael/featured"},{"title": "Videos","url": "https://www.youtube.com/@HiMyNameIsMichael/videos"},{"title": "Playlists","url": "https://www.youtube.com/@HiMyNameIsMichael/playlists"},{"title": "Posts","url": "https://www.youtube.com/@HiMyNameIsMichael/posts"},{"title": "Search","url": "https://www.youtube.com/@HiMyNameIsMichael/search"}],"externalLinks": [],"availableCountryCodes": ["TR","GQ","NZ","LK","BR","JE","PF","DO","UG","BO","TW","GS","KM","DZ","TG","UY","TO","LU","GE","ZA","KY","GP","LY","TD","CY","KG","TZ","BT","AO","UA","CL","AL","NO","PR","LS","LI","AS","GA","MU","ES","BB","PE","CR","TT","NC","GF","PS","SN","YT","PA","RS","GW","KE","ME","AQ","CW","MA","NI","BA","KW","AE","BI","SD","WS","SL","ID","SS","HN","NU","SX","PG","CF","NG","PY","MV","IR","KN","AF","OM","GH","TK","SR","BS","MW","FI","GB","QA","MH","CH","CM","CD","SO","BF","KI","AZ","PW","MF","SE","TH","EG","AI","FJ","WF","KZ","AX","NE","GU","LT","PN","BV","RE","EH","GL","SB","SK","JM","CZ","GN","TM","LC","MK","KH","HK","IO","SG","HR","LA","BD","SZ","NF","VN","ZM","DM","FR","CA","SJ","ET","PK","MY","MN","BL","VG","TJ","NL","AR","YE","CG","IS","MS","HU","VU","IN","AU","MX","SC","BY","CV","DK","TV","PM","BQ","GY","US","SI","MT","MG","CK","CN","ZW","MZ","DE","VE","SH","FK","CX","ML","IL","CO","BM","MR","FM","MQ","TN","VC","KR","PL","GM","PH","JO","HT","IT","SV","IE","AW","CI","VI","GT","AD","FO","RO","BW","IM","EC","BJ","BN","GD","NA","SY","TF","PT","MC","MM","RU","AM","KP","DJ","UZ","MP","BG","NP","BH","JP","NR","GG","RW","MO","LV","TC","TL","AG","MD","AT","BZ","GR","SA","BE","LB","SM","EE","ST","IQ","UM","VA","GI","LR","CU","ER","CC","HM"],"ownerUrls": ["https://www.youtube.com/@HiMyNameIsMichael"],"alternateUrls": ["https://m.youtube.com/@HiMyNameIsMichael/about","https://www.youtube.com/feeds/videos.xml?channel_id=UCZZuPAscp-QwUvBWQDgFq-g","android-app://com.google.android.youtube/http/www.youtube.com/channel/UCZZuPAscp-QwUvBWQDgFq-g","ios-app://544007664/vnd.youtube/www.youtube.com/channel/UCZZuPAscp-QwUvBWQDgFq-g"]},"images": {"thumbnailUrl": "https://yt3.ggpht.com/t0lcNwgtmeVmp4TIq70aiWWPtVf99R4tmSzgYFpMgqOOFC7e8ow56TUXd2q2jtNGRQTO0f_a9g=s68-c-k-c0x00ffffff-no-rj","avatarUrl": "https://yt3.googleusercontent.com/t0lcNwgtmeVmp4TIq70aiWWPtVf99R4tmSzgYFpMgqOOFC7e8ow56TUXd2q2jtNGRQTO0f_a9g=s72-c-k-c0x00ffffff-no-rj","bannerUrl": "https://yt3.googleusercontent.com/XGypOW0T-XqUVvPwIFmZpVy0syIYAPNR7uODI5P4ArzWhfbTCHyHWCGAsYlcSMgfE_BeYIE8YQ=w1060-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj","avatarImages": [{"url": "https://yt3.googleusercontent.com/t0lcNwgtmeVmp4TIq70aiWWPtVf99R4tmSzgYFpMgqOOFC7e8ow56TUXd2q2jtNGRQTO0f_a9g=s72-c-k-c0x00ffffff-no-rj","width": 72,"height": 72},{"url": "https://yt3.googleusercontent.com/t0lcNwgtmeVmp4TIq70aiWWPtVf99R4tmSzgYFpMgqOOFC7e8ow56TUXd2q2jtNGRQTO0f_a9g=s120-c-k-c0x00ffffff-no-rj","width": 120,"height": 120},{"url": "https://yt3.googleusercontent.com/t0lcNwgtmeVmp4TIq70aiWWPtVf99R4tmSzgYFpMgqOOFC7e8ow56TUXd2q2jtNGRQTO0f_a9g=s160-c-k-c0x00ffffff-no-rj","width": 160,"height": 160}]},"discoverySource": {"sourceKind": "keyword","value": "meal prep blueprint","discoverySurface": "video_results","rank": 1,"sourceUrl": "https://www.youtube.com/results?search_query=meal+prep+blueprint&hl=en&gl=US"},"sourceVideo": {"videoId": "OPlpheDjyeI","title": "How to Make the NEW Blueprint Meals (Live to 120+)","url": "https://www.youtube.com/watch?v=OPlpheDjyeI","publishedText": "1 year ago","viewText": "5,156 views"}}
Channel row from channel-only search
| 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 | Subscriber count as an integer when available; use subscriberText and subscriberCountIsExact to read the displayed form. |
metrics.subscriberText | string or null | Subscriber text shown by YouTube. |
metrics.subscriberCountIsExact | boolean or null | Whether YouTube shows subscriberText as an unshortened count. |
metrics.videos | integer or null | Public video count as an integer when available; see videoText for the displayed form. |
metrics.videoText | string or null | Video count text shown by YouTube. |
metrics.totalViews | integer or null | Total public view count as an integer when available; see totalViewText for the displayed form. |
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, when shown by YouTube. |
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 for the first saved match. |
discoverySource.discoverySurface | string | Result type of the first saved match: video_results or channel_filter. |
discoverySource.rank | integer | Rank on that discovery surface, starting at 1. |
discoverySource.sourceUrl | string | Results URL where the first saved match appeared. |
sourceVideo | null | Always null when channel-only search first finds the channel. |
This complete row is a real row from successful current-beta run HPeUJHXjqmaiDeCpa on build 2.0.23.
{"channel": {"id": "UC0JFSdEj_yV43g0-d_WfNTQ","handle": "@MirrorCoffeeRoasters","title": "Mirror Coffee Roasters","url": "https://www.youtube.com/@MirrorCoffeeRoasters","description": "We're a specialty coffee roasting company based out of Bellingham, Washington. We search for incredible coffees around the world to roast and for you to drink. For us, everything is about being a reflection of good to the world around us. That's core to our ethos and how we work with producers, source and roast coffees, and get coffees into your hands.\nIG: @mirrorcoffeeroasters\nShop Coffee: mirrorcoffeeroasters.com","isVerified": null,"isFamilySafe": true,"isUnlisted": false,"isNoindex": false},"metrics": {"subscribers": 14000,"subscriberText": "14K subscribers","subscriberCountIsExact": false,"videos": 441,"videoText": "441 videos","totalViews": 2100706,"totalViewText": "2,100,706 views"},"profile": {"country": "United States","joinedText": "Joined Dec 14, 2019","keywords": ""coffee roasting" "coffee beans" "coffee roaster" "light roast coffee" "specialty coffee roaster" "bellingham coffee roaster"","tags": [""coffee roasting" "coffee beans" "coffee roaster" "light roast coffee" "specialty coffee roaster" "bellingham coffee roaster""],"rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UC0JFSdEj_yV43g0-d_WfNTQ","tabs": [{"title": "Home","url": "https://www.youtube.com/@MirrorCoffeeRoasters/featured"},{"title": "Videos","url": "https://www.youtube.com/@MirrorCoffeeRoasters/videos"},{"title": "Shorts","url": "https://www.youtube.com/@MirrorCoffeeRoasters/shorts"},{"title": "Podcasts","url": "https://www.youtube.com/@MirrorCoffeeRoasters/podcasts"},{"title": "Posts","url": "https://www.youtube.com/@MirrorCoffeeRoasters/posts"},{"title": "Store","url": "https://www.youtube.com/@MirrorCoffeeRoasters/store"},{"title": "Search","url": "https://www.youtube.com/@MirrorCoffeeRoasters/search"}],"externalLinks": [],"availableCountryCodes": ["VN","BL","NG","PL","DM","TM","MM","GA","NR","AS","MU","SZ","ID","OM","PK","TW","PA","CU","JP","RE","KR","NC","AX","BA","DZ","MA","GS","SA","NO","IM","FI","CH","TZ","BG","KH","DK","TV","GQ","CK","BO","BR","MX","TO","SY","FK","BE","EC","NE","ZM","GI","RU","ZA","CF","IE","MG","AR","MD","MP","GF","UA","PR","HT","WS","SM","BQ","CG","JM","DO","MR","CA","SD","IR","BY","VG","CW","WF","UM","IO","GP","KY","LU","HR","GL","NI","NU","GG","LA","SI","GT","UY","JE","LC","MF","CX","IQ","KE","GR","FJ","CL","LV","VI","PW","MV","QA","AT","ER","ME","MY","MZ","PT","SO","UG","BB","TL","AO","ML","PY","GM","GU","MH","TH","SL","AU","GY","IN","LB","CD","LK","AZ","PG","BM","DE","ST","IS","CI","AQ","UZ","CM","CR","GW","AD","PH","AI","SH","BI","VC","GH","HM","RS","LT","TF","AM","AE","LR","VE","MS","YT","SC","SE","FR","US","BF","KI","BH","GN","KP","SX","JO","BT","LS","AW","KG","KZ","EE","BD","AG","NF","IT","LI","NA","PN","EH","CV","ZW","TJ","PM","SJ","PF","BN","LY","TG","MO","PS","CC","TK","SS","CN","SN","PE","GB","KM","MT","AF","SR","KN","BJ","TC","KW","BW","ES","FM","CZ","FO","MC","RO","TD","TN","GE","TR","SG","HN","AL","HU","NL","DJ","EG","SB","SK","BV","MK","BZ","SV","BS","VA","ET","CO","MN","RW","HK","MQ","CY","MW","NP","IL","VU","TT","YE","NZ","GD"],"ownerUrls": ["https://www.youtube.com/@MirrorCoffeeRoasters"],"alternateUrls": ["https://m.youtube.com/@MirrorCoffeeRoasters/about","https://www.youtube.com/feeds/videos.xml?channel_id=UC0JFSdEj_yV43g0-d_WfNTQ","android-app://com.google.android.youtube/http/www.youtube.com/channel/UC0JFSdEj_yV43g0-d_WfNTQ","ios-app://544007664/vnd.youtube/www.youtube.com/channel/UC0JFSdEj_yV43g0-d_WfNTQ"]},"images": {"thumbnailUrl": "https://yt3.googleusercontent.com/VnpQlcF8mzo8ERBCYHYqyqc5rWay_2zR2Jew_xXCl3B9kQOpC0u99ex9mxligJh3duO1Zi3RPA=s72-c-k-c0x00ffffff-no-rj","avatarUrl": "https://yt3.googleusercontent.com/VnpQlcF8mzo8ERBCYHYqyqc5rWay_2zR2Jew_xXCl3B9kQOpC0u99ex9mxligJh3duO1Zi3RPA=s72-c-k-c0x00ffffff-no-rj","bannerUrl": "https://yt3.googleusercontent.com/dO5iF7hQp-FNMpb0fD7Qt8zdW30sRZ-ODMP8TacXxV6bh0da_AhsZGsbDgyOoFGugw-CEmUc=w1060-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj","avatarImages": [{"url": "https://yt3.googleusercontent.com/VnpQlcF8mzo8ERBCYHYqyqc5rWay_2zR2Jew_xXCl3B9kQOpC0u99ex9mxligJh3duO1Zi3RPA=s72-c-k-c0x00ffffff-no-rj","width": 72,"height": 72},{"url": "https://yt3.googleusercontent.com/VnpQlcF8mzo8ERBCYHYqyqc5rWay_2zR2Jew_xXCl3B9kQOpC0u99ex9mxligJh3duO1Zi3RPA=s120-c-k-c0x00ffffff-no-rj","width": 120,"height": 120},{"url": "https://yt3.googleusercontent.com/VnpQlcF8mzo8ERBCYHYqyqc5rWay_2zR2Jew_xXCl3B9kQOpC0u99ex9mxligJh3duO1Zi3RPA=s160-c-k-c0x00ffffff-no-rj","width": 160,"height": 160}]},"discoverySource": {"sourceKind": "keyword","value": "coffee roasting","discoverySurface": "channel_filter","rank": 1,"sourceUrl": "https://www.youtube.com/results?search_query=coffee+roasting&hl=en&gl=US&sp=EgIQAg%3D%3D"},"sourceVideo": null}
💳 Pricing
This Actor uses pay-per-event pricing. One event is charged for each unique eligible public channel saved to the dataset. A repeated match does not create another row or event. See the Store for the current price for your plan.
🔌 Integrations
Use dataset exports and the Apify API to work with channel rows. Run the Actor on a schedule or use a webhook when a run finishes.
❓ 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?
Use subscriberText for the count YouTube displayed. YouTube may shorten it, such as 19.7K; subscriberCountIsExact is false for shortened text and true only for an unshortened count. If YouTube hides a count, subscribers can be null.
Can I paste YouTube search-result URLs?
Yes. Add public YouTube /results URLs alone or with keywords and uploaded lists.
What happens when I leave a result limit empty?
The Actor keeps searching until the matching source is exhausted. If both work-limit fields are empty, it continues until all submitted sources are exhausted. YouTube search availability, filters, and other run conditions can still lead to fewer rows.
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 when the first saved match comes from a video result. It does not export full channel video lists, comments, or transcripts.
Do I need a YouTube API key?
No. The Actor reads publicly reachable YouTube search and channel pages without a YouTube login, cookies, or API key.
📝 Changelog
v2.0
- More reliable large searches with clearer first-match evidence.
- Large multi-source searches preserve completed rows when a run must stop.
- Each saved channel has one clear first-match discovery record with optional source-video evidence.
v1.0
- Search by public YouTube search-result URL.
- Get the first matching channel output.
- See source-video evidence for the first match.
- Get public profile data.
- Filter channels by subscriber range.
- Exclude channels from the results.
v0.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.
- YouTube Similar Channels Finder ↗: Find similar public channels from a topic or known channel.
- 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é