guides

How to make your saved YouTube videos searchable (without re-watching anything)

Three concrete methods to find what was actually said in videos you've already saved on YouTube — from a 5-minute browser trick to a full transcript-search tool. Honest comparison.

SavedThat team10 min read

You know the moment: a phrase from a video you saved is in your head, and the video is somewhere in your YouTube library, but searching by title gets you nothing. The phrase wasn't in the title — it was in minute 23 of someone's monologue.

Here's the part most articles won't tell you: YouTube's "search your library" feature only matches titles, descriptions, and channel names. Not the spoken content. Not the captions. Not anything anyone actually said inside the video. By design.

Below are the three real options for making your saved videos searchable in 2026, ordered by effort and effectiveness. Pick the one that fits how often you need this.

Option 1 — YouTube's native search (5 seconds, limited utility)

YouTube ships a search bar at the top of youtube.com/feed/library and youtube.com/playlist?list=WL (your Watch Later). It looks like a real search. It is not — it matches only the title, description, and channel of each video, not the transcript.

That makes it useful in exactly two cases:

  1. You remember the exact title or near-exact phrasing the creator used. Most YouTube titles are SEO-optimised marketing taglines that rarely match how anyone normally references the video, so this is rarer than you'd think.
  2. You remember the channel name, and your library has a small enough collection that you can scroll the channel filter and recognise the thumbnail.

If neither applies, native search will fail. Don't waste time refining queries — the data isn't there.

Option 2 — Google Takeout + grep over transcripts (free, DIY, 30 minutes)

This is the developer's escape hatch. Google Takeout exports your YouTube data, which includes a list of every video you've saved. You then fetch the transcript for each video using YouTube's public timed-text API and search across all transcripts locally with a one-line grep.

It's free. It works. It also takes 30 minutes the first time and only stays current if you re-run it monthly.

Setup

Step 1 — Export your saved videos. Go to takeout.google.com, deselect everything, then select only "YouTube and YouTube Music." Inside YouTube, select "subscriptions" and "playlists" only (your Watch Later is a playlist). Export as ZIP, English. Wait for the email — usually within 5 minutes for normal-sized libraries, up to a few hours for power users.

Step 2 — Extract video IDs. Inside the export, find Takeout/YouTube and YouTube Music/playlists/Watch later.csv (and any custom playlists). The first column is the video ID. A 1-line shell snippet pulls them out:

tail -n +5 "Watch later.csv" | cut -d, -f1 > video_ids.txt

Step 3 — Fetch transcripts. Install yt-dlp (Homebrew: brew install yt-dlp). Then loop:

mkdir transcripts
while read -r vid; do
  yt-dlp --write-auto-sub --sub-lang en --skip-download \
    --output "transcripts/%(id)s.%(ext)s" \
    "https://www.youtube.com/watch?v=$vid"
done < video_ids.txt

This grabs auto-generated English captions as .vtt files. For 100 videos expect ~3 minutes; for 2,000 expect a couple of hours and you'll want to add sleep 1 between requests to avoid rate-limiting.

Step 4 — Search. Now grep works:

grep -ril "customer acquisition cost" transcripts/

You get a list of file IDs. The filename without the extension is the YouTube video ID — paste it into https://youtube.com/watch?v={ID} to open the video.

What this gives you

What this doesn't give you

This is the right answer if you have ≤200 saved videos, you grep on the command line three times a year, and you'd rather not pay for a tool. For everything else, the friction adds up.

The third option is the one we built SavedThat for: save the URL once, the system fetches the transcript automatically, and search across every saved video by what was said — including paraphrased queries, multiple languages, and Instagram Reels and TikToks.

The trade-off versus the DIY route is a recurring subscription past the free tier. The trade-off versus YouTube's native search is none — strictly more capability.

How the workflow looks

1. Sign up at savedthat.app — email or Google. No credit card. Free tier gives 30 saves per month, which is enough to see whether the search actually finds things you couldn't find before.

2. Paste any YouTube URL into the save field. The transcript is pulled in ~5 seconds, embedded, and indexed. If someone else has already saved that exact URL, your bookmark lands in less than a second because we share transcripts across users.

3. Search by what was said. The library view has an ask field at the top. Try queries you know would have failed in YouTube's native search:

Each result returns the exact quote, the timestamp, and a deep-link that opens YouTube at that second.

4. Bring your existing saves over (optional). Import a CSV of YouTube URLs in Settings → Import. SavedThat re-fetches and indexes them in the background. You can drop the CSV exported from Takeout (option 2 above) directly here.

Why this beats the DIY route at scale

