YouTube Channel Lookalike Finder
Pricing
from $0.60 / 1,000 lookalike channels
YouTube Channel Lookalike Finder
Find and rank similar YouTube channels for sponsorship prospecting, creator outreach, competitor research, and audience expansion.
Pricing
from $0.60 / 1,000 lookalike channels
Rating
0.0
(0)
Developer
Fetch Cat
Maintained by CommunityActor stats
0
Bookmarked
24
Total users
4
Monthly active users
9 hours ago
Last modified
Categories
Security
Limited permissionsShare
Discover public YouTube channels adjacent to known seed creators and rank the candidates found by seed-derived searches. Export shared text topics, visible subscriber and video counts, source queries and seed provenance. Similarity scores describe public topic and audience-size signals rather than YouTube recommendations, viewer overlap or verified sponsorship fit.
Quick start
Choose a known seed and begin with a small match cap. The existing OpenAI recipe can be reduced before expanding the search:
{"seedChannels":["https://www.youtube.com/@OpenAI"],"maxMatchesPerSeed":20,"country":"US","language":"en"}
Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.
Ready-to-run examples
Choose a bounded, preconfigured input for your research:
- Find channels similar to OpenAI — Discover adjacent channels from one known AI seed.
- Compare multiple seeds — Keep separate rankings for OpenAI and Google for Developers.
- Build a sponsorship shortlist — Apply a visible-subscriber band around Linus Tech Tips for manual prospect review.
What you get
One ranked candidate row per relevant seed relationship, with seed identity, candidate identity, discovery query, shared topics and source-visible counts. The score combines public topic overlap with subscriber-scale similarity. A candidate can appear under several seeds, and ranking covers discovered candidates rather than all of YouTube.
Who is it for?
- Sponsorship teams expanding from creators that already perform well.
- Influencer agencies building niche-specific YouTube prospect lists.
- Competitive intelligence teams mapping neighboring channels.
- Media buyers comparing reachable audience bands.
- Developers and AI agents creating repeatable creator-discovery workflows.
How you can use the data
- Expand an OpenAI-adjacent research shortlist. Use the existing @OpenAI seed and keep sharedTopics, discoveryQuery and seed identity with each candidate. Read descriptions and source links before deciding whether a channel belongs in your niche.
- Review a subscriber-band sample. Apply the existing 10,000–500,000 subscriber range with a low match cap. Hidden counts can exclude a candidate under numeric filters, so the list is not a complete inventory of channels in that range.
- Compare seed-specific relevance. Keep seedChannelId or seedChannelUrl beside rank when combining exports. A repeated candidate can have a different rank for another seed, and shared public text does not prove overlapping viewers.
- Prepare a separate creator review. Export candidate IDs and URLs for manual content or partnership research. Store collection times for your own later comparisons without treating an explainable score as brand safety, campaign performance or contact permission.
Input settings
| Setting | JSON key | Description |
|---|---|---|
| Seed YouTube channels | seedChannels | Add 1–10 channel URLs, @handles, or UC channel IDs. |
| Maximum matches per seed | maxMatchesPerSeed | Save up to this many ranked lookalike channels for each seed. |
| Country | country | Two-letter country code used to localize YouTube search, such as US, GB, or PT. |
| Language | language | YouTube interface/search language such as en, pt, or en-GB. |
| Minimum subscribers | minSubscribers | Exclude visible channels below this subscriber count. Channels without a visible count are treated as zero. |
| Maximum subscribers | maxSubscribers | Optional upper subscriber limit. Leave empty for no maximum. |
| Run time limit in seconds | runTimeSecs | Stop admitting new searches before this shared deadline. Use 30–270 seconds. |
| Proxy configuration | proxyConfiguration | Choose direct access or your existing managed/custom proxy settings. See the field help for omitted-input behavior and costs. |
Find twenty adjacent channels:
{"seedChannels":["https://www.youtube.com/@OpenAI"],"maxMatchesPerSeed":20,"country":"US","language":"en"}
Find mid-sized sponsorship candidates:
{"seedChannels":["@OpenAI"],"maxMatchesPerSeed":30,"minSubscribers":10000,"maxSubscribers":500000}
Output data
This synthetic example shows the row shape, not an observed recommendation. audienceSimilarity is a numeric subscriber-scale comparison or null:
{"seedChannelName": "OpenAI","rank": 1,"similarityScore": 86,"channelName": "Example AI Channel","channelUrl": "https://www.youtube.com/channel/UCexample","sharedTopics": ["artificial intelligence", "developer tools"],"subscriberCount": 245000,"videoCount": 318,"audienceSimilarity": 72,"discoveryQuery": "OpenAI artificial intelligence developer tools","collectedAt": "2026-08-11T20:00:00.000Z"}
| Field | JSON key | Description |
|---|---|---|
| Seed channel | seedChannelUrl | Seed YouTube channel URL. |
| Seed channel ID | seedChannelId | Public UC channel ID when available. |
| Seed name | seedChannelName | Visible seed channel name. |
| Seed topics | seedTopics | Normalized public seed-name and description terms used for discovery and scoring. |
| Rank | rank | Similarity rank within the seed channel. |
| Similarity score | similarityScore | Explainable 0–100 score based on shared public topics and audience size. |
| Shared topics | sharedTopics | Normalized topic terms shared with the seed. |
| Discovery query | discoveryQuery | Seed-derived YouTube query that discovered the channel. |
| Channel ID | channelId | Public YouTube channel ID when available. |
| Channel name | channelName | Visible lookalike channel name. |
| Channel URL | channelUrl | Public YouTube channel URL. |
| Description | description | Search-visible channel description snippet. |
| Subscribers | subscriberCount | Parsed visible subscriber count. |
| Subscribers text | subscriberCountText | Original localized subscriber count text. |
| Videos | videoCount | Parsed visible video count. |
| Videos text | videoCountText | Original localized video count text. |
| Thumbnail | thumbnailUrl | Channel thumbnail URL. |
| Thumbnail sizes | thumbnailUrls | All available channel thumbnail sizes. Empty when unavailable. |
| Audience similarity | audienceSimilarity | 0–100 subscriber-scale similarity when both counts are visible. |
| Collected at | collectedAt | UTC collection timestamp. |
Download your results
Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.
See Apify's download and export guide for the available formats and field options.
Pricing
The run has one start event, including runs that find no matches. No artificial rows are created.
Each ranked candidate saved incurs one result event. Seed provenance, shared topics and rank are included. A candidate saved for several seeds creates a result row for each relationship. Discovery stops when the remaining charge limit cannot cover another result.
See the live Pricing tab for current rates. Platform usage can also apply.
Tips for best results
- Start with one recognizable seed. Inspect shared topics and source descriptions before expanding your shortlist.
- Keep seed provenance with rank. Rankings from different seeds are separate relationships rather than one global ordered list.
- Use subscriber filters cautiously. Hidden or abbreviated counts limit coverage and do not measure audience demographics or viewer overlap.
- Inspect summary outcomes. Separate completed empty searches from failed seeds before interpreting a short export as a lack of similar channels.
- Bound discovery work. Keep the match cap and shared run-time budget small for an initial sample.
Limits and caveats
- A run accepts a maximum of ten seeds and saves up to fifty matches per seed.
- Each fetched search batch is ranked in full. Related queries are tried only while there are fewer relevant, filter-matching candidates than requested. Ranking is among discovered candidates, not an exhaustive YouTube-wide ranking.
- Similarity is an explainable discovery score based on public topics, text, and visible audience information. It is not YouTube's private recommendation score.
- Subscriber or video counts may be nullable when a channel hides them or YouTube does not expose them in the result.
- Public channels and search availability can change. Keep seed and discovery-query fields when reviewing results.
- Narrow subscriber filters can legitimately produce fewer than the requested maximum, including zero. Valid searches with no matching channels complete normally with
RUN_SUMMARY.status: EMPTY. No artificial dataset rows are saved. The start charge still applies. RUN_SUMMARY.emptySeedsandfailedSeedsdistinguish completed searches with no matches from failed seeds/searches. Real failures remain failures (orPARTIALwhen other seeds save results). A charge-limit stop is reported separately and does not mean that no matching channels exist.- Restarting an already charged run is not supported. Start a new run to perform discovery again.
- Use channel URLs, handles or channel IDs, not video or search URLs. A page without a verifiable channel identity is reported as a failed seed rather than used to generate matches.
- Failed related searches are listed in
RUN_SUMMARY.queryErrors. Useful rows remain available, with aPARTIALsummary instead of an unqualified success. Very large source responses are refused rather than silently truncated. - Overall processing has a fixed 285-second ceiling, even when a longer platform timeout is selected.
Country and language localize search context rather than verifying a creator's residence or translating the channel.
Automation and integrations
Save your settings for next time
Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.
Run on a schedule
Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.
Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.
Send results to your other tools
Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.
For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.
API usage
Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.
The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.
For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~youtube-channel-lookalike-finder/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"seedChannels":["@OpenAI"],"maxMatchesPerSeed":10}'
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/youtube-channel-lookalike-finder').call({seedChannels: ['@OpenAI'], maxMatchesPerSeed: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/youtube-channel-lookalike-finder').call(run_input={'seedChannels': ['@OpenAI'], 'maxMatchesPerSeed': 10,})items = client.dataset(run['defaultDatasetId']).list_items().items
MCP and AI agents
You can ask your AI assistant to collect data with YouTube Channel Lookalike Finder and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.
Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.
Easier setup with an Apify plugin
If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.
Use Apify AI in Console
Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's YouTube Channel Lookalike Finder. You can describe the data you want and ask questions about the results.
Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.
Choose your assistant
- Claude and Claude Code (Anthropic): Apify setup guide.
- ChatGPT and Codex (OpenAI): Apify setup guides.
- Grok Bot (xAI): Apify plugin guide.
- Gemini CLI (Google): MCP server setup guide. Use the server URL below with the HTTP configuration supported by Gemini CLI.
Connect just this scraper
To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/youtube-channel-lookalike-finder"}}}
Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.
Use Apify's general server
Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use YouTube Channel Lookalike Finder by Fetch Cat, or give it the identifier fetch_cat/youtube-channel-lookalike-finder.
Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.
Example requests
- “Use Fetch Cat’s YouTube Channel Lookalike Finder to collect up to 5 matches for @OpenAI in US search context and English, with a 60-second run limit. Keep shared topics and discovery queries without claiming viewer overlap or a complete YouTube-wide ranking.”
- “Retrieve up to 5 channels adjacent to @OpenAI with visible subscriber counts between 10,000 and 500,000 and a 60-second run limit. Keep missing-count limitations explicit rather than treating the sample as every channel in that band.”
- “Collect up to 3 lookalikes for https://www.youtube.com/@OpenAI with English search context and a 60-second run limit. Keep channel URLs, seed provenance and numeric audience-size similarity for manual review, without predicting campaign results.”
Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.
Pay with x402
If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.
Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.
Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.
Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.
Other ways for agents to pay
Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.
FAQ
Do I need a YouTube API key?
No API-key input is required for the public channel discovery workflow.
Why did I receive fewer matches?
The seed may be unavailable, filters may exclude candidates, duplicate channels may be removed, or the shared run-time limit may be reached. Review the run summary.
Can one candidate appear for several seeds?
Yes. Each row retains its seed and rank because relevance can differ by seed.
Can I use channel IDs instead of URLs?
Yes. Full channel URLs, @handles, and UC channel IDs are accepted.
Related Actors
- YouTube Search Results Scraper — Collect public YouTube search-result metadata for supported video, channel or playlist searches.
- YouTube Channel Details Scraper — Collect public YouTube channel descriptions, identifiers and available audience counts.
- YouTube Channel Videos Scraper — Collect recent public YouTube channel video metadata, without promising a complete historical archive.
- YouTube Video Details Scraper — Collect public YouTube video metadata and available engagement from known video URLs.
- YouTube Comments Scraper — Collect available public YouTube video comments and exposed replies.
Support and feedback
For custom additions or integrations, email hello@fetchcat.dev.
Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.
Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.
Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. Your feedback means a lot to us.
Made with care for curious people, AI agents and the possibilities in data. ♥