Practical overview
When it fits
Use it when research begins with the spoken content of selected YouTube channels or playlists and exact transcript search or semantic retrieval is more useful than manual video-by-video browsing.
Who it is for
- Researchers exploring a selected YouTube channel’s spoken archive.
- Developers building local transcript-search or RAG workflows.
- Users who prefer command-line tools and local searchable data.
Documented uses
- Download subtitles from YouTube channels or playlists.
- Search transcripts by keyword, phrase or semantic similarity.
- Locate matching moments through timestamped YouTube URLs.
- List, update, export or delete stored transcript data.
- Create an embeddings-based retrieval layer over collected subtitles.
Requirements & limits
The cited repository is public and identifies the project as open source under the Unlicense. Semantic search requires an OpenAI or Gemini API key, supplied through an environment variable or command option.
- It is a CLI rather than a browser-based research interface.
- The archive is built from subtitles, so coverage depends on subtitle availability.
- Full-text searches support SQLite enhanced query syntax and are limited to 40 characters.
- Semantic retrieval depends on an OpenAI or Gemini embeddings API key.
- The README describes the project as abandoned, which matters for maintenance-dependent use.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Build a searchable YouTube subtitle archive
Download subtitles from a channel or playlist and search the saved transcripts.
Before you start
- A Python environment with yt-fts installed using pip.
- A YouTube channel or playlist URL.
- Browser cookies may be supplied if YouTube requests sign-in.
Steps
Install yt-fts with pip.
Run the download command with a channel or playlist URL; language, jobs and browser cookies can be specified.
Use the list command to inspect saved channels, videos and transcripts.
Run search with a keyword or phrase, optionally limiting it to a channel or video.
Use the returned matches to open timestamped YouTube links or export results to CSV.
Expected outcome
A local SQLite-backed subtitle library with searchable matches and, where returned, timestamped video links.
Guide limitations
- Some videos may not have subtitles.
- Search strings are limited to 40 characters.
- The README describes the project as abandoned.
- Source-based guidance is not human verification.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 1 October 2026
- Original website title
- NotJoeMartinez/yt-fts · Official homepage title · retained in its source language

