Automation and scraping · Edition No. 29 · 23 Sep 2026

NotJoeMartinez/yt-fts

Full-text and semantic search across every subtitle of a whole YouTube channel — competitor research at transcript level.

← Automation and scrapingRead the whole edition →
10

NotJoeMartinez/yt-fts

💎 hidden gem

1.8k stars · Unlicense · v0.1.62 (2025-07-04) · Track this in Scout

Full-text and semantic search across every subtitle of a whole YouTube channel — competitor research at transcript level.

Repo detailsthe review · specs · pros & cons · install

What it is

yt-fts is a Python command-line tool. It downloads the subtitle tracks for every video on a channel, stores them in a SQLite file (a database that is one ordinary file), and searches them with full-text search. It can also do meaning-based search using embeddings if you supply an API key.

What it is good for. Anyone who needs to find something inside a long series of videos: a conference channel, a course, a podcast with video, a competitor's back catalogue. The situation it fixes is the familiar one of knowing a phrase was said somewhere in four hundred hours of video and having no way to get to it.

Stars1.8k
LicenceUnlicense
Latestv0.1.62 (2025-07-04)checked 7 Sep 2026
Written inPython
Good
  • The Unlicense, which is public domain — no conditions of any kind. The second such project this archive has published, after RSS-Bridge in Edition 28.
  • The results carry the video and the timestamp, so a search ends with a link that starts playing at the right moment.
  • Everything lands in one SQLite file, which you can query with ordinary SQL or move to another machine by copying it.
Watch for
  • It depends on YouTube continuing to serve subtitles the way it does today. When that changes, the tool breaks until someone fixes it.
  • The newest release, v0.1.62, is dated 4 July 2025 and code last landed on 22 January 2026. The author had described the project as finished; it is alive by the eighteen-month measure and it is not moving quickly.
  • Downloading a large channel takes a while and uses the network hard. Doing this to somebody's channel can run against YouTube's terms of use, so read them.
Similar repositories
Install
python3 -m venv venv
source venv/bin/activate
pip install yt-fts
yt-fts download --jobs 5 "https://www.youtube.com/@SomeChannel"
yt-fts search "point in time recovery"

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.