What it works with
Every service Shortlist can talk to — Plex, TMDB, Sonarr, Radarr, Overseerr, Jellyseerr, Trakt, MDBList, Exa, SearXNG, Tautulli and the AI providers — what each one adds, and which are actually required.
Two things are required: Plex, and a free TMDB key. Everything below that is optional, and Shortlist runs with none of it — no AI account, no download apps, no paid anything.
Required
| Service | What it does | What you need |
|---|---|---|
| Plex | Where the rows appear, and where watch history comes from | Plex Pass, and Plex Media Server 1.43.2 or newer |
| TMDB | Finds titles similar to what someone watched | A free API key — no card, takes a minute |
Plex Pass is not optional. Private per-person rows depend on a sharing feature Plex only exposes to Plex Pass servers, so without it Shortlist cannot keep one person’s row off everyone else’s screen.
Where extra suggestions come from
| Service | What it adds | What you need |
|---|---|---|
| Trakt | Titles TMDB misses, from its own lists | An API key, which now needs Trakt’s paid VIP plan |
| MDBList | Ratings from IMDb, Rotten Tomatoes, Metacritic and Trakt | A free API key |
Who writes the reason next to a pick
Any one of these, or none — with none, Shortlist still writes a plain-English reason itself.
| Service | What you need |
|---|---|
| Claude, GPT, Gemini | An API key for that provider |
| Ollama, llama.cpp, LM Studio, vLLM, LocalAI | A model you run yourself — no key |
If you want a model to search the web before it answers:
| Service | What you need |
|---|---|
| Your provider’s own search | Nothing extra — Claude, GPT and Gemini can search on their own |
| Exa | A hosted search API and an account |
| SearXNG | Search you host yourself. No account, no key. |
A model you run yourself cannot search on its own, so it needs Exa or SearXNG. SearXNG is the option with nothing to sign up for.
Getting missing titles
When a row wants something the server doesn’t have, Shortlist can ask for it. Pick one route:
| Service | What it does |
|---|---|
| Radarr / Sonarr | Shortlist adds the title directly, using your quality profile and root folder |
| Overseerr / Jellyseerr | Shortlist hands the request over and lets them decide — their profiles, their approvals |
Overseerr and Jellyseerr are the same integration; Jellyseerr is a fork and speaks the same API. Use one route or the other, not both. Set it up →
Everything else
| Service | What it does |
|---|---|
| Tautulli | Optional. Only used for friendlier display names — Shortlist reads watch history from Plex directly |
| A webhook | Optional. Posts JSON to a URL you choose when a run fails, so an overnight failure isn’t silent |
The webhook is a generic JSON POST, so it works with Discord, Slack, Home Assistant, n8n or anything that accepts one.
What Shortlist does not work with
Jellyfin and Emby. The privacy mechanism is built on a Plex sharing feature that has no equivalent in either, so there is no version of this that works there.
Edit this page on GitHub