YouTube Content Research: Mine 10 Competitor Videos Fast

YouTube content research used to mean watching competitors at 2x with a notes doc open and my attention drifting by video three. Now, before scripting anything, I pull transcripts of the top 10 videos on the target topic and have an LLM mine their hooks, common structure, and — the valuable part — the questions none of them answer. The whole run takes 15 minutes and two tools: a short Python loop and one analysis prompt.
Collect the corpus
Search your topic on YouTube, copy the video ids of the top 10 results by views, and let the loop do the rest:
import requests, time
API_KEY = "yt_your_key"
video_ids = ["VIDEO_ID_1", "VIDEO_ID_2"] # your top 10
corpus = []
for vid in video_ids:
r = requests.get(
"https://youtube2text.org/api/transcribe",
params={"url": f"https://www.youtube.com/watch?v={vid}",
"maxChars": 30000},
headers={"x-api-key": API_KEY}, timeout=60)
data = r.json()
if "result" in data:
corpus.append(f"### {data['result']['title']}\n{data['result']['content']}")
time.sleep(1)
open("corpus.md", "w").write("\n\n".join(corpus))
The maxChars: 30000 is doing real work there. Ten videos at 30k characters each is a ~300k-character corpus — around 75-85k tokens, comfortably inside Claude's 200k context with room left for analysis. And 30k characters covers roughly the first 25 minutes of talking, which is more than enough for hook and structure mining. The if "result" check matters because one or two videos in any top 10 will have captions disabled and return TRANSCRIPT_UNAVAILABLE — skip them and move on.
The competitive-analysis prompt
Paste the corpus into this:
Below are transcripts of the 10 most-viewed videos about {TOPIC}.
Analyze across all of them:
1. HOOKS — quote the first two sentences of each video.
What patterns repeat?
2. STRUCTURE — outline the section order most videos share.
3. CLAIMS — list specific claims or numbers that appear in
three or more videos. These are table stakes.
4. GAPS — questions a viewer would still have after watching
all 10. Be specific; these are my content opportunities.
Cite the video title for every observation.
{PASTE corpus.md}
Section 4 is why I bother. On a recent run for a database-comparison topic, all ten videos benchmarked read speed and not one covered migration cost — that gap became my best-performing video of the quarter.
What transcripts can't tell you
The limitation worth stating plainly: retention is words plus everything else. A hook that reads flat on paper may work because of a b-roll cut or a thumbnail promise, and the transcript sees none of that. I treat the corpus analysis as the map, then actually watch the top three videos to see how the words are delivered. Also, auto-captions occasionally mangle the technical terms you're trying to pattern-match on, so eyeball the corpus file before trusting claim counts.
Quota and making it a habit
One research run is 10 API calls. The free tier's 5 videos a month won't cover a single run, so this workflow realistically starts at the $5.99 basic tier — 50 videos, or five topic deep-dives a month. Weekly research across several niches fits pro at $9.99 for 500. For production-grade fetching with retries and 429 handling, the Python guide has the fuller script; if you want the corpus permanently queryable instead of one-shot, feed it into a channel RAG setup. And once the gap analysis hands you an angle, the video-to-blog-post pipeline turns the resulting video back into an article.
Keys are a Google sign-in away at youtube2text.org/app/keys — no card, no phone, and your next content calendar argues for itself.