# NotJoeMartinez/yt-fts

YouTube Full Text Search - Search all of YouTube from the command line

Repository: https://github.com/NotJoeMartinez/yt-fts
Canonical: https://ross.abutalabs.com/products/yt-fts
Language: Python
License: Unlicense
License Family: permissive
Topics: chromadb, full-text-search, semantic-search, youtube, sqlite, click, rag, cli, llm, yt-dlp
Last push: 2026-01-22T05:47:32+00:00

## Health v2 (maintenance only)
Score: 59/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 63, release rhythm 40, longevity 85
- inputs: {"age_days": 1202, "days_push": 223, "days_rel": 425, "gap_med": 0, "n_releases_24m": 6}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1812, forks 98 (observed 2026-08-28T04:05:39.631151+00:00)

## What it is
yt-fts is a Python command line tool that downloads all subtitles from a YouTube channel or playlist via yt-dlp and stores them in a SQLite database for full-text search. It also supports semantic search using OpenAI or Gemini embeddings with ChromaDB, plus LLM-based chat and video summarization over the transcripts.

## Use cases
- search all of a YouTube channel's videos for a keyword or phrase from the terminal
- find the exact timestamp in a video where a phrase was said
- download and store channel subtitles locally in a searchable database
- run semantic search over YouTube transcripts using embeddings
- chat with an LLM over a channel's transcript content (RAG)
- generate summaries of YouTube videos from their subtitles

## When to choose
- you want to search a specific YouTube channel's spoken content with timestamped links
- you prefer a local SQLite-backed transcript archive you control
- you want a terminal-first workflow with optional semantic search and RAG features

## When to avoid
- you need actively maintained software - the author has declared the project abandoned
- you need to search all of YouTube rather than specific channels or playlists
- you need a GUI or web interface instead of a CLI
- videos lack subtitles, since the tool depends entirely on caption availability

## Facets
- artifact type: cli-tool
- maturity: abandoned
- function: search-engine, web-scraping, rag, llm-inference, cli
- domain: developer-tools
- platform: cli, python, cross-platform
- tags: youtube, subtitles, full-text-search, semantic-search, sqlite, chromadb, yt-dlp, transcripts, search, video, natural-language-processing, command-line

## Member repositories
- NotJoeMartinez/yt-fts (main) score 59

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:39.631151+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:21:11.961933+00:00, confidence not recorded.
  - readme: https://github.com/NotJoeMartinez/yt-fts (fetched 2026-08-28T04:05:39.631151+00:00, sha 7c0e6a260b26)
  - registry_pypi: https://pypi.org/pypi/yt-fts/json (fetched 2026-08-29T10:59:57.373227+00:00, sha a192a0c584b9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
