Finding the small YouTube channels that are breaking out
A free script, a YouTube API key and Claude Code scan the last ten days of YouTube for small faceless channels whose videos beat their own numbers, then the same tools help you make one. The scanner, reviewed and hosted here, the eleven channels it found, the toolbox, the steps and the 30-day plan, checked against YouTube’s own rules, the channels’ public numbers and the tools’ licences
A 5 KB script, a free YouTube API key and Claude Code scan the last ten days of YouTube for small channels whose new video beat their usual numbers many times over. The guide adds a toolbox, the steps to make a narrated documentary of your own and a 30-day plan. The scanner works, and a reviewed copy is on this page. Much of what the guide builds on it didn’t hold up. The free API now allows 100 searches a day, and the headline “27x” outlier is really 270x. The eleven “faceless” channels include an on-camera host posting four videos a day, unlabelled AI footage and reused documentaries. YouTube’s monetization rules name animal-peril series as unmonetizable, and ElevenLabs’ free voices can’t go on a monetized channel. All of that is marked below.
A method for finding YouTube topics that are working right now, and for making videos on them without appearing on camera. A small Node.js script asks YouTube’s free API for recent videos in a set of keywords, then ranks each one by how far it beat its own channel’s recent uploads. Claude Code reads the results and helps you write, voice and cut a narrated documentary. The original guide was a set of slides; it is all here, with the scanner read line by line, tested, and hosted as a reviewed download. Download the scanner, read the rest once, then run the 30-day checklist at the end. The guide’s own scan saw 1,283 videos in under four minutes. Where the guide got something wrong, it’s fixed and marked where it applies.
What held up, on 21 October 2026
Checked against Google’s YouTube Data API reference and developer policies, YouTube’s help centre, each of the eleven channels’ public feeds and video pages, the tools’ own repositories and licences, the footage sites’ licence pages, and Anthropic’s Claude Code docs. The scanner was read in full and run offline against fake data.
What you need
To scan: Claude Code
In your terminal or in the Claude desktop app’s Code tab. It writes, runs and edits the scanner for you. It needs a paid Claude plan or a pay-as-you-go Console account. (The guide links claude.ai/code, which is the web version: it runs in the cloud and can’t see a folder on your computer.)
To scan: Node.js
The LTS version from nodejs.org. The scanner is one file with no installs. It runs on Node 18 and up, but 18 and 20 no longer get security fixes. (The guide says Node 18+.)
To scan: a Google account
For the free YouTube Data API key: 100 searches a day, plus 10,000 units for everything else. One long scan uses 32 of the searches. (The guide says 10,000 units a day, about 3,500 per scan.)
To make one: a voice
ElevenLabs on a paid plan (its free tier, 10 minutes a month, can’t go on a monetized channel; the guide suggests the free tier), or Kokoro-82M on your own laptop, free, no GPU needed, and fine for commercial use.
To make one: footage
Public-domain and free-licence video from the sources in Step 3. No camera.
A GPU only for local AI
You need a graphics card only to generate footage yourself with Wan2GP (NVIDIA works best) or to run Dia, which needs NVIDIA. Whisper’s largest model wants about 10 GB of graphics memory; on a laptop use turbo or small. Otherwise any laptop. (The guide names only Wan2GP.)
The time it takes, in the guide’s estimate: the API key and a first scan, 20 minutes, once. After that a scan takes 4 minutes, a 60-second documentary clip about an hour, and a 20-minute video a weekend. (The guide adds that the channels post two to three of those a week; most post more.)
Connect Claude to YouTube: one free key
YouTube’s Data API v3 reads public numbers for any channel: views, upload dates, and subscriber counts rounded to three digits (some channels hide theirs). A key you create in Google Cloud is the only extra thing Claude needs. Get it (about 5 minutes):
Create a project
Open console.cloud.google.com and create a project, any name.
Enable the API
APIs & Services → Library → search YouTube Data API v3 → Enable.
Create the key
APIs & Services → Credentials → Create credentials → API key. Google now asks for an API restriction first: choose YouTube Data API v3, create the key and copy it. No billing needed; the API runs on a free daily quota. (The guide says “Copy it. That’s it”, without the restriction.)
The same from a terminal, with Google’s gcloud tool. (The guide refers to two gcloud lines in its download. They need a signed-in gcloud and a project first, and the key line needs the API restriction to work; all of that is fixed here, and the last two lines print the key.)
Download the scanner
The reviewed copy is the first link at the top: a 6 KB zip holding scan.js, a README, a key template and the guide’s 11-channel list. Unzip it anywhere, paste your key into youtube_key.json in place of the placeholder text (keep the quotes), and open Claude Code in that folder. (The guide links its own download. This copy makes two changes to the script: its first comment line no longer carries the author’s branding, and a live stream or a video a day or longer no longer crashes the run. The README is rewritten with the corrections on this page.)
The whole script, as in the download. It only talks to Google’s API and writes one JSON file next to itself.
Or let Claude build its own
Paste this into Claude Code. (Changed from the guide, which pastes the key itself into the prompt: that sends it to Anthropic and saves it in Claude Code’s local history, and Claude would likely write it into the script. Before starting Claude Code, set it in the terminal you’ll start it from: on a Mac or Linux run read -rs YOUTUBE_API_KEY && export YOUTUBE_API_KEY, paste the key and press Enter (it isn’t shown or saved in your shell history); in PowerShell run $env:YOUTUBE_API_KEY = Read-Host, paste the key and press Enter. Then run claude in that same window. The desktop app’s Code tab can’t see a variable set this way, so use the terminal for this prompt. The 4-minute floor and the search cap are added too: “long-form” is ambiguous now that Shorts run to 3 minutes, and a script that pages through results can use up the day’s 100 searches in one run.)
Never paste it in a comment, a screenshot or a public repository. If it leaks, delete it in the console and make a new one; it costs nothing. Keep it restricted to YouTube Data API v3.
Run the scan, read the numbers
Three arguments, in this order: days back (10), the most subscribers a channel may have (300,000: small channels, not Netflix), and long for videos of 4 minutes and up. Leave long off to include Shorts; that mode uses its own keyword list and 40 searches. Always give the two numbers before long: “node scan.js 10 long” prints no rows, still uses 32 searches, and replaces last_scan_long.json with an empty one (not in the guide). A long run makes 32 searches, sees up to 1,600 videos and takes a few minutes. (The guide says 16 keyword searches, about 1,300 videos, under 4 minutes.)
What a row means
One row of the output, for the guide’s lead example. (The guide shows it as 27.4x and leaves out the date, the link and the keyword that found it.)
“ERR search: … exceeded your quota”: you’ve used today’s 100 searches; they reset at midnight Pacific Time. “API key not valid”: check youtube_key.json. “candidates 0” and no rows: nothing matched, so widen the days or the keywords. ENOENT or SyntaxError at the start: the key file is missing or no longer valid JSON. Not in the guide.
Then ask Claude the question that matters
The guide says its version of this prompt found the 11 channels below, though a long scan can’t return Twig by Twig’s 61-second Short, so that one came from another run. (Changed from the guide in two places. The scan file holds no upload history and nothing that shows a presenter, so the prompt now has Claude fetch each channel’s public feed, and marks “no presenter” as a guess to check. And the guide’s “the six things all of them have in common” is now “what most of them have in common”: see the next section.)
Make it yours
Open scan.js and replace the keyword list on line 8 with your niche (“true crime documentary”, “space documentary”, “history explained”); that’s the list long mode uses, and lines 9 and 10 hold the default mode’s. For another market, change regionCode and relevanceLanguage on line 20 and the language filter on line 38, and translate the keywords. Run it every Monday; a long scan uses 32 of the 100 daily searches. (The guide mentions only line 8 and regionCode.)
YouTube’s developer policies don’t allow keeping statistics such as subscriber counts for more than 30 days, or creating new metrics from API data, which an outlier score is, without Google’s approval. Treat the scan as your own research and delete scan files older than 30 days. Not in the guide.
Or paste scan.js into Claude Code with this. The script already fetches each video’s comment count, so it’s a one-line change.
Eleven channels, 14.2M views, found on 20 October 2026
Views on each channel’s breakout video at scan time, with 21 October in brackets. Subscribers at scan time. The guide shortens and re-cases some titles. Eight of the 11 channels are under a year old; three are old accounts that switched to this format.
The eleven breakout videos; each video page links its channel. (The guide links every name and title.)
What the 11 actually share
(The guide calls these the six things all 11 share. Only the titles hold for every one.)
YouTube’s monetization rules exclude “inauthentic content” (the old “repetitious content” rule, renamed on 15 July 2025; YouTube says it was always ineligible): channels where videos feel interchangeable, and AI made with generic templates that look mass-produced. A separate rule on unsatisfying or off-putting content adds “a series showing repetitive scenarios of animals in exaggerated distress or peril”, stitched-together AI clips meant to shock, and realistic fake disasters. Reused content earns nothing either: other people’s footage without real commentary, or readings of text you didn’t write. What YouTube allows is AI used to edit your scripts or make a unique background. Realistic AI scenes must be marked “AI use” under Attributes when you upload; that doesn’t cut reach or pay, while skipping it repeatedly can cost the channel. AI scripts and thumbnails need no label. Thumbnails and titles that promise what the video doesn’t show count as spam. Several of the 11 above fit these exclusions. Not in the guide.
Eight tools
(The guide says 8 tools, 7 free. Six are free and two have free tiers.)
The models behind the footage
Rupee prices from Google’s India plans; dollars at the European Central Bank rate on 21 October 2026, ₹94.47 to $1. (The guide says “4 models” and about ₹20 to 35 for an 8-second Veo 3 or Seedance clip on a paid plan; that covers only Veo 3.1 Lite.)
Make one: A · the script
Swap the topic for the breakout video from Step 2. For 20 minutes, about 2,800 words, ask for a 12-chapter outline first, then one chapter at a time, as the guide says. Do it in one interactive Claude Code session or chained with claude -p --continue, because each plain -p call starts with no memory of the outline (not in the guide). The “> script.txt” at the end is added so the file the cut needs exists; on Windows, run this line in Command Prompt, not PowerShell: Windows PowerShell 5.1’s > saves the file as UTF-16, which Kokoro reads as noise. About 140 words makes a minute; time the first take.
B · the voice
ElevenLabs: in the Voice Library, pick a voice from the Narration category and add it to your voices. Then paste the script into Text to Speech, raise Stability for a steady read, and download the MP3. Speed 0.9 is only available on the older Multilingual v2 and Flash models; v3 and v4 have no speed slider. Use a paid plan for a monetized channel. (The guide says a voice tagged Narration, stability high, speed 0.9.)
Free alternative: Kokoro-82M, voice am_michael (American) or bm_george (British), with the commands below. It needs espeak-ng: brew install espeak-ng on a Mac, sudo apt-get install espeak-ng on Debian or Ubuntu, the installer from espeak-ng’s GitHub releases on Windows. If the voice sounds thin, run it through ClearerVoice’s speech super-resolution. (The guide says ClearerVoice, without naming the part.)
Install and narrate. Kokoro needs Python 3.10 to 3.12, so this makes its own Python 3.12 environment; the version pin makes pip stop with an error on a newer Python instead of quietly installing an old Kokoro with no command-line tool. On a Mac run brew install python@3.12 first; on Linux install your distribution’s Python 3.12 and its venv package (Ubuntu 24.04: sudo apt-get install python3.12-venv); on Windows install Python 3.12 from python.org, run py -3.12 -m venv narration-env, write narration-env\Scripts\ wherever the commands say narration-env/bin/, and run Kokoro as narration-env\Scripts\python -X utf8 -m kokoro … so it reads the script as UTF-8. Kokoro writes a WAV file; in the cut prompt and the Whisper command below, use narration.wav instead of narration.mp3. Not in the guide.
C · free footage (no camera, no AI needed)
List every clip with its source and licence in the description; for CC BY, add the author, a licence link and that it was trimmed. Check every file’s licence before you use it. (The guide calls Internet Archive “free licence” and says the Titanic clip it used is Ifremer’s, CC BY 4.0; no such clip could be found on Commons. Ifremer’s own Commons videos are CC BY 4.0, credited to the author named on each file.)
D · the cut
Paste into Claude Code, with the files in the folder. FFmpeg must be installed with caption support: on Windows, winget install --id Gyan.FFmpeg -e; on a Mac the standard Homebrew ffmpeg can’t burn in captions, so install ffmpeg-full and follow the PATH line Homebrew prints. Name a font file if Claude asks. A 16:9 video is a regular upload, not a Short. Not in the guide.
To time the captions to the voice, make word timings with Whisper first, in the same Python 3.12 environment as Kokoro. If you skipped Kokoro, get Python 3.12 as its note says; on Windows, use py -3.12 -m venv narration-env for the first line and narration-env\Scripts\ wherever the commands say narration-env/bin/. Then add “time the captions from narration.srt” to the prompt. Not in the guide.
E · the thumbnail (Nano Banana in Gemini)
Point the arrow only at something the video actually shows. Upload it as JPG or PNG, 16:9, at least 640 pixels wide; custom thumbnails need a verified YouTube account. (The guide’s prompt ends “no watermark”. That’s removed: a prompt can’t remove Gemini’s marks.)
What it pays
Figures are public YouTube numbers at scan time (20 October 2026) and estimates; examples, not a promise of what you will earn.
Week 1 · setup
Run it once
Get the API key, unzip the scanner and run it.
Ask the group-by-channel question
The prompt from Step 2.
Pick ONE niche
Where three or more small channels broke out, and where you can tell a real, researched story each time (see the monetization box above; not in the guide).
Create the channel
Name, and a banner from a Nano Banana still. YouTube wants at least 2048 × 1152 pixels with text inside the central 1235 × 338; free Gemini downloads at 1K, so upscale it. Not in the guide.
Post the trailer
Make the 60-second clip from Step 3 and set it as the channel trailer: YouTube Studio → Customization → Home tab → Channel trailer. It’s 16:9, so it posts as a regular video, not a Short.
Weeks 2 to 4 · the loop
Monday
Run the scan and pick the week’s two topics.
Tuesday
Claude writes both outlines and chapter 1 of each. The other eleven chapters still need writing before you voice them, which the guide doesn’t schedule.
Wednesday and Thursday
Voice, footage and cut, one video a day. (The guide’s own estimate elsewhere is a weekend per 20-minute video, so expect this to slip.)
Friday and Sunday
Publish one 20-minute video each, at the same time of day.
Day 30
Seven videos up: the trailer and six (the guide says eight videos up). Make three more like the best one, each with its own story rather than an interchangeable copy; that last part is not in the guide (see the monetization box above).