Three differences compound:

Hybrid retrieval, not just full-text. SavedThat runs vector similarity (semantic) and Postgres tsvector full-text search in parallel, then merges results via reciprocal rank fusion. The semantic side catches paraphrased and cross-lingual queries; the full-text side nails exact-phrase recall. grep on the command line is full-text only.

Auto-updating. Save a video → indexed within 10 seconds → searchable forever, no re-runs. Compared to monthly Takeout re-exports.

Cross-platform. YouTube, Instagram Reels, and TikTok all use the same search interface and the same hybrid retrieval. yt-dlp + grep handles YouTube only.

If you save more than a few videos a month and need to find them later — across YouTube and the short-video platforms — option 3 is the workflow that actually keeps up.

Side-by-side

MethodSetup timeEffort to keep currentSearch typeMulti-platform
YouTube native0 minNoneTitle onlyPer platform
Takeout + grep + yt-dlp30 minManual monthly re-runFull-text onlyYouTube only
SavedThat5 minNone — autoHybrid (semantic + FTS)YouTube, Instagram, TikTok

A few edge cases you'll hit

Videos without captions. ~16% of YouTube uploads in major languages don't have any captions, native or auto-generated. With option 2, those videos aren't searchable. With option 3, SavedThat tries to fetch captions but if none exist the save still appears in your library — just isn't searchable until a caption track becomes available.

Live streams and very long videos. A 5-hour live-stream replay is a lot of transcript. Option 2 will store the full .vtt and grep will work fine. Option 3 (SavedThat) caps single-video duration at 1h on Free, 2h on Pro, 3h on Power because the transcription costs scale linearly. Past those limits, you'd save the video but not get a transcript.

Privacy with shared computers. Option 2 stores transcripts as plain files on your laptop — anyone with disk access can read them. Option 3 keeps transcripts behind your account in a cloud database; share links are explicit and revocable.

Library size. YouTube's Watch Later officially caps at 5,000 videos but starts behaving slowly above ~2,000. Both option 2 and option 3 handle 50K+ videos fine. Option 1 (native search) becomes useless in any case because scrolling through that many titles is the problem we started with.

The honest recommendation

If your library is small and you grep three times a year, option 2 is excellent. If you save videos as part of an actual workflow (research, podcast prep, content study) and re-find them more than once a month, the hosted tools win on time saved well before they cost you the price of a single coffee per month.

If you're trying option 1 right now and refining your query — stop. The data isn't in YouTube's index. You need one of the other two.

Keep reading

Frequently asked questions

Can I search YouTube's Watch Later by what was said?

Not natively. YouTube's library search only matches video titles, descriptions, and channel names — not the captions or spoken content of the video. To search by what was said, you need to export your saved video list and fetch the transcripts yourself, or use a third-party tool like SavedThat that does this automatically.

Does YouTube provide an official API to search transcripts?

YouTube exposes the timedtext API for fetching captions of a specific video by ID, but there is no official API to search across captions. Google Search itself sometimes surfaces transcript matches in featured snippets, but that's keyword search over the public web, not your private library.

Do auto-generated YouTube captions count as a real transcript?

Yes — for English in standard recording conditions, modern auto-captions hit roughly 95% word accuracy. They include timestamps and are good enough for both keyword and semantic search. Quality is lower for heavily accented speech, music backing, and overlapping speakers, but search remains useful well below perfect transcription because semantic embeddings handle near-misses gracefully.

Will my library still work if YouTube deletes the original video?

With option 2 (Takeout + grep), the .vtt files persist on your disk so search still works, but the YouTube link is dead. With option 3 (SavedThat), transcripts are stored in our database indefinitely so search and quotes still work — but the deep-link points to YouTube, so playback breaks if the video is removed. For long-term media archival, you need a separate solution.

Is yt-dlp legal to use for this?

yt-dlp downloads publicly-accessible captions, which YouTube's terms allow for personal, non-redistribution use. Caption files are functionally text files derived from publicly-available content. As of May 2026, the project is actively maintained and widely used. We are not lawyers — if you're building a commercial product on top of bulk caption extraction, get legal review.

How do I migrate from Pocket (now shut down) to a transcript-searchable tool?

Export your Pocket library before the deadline (Mozilla's grace period for archived data ended in early 2026). The export is a CSV of URLs. Filter for video URLs (youtube.com, youtu.be, instagram.com/reel, tiktok.com) and import the filtered list into SavedThat via Settings → Import. Non-video URLs from Pocket are better imported into Raindrop or Instapaper since transcript-search tools won't help with articles.