← All guides

Search a whole YouTube channel’s transcripts for a topic

Written by the VidWords Team · · Updated · Report a correction

Extracting one transcript answers “what did this video say”. It does not answer “which of these 200 videos mentioned the thing I care about, and at what minute” — a different job, and the one this page is about.

What you are actually asking for

The request usually arrives in roughly this shape: take a channel, look inside every video’s spoken words, find where a topic comes up, and hand back the quote with a link that jumps straight to that moment. Five steps, and only the middle one looks like “getting a transcript”.

The output that makes it useful is a citation, not a document:

Why Interest Rates Matter — 14:32
  "...inflation tends to stay sticky when wages..."
  https://youtube.com/watch?v=&t=872s

A wall of transcript text for 200 videos is not an answer to this question. It is the raw material somebody still has to search.

Three ways to do it

1. In the browser

Paste a channel or playlist URL into bulk extraction to pull the videos in one pass, then search the saved text. Transcripts you have already extracted stay in your library and are searchable by what was said rather than by title, so the second question about the same channel costs nothing.

2. Over the API

POST /api/channels enumerates a channel; POST /api/transcripts takes up to 50 video ids per call. Full reference in the API docs and the OpenAPI spec.

3. From an AI assistant, with no code

This is the route most people actually want, because the assistant does the searching and the citing. VidWords runs a hosted MCP server, so Claude, ChatGPT, Cursor or Claude Code can query a channel directly:

search_transcript
  video: ["abc123", "def456", … up to 25]
  query: "inflation"

It returns each matching moment with its timestamp, the surrounding quote, and a youtube.com/watch?v=…&t=…s deep link. Get the ids from list_channel_videos first. Both accept optional from/to timecodes — 615, 10:20 or 1:02:13 — when you only care about part of a video.

Keyword or meaning: the choice that decides the tooling

Worth settling before you build or buy anything.

Most people describe the second and are served by the first, because speakers usually do say the obvious word. Start literal; reach for embeddings only when you can name a passage the keyword search demonstrably missed.

What it costs

One Cloud Request per video searched when VidWords must retrieve its transcript. A free account is enough to try the workflow on a small set; paid plans and top-ups handle larger channels.

Building it yourself

Nothing here is magic, and if you have the appetite the architecture is short: enumerate the channel’s videos, fetch captions where they exist, store chunks keyed by video_id + start time, index the text, and construct ?v=…&t=…s links from the stored offsets. The parts that consume the time are not the ones people expect — caption availability, videos where captions are disabled, and datacenter IPs getting rate-limited or bot-walled by YouTube, which is the failure that ends most weekend versions of this. We wrote up that specific wall in yt-dlp bot verification and IP blocking.

Questions people ask

Does it work on any channel?

Any public channel whose videos carry captions or auto-captions. Where a video has no caption track at all, a signed-in account can transcribe it from audio instead — priced by length and quoted before you spend.

How many videos can one search cover?

Up to 25 per search_transcript call, and up to 50 video ids per REST call. Larger channels are several calls.

Can I search only part of a video?

Yes — pass from and to timecodes and only that span is returned and charged against your reading, rather than the whole video.

Do the timestamps actually link to the right moment?

Each result carries the start offset in seconds, and the link is built from it, so it jumps to the moment the phrase was spoken. Caption timing is YouTube’s, so a result can land a second or two early on auto-captions.

Is there a free way to do this without an account?

Three extractions a month, no account. Searching a channel in any meaningful sense exceeds that quickly, which is an honest limit rather than a dark pattern — fetching each video costs us a proxied request whether or not you are signed in.

Related

If you want the whole channel as files rather than as answers, bulk channel and playlist extraction is the page for that. If you want a question answered about what was shown rather than said, see analysing what is on screen.