# Criterion × Radarr toolkit Four small Python scripts for finding out which Criterion Collection films are missing from a Radarr library, deciding which to care about, and getting Radarr to fetch them. Standard library only, no `pip install`. Run them in this order: | Script | What it does | |---|---| | `criterion_crossref.py` | Pulls your Radarr library and the full Criterion list from Letterboxd, matches on TMDB ID with a title+year fallback, and writes `criterion_crossref.json` (owned / fuzzy / missing). | | `fetch_ratings.py` | Looks up the Letterboxd rating of every missing film and writes `criterion_missing.txt`, best-rated first. | | `add_to_radarr.py` | Adds every missing film to Radarr as monitored, without searching. | | `search_radarr.py` | Triggers searches for a priority list of titles in paced batches so your indexers aren't hammered. | ## Configuration Everything comes from environment variables. Nothing is hard-coded. ```sh export RADARR_URL="http://radarr.local:7878" export RADARR_API_KEY="..." # Radarr → Settings → General → API Key export RADARR_ROOT_PATH="/movies" # add_to_radarr.py only export RADARR_QUALITY_PROFILE_ID="1" # add_to_radarr.py only ``` ## Example ```sh python3 criterion_crossref.py --fast # quick title-only pass python3 criterion_crossref.py # full pass, resolves TMDB IDs (slower) python3 fetch_ratings.py # -> criterion_missing.txt python3 add_to_radarr.py python3 search_radarr.py my_priorities.txt # or omit the file for the built-in list ``` Be kind to Letterboxd: the scripts sleep between requests on purpose.