YouTube Similar Channels Finder
Pricing
$18.00 / 1,000 similar channels
YouTube Similar Channels Finder
Find public YouTube channels similar to a channel reference or topic. Get ranked matches with scores, discovery evidence, public channel data, audience metrics, and filters in an Apify dataset.
Pricing
$18.00 / 1,000 similar channels
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
🔎 Find YouTube channels that match your topic
If you are a marketer, agency, creator, researcher, or developer, use this Actor to find public YouTube channels similar to a channel reference or a topic. It returns one row for each first eligible matching channel, with a similarity score, the first discovery input, channel identity and URL, public profile data, audience metrics, topic keywords, and YouTube related-channel status. Use the rows to research competitors, find creators, or feed a machine-readable workflow.
- Compare a known channel in Social Blade Similar Channels.
- Compare channels with Similar Tube Alternative.
- Try a browser extension workflow in Similar Channels Extension.
- Review a run example in Find Similar YouTube Channels Free.
- Start a new discovery search in Similar Channels.
📊 Ranked YouTube channel matches
One row per candidate
Each saved row represents the first eligible occurrence of one public YouTube channel. If the same channel appears again through another seed or discovery path, the later match is ignored. discoveryInput records the channel reference or topic query that first led to the saved row.
What the rows show
Rows include a 0 to 100 similarity score, public channel identity and URLs, topic keywords, the observed YouTube related-channel status, audience and publishing metrics, profile links, dates, tags, creator signals, and commercial or trust signals when public values are available. Missing public values are null, and arrays can be empty. hasPublicEmail is only a flag. The email address is not returned.
▶️ Run a YouTube similar-channel search
Choose a discovery mode
Select Channel to start with one or more public YouTube channel URLs, @handles, or channel IDs. Select Topic to search from a topic query. A channel search can use several references in one run.
Set the search scope
Choose Focused, Balanced, or Broad result breadth. Use filters when you want candidates with specific public subscriber, view, publishing, country, language, verification, family-friendliness, creator type, public-email, monetization, or sponsorship signals.
Save the rows
Set Maximum candidates when you want an optional stop. Leave it empty to return all available results until the source is exhausted. Then open the default dataset through the run output.
⚙️ Input
Use one discovery method per run. Channel uses public channel references, and Topic uses a topic query. Leave optional filter fields empty to skip them.
Input fields
| Field | Type | What it does |
|---|---|---|
discoveryMethod | string | Required. Choose channel or topic. |
channelReferences | string[] | For channel mode, enter one or more public YouTube channel URLs, @handles, or channel IDs, one per line. |
topicQuery | string | For topic mode, enter a topic or phrase for finding relevant public YouTube channels. |
resultBreadth | string | Choose focused, balanced, or broad to set how broadly to search and return candidates. No choice guarantees a fixed number of results. |
maxItems | integer | Optional stop for the number of candidates returned. Leave it empty to return all available results until the source is exhausted. |
filters | object | Optional filters shared by Channel and Topic discovery. Leave a field empty to skip that filter. |
filters.minSubscribers | integer | Keep candidates with at least this many public subscribers. |
filters.maxSubscribers | integer | Keep candidates with no more than this many public subscribers. |
filters.minTotalViews | integer | Keep candidates with at least this many public total views. |
filters.maxTotalViews | integer | Keep candidates with no more than this many public total views. |
filters.minPublishedVideos | integer | Keep candidates with at least this many published videos. |
filters.maxPublishedVideos | integer | Keep candidates with no more than this many published videos. |
filters.minAverageVideoViews | integer | Keep candidates whose average recent video views meet or exceed this value. |
filters.maxAverageVideoViews | integer | Keep candidates whose average recent video views are at or below this value. |
filters.minAverageShortsViews | integer | Keep candidates whose average recent Shorts views meet or exceed this value. |
filters.maxAverageShortsViews | integer | Keep candidates whose average recent Shorts views are at or below this value. |
filters.countries | string[] | Keep candidates from one or more countries. Enter country names or codes, one per line. |
filters.languages | string[] | Keep candidates with one of these primary languages. Enter language names or codes, one per line. |
filters.verification | string | Choose any or verified for the public verification signal. |
filters.familyFriendliness | string | Choose any or familyFriendly for the public family-friendliness signal. |
filters.creatorTypes | string[] | Keep candidates with one or more public creator classifications, such as individual, organization, or brand. |
filters.publicEmail | string | Choose any, hasEmail, or noEmail for the public email signal. |
filters.monetization | string | Choose any or monetized for the public monetization signal. |
filters.sponsorship | string | Choose any or hasSponsorship for the public sponsorship signal. |
Successful default-input QA run
This is the public input from a successful current-beta run using the default channel setup.
{"discoveryMethod": "channel","channelReferences": ["https://www.youtube.com/@Google"],"resultBreadth": "balanced","maxItems": 6}
🧾 Output
The run output exposes datasetItems as a string link to the result rows in the default dataset. The default dataset rows use the single shape below for both Channel and Topic discovery. A valid run can return no rows when no candidate is available or passes the selected filters.
Similar channel row
| Field | Type | What it does |
|---|---|---|
discoveryMethod | string | Shows whether the row came from channel or topic discovery. |
discoveryInput | string | The one submitted channel reference or topic query that first led to this candidate. Later matches are not included. |
channelId | string | Stable public YouTube channel ID for joins or later channel lookups. |
channelName | string | Public name of the candidate channel. |
channelUrl | string | Public URL for the candidate channel. |
similarityScore | number | Score from 0 to 100. A higher score means closer topic or content relevance and audience-size proximity. |
topicKeywords | string[] | Public topic or keyword terms that support the match. The array can be empty. |
youtubeRelatedStatus | string | listed, notListed, empty, or notApplicable, based on the available public YouTube related-channel list. |
youtubeRelatedRank | integer or null | Observed one-based position in the related-channel list. It is null when the candidate was not listed or no seed list applied. |
subscribers | integer or null | Public subscriber count, or null when unavailable. |
totalViews | integer or null | Public total view count, or null when unavailable. |
publishedVideos | integer or null | Public number of published videos, or null when unavailable. |
averageVideoViews | integer or null | Average view count for recent regular videos, or null when unavailable. |
averageShortsViews | integer or null | Average view count for recent Shorts, or null when unavailable. |
description | string or null | Public channel description, or null when unavailable. |
avatarUrl | string or null | Public channel avatar URL, or null when unavailable. |
bannerUrl | string or null | Public channel banner URL, or null when unavailable. |
country | string or null | Public country or region, or null when unavailable. |
createdDate | string or null | Public channel creation date, or null when unavailable. |
tags | string[] | Public tags attached to the channel. The array can be empty. |
creatorType | string or null | Public creator classification, such as individual, organization, or brand. |
gender | string or null | Public gender signal for the creator, or null when unavailable. |
language | string or null | Public primary language, or null when unavailable. |
isVerified | boolean or null | Public verification signal, or null when unavailable. |
isFamilyFriendly | boolean or null | Public family-friendliness signal, or null when unavailable. |
hasPublicEmail | boolean or null | Whether a public email is reported. The email address is not returned. |
isMonetized | boolean or null | Public monetization signal, or null when unavailable. |
hasSponsorship | boolean or null | Public sponsorship signal, or null when unavailable. |
Genuine current-beta row
This complete row came from the successful default-input QA run. It shows the first saved match for the submitted Google channel reference.
{"discoveryMethod": "channel","discoveryInput": "https://www.youtube.com/@Google","channelId": "UCJS9pqu9BzkAMNTmzNMNhvg","channelName": "Google Cloud Tech","channelUrl": "https://www.youtube.com/@googlecloudtech","similarityScore": 92.1,"topicKeywords": ["Google Cloud","Cloud Developers","Google Developers","Cloud Computing","Cloud Infrastructure","AI Builders","AI Developers"],"youtubeRelatedStatus": "empty","youtubeRelatedRank": null,"subscribers": 1440000,"totalViews": 59532251,"publishedVideos": 2251,"averageVideoViews": 15215,"averageShortsViews": 2978,"description": "Welcome to the official YouTube channel for Google Cloud’s technical community. Explore our tutorials, see exciting demos, stay up to date with product news, and find new developer tools helping you build what’s next.","avatarUrl": "https://yt3.googleusercontent.com/_XJ_FbhTDiTg7Zhr328vkGrw99p8-uQ3Y1nW2KZozueF_nkixmIhAbF2hUMFB9lUqMwSBo4etlY=s72-c-k-c0x00ffffff-no-rj","bannerUrl": "https://yt3.googleusercontent.com/ge6YDY1UngkGMzt6A2C12a-lN7YO-DCF0uwdn1Dd5OoDmNTDEJiOOqf1XBH01T2bhT3FmJi4=w1060-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj","country": "United States","createdDate": "2014-07-21","tags": ["Google Cloud","Cloud Developers","Google Developers","Cloud Computing","Cloud Infrastructure","AI Builders","AI Developers"],"creatorType": null,"gender": null,"language": null,"isVerified": true,"isFamilyFriendly": true,"hasPublicEmail": false,"isMonetized": null,"hasSponsorship": null}
💳 Pricing
Per saved channel
Each saved similar channel costs $0.018. This is the similar-channel-discovered event, and it is not a one-time event. No separate run-start event is listed.
🔌 Integrations
Watch the input walkthrough
Use the dataset
The output link opens the default dataset. Its rows are machine-readable and available through the Apify API for programmatic processing.
❓ FAQ
Can I find similar channels without a seed channel?
Yes. Choose Topic and enter a topic query. You can also choose Channel and enter one or more public channel references.
What counts as a channel reference?
Use a public YouTube channel URL, an @handle, or a channel ID. Enter one reference per line when you use Channel discovery.
What does the similarity score mean?
The score runs from 0 to 100. A higher score means closer topic or content relevance and audience-size proximity. It is a similarity signal, not YouTube’s private recommendation formula.
Why is a field null or an array empty?
The public source may not provide every value. The Actor keeps an unavailable value as null and can return an empty array when no public terms or tags are available.
What do the YouTube related statuses mean?
listed means the candidate appeared in the available public related-channel list. notListed means the list did not include it. empty means the list had no entries. notApplicable means no seed channel was used.
How are duplicate channels handled?
The first eligible occurrence is saved. If the same channel appears again through another seed or discovery path, the later match is ignored. discoveryInput shows the reference or topic that first led to the saved row.
Can I ask for all available matches?
Yes. Leave maxItems empty to return all available results until the source is exhausted. Result breadth and source coverage still affect how many candidates are available, so no fixed count is guaranteed.
Does the Actor return email addresses?
No. hasPublicEmail only says whether a public email is reported for the channel. The email address itself is not returned.
What happens when no channel passes my filters?
The run can return an empty dataset. This is a valid outcome when no available candidate meets the source and filter conditions.
📝 Changelog
v0.0 (02-09-2026)
- 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 Search Scraper: Find public YouTube channels from keywords when you need a starting list.
- YouTube Channel Statistics Scraper: Enrich a known channel with subscribers, views, video count, profile fields, images, and a source URL.
- YouTube Channel Scraper: Collect a channel profile and recent videos after you identify a channel.
- Influencer Scraper: Find public creator profiles across YouTube and other social platforms for broader creator research.
- Search Similar YouTube Channels by Content, Not Keywords: Compare content-based channel lookalikes when you want another similar-channel workflow.
Made with ❤️ by Maxime Dupré