Listseerr bridges the gap between list providers (Trakt, MDBList, etc.) and your request manager (Seerr). Point it at your favorite curated lists, and it will automatically create requests for every movie and show — on a schedule, hands-free.
Filtering and curation stay where they belong: in the list provider. Listseerr focuses on doing one thing well — syncing lists to requests.
┌──────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ Trakt │◀────│ │ │ │ │ *arr │
├──────────┤ │ │ request │ │────▶│ stack │
│ StevenLu │◀────│ Listseerr │────────▶│ Seerr │ └───────────┘
├──────────┤ │ │ │ │
│ MDBList │◀────│ │ └───────────┘
├──────────┤ └───────────┘ ▲
│ AniList │◀────┘ │ approve
└──────────┘ ┌─────┴─────┐
│ User │
└───────────┘
How it works: Listseerr fetches media from your lists → creates requests in Seerr → you review and approve → your *arr stack downloads the media. Previously rejected or already-available media is automatically skipped.
Tip: Create a dedicated Seerr user without auto-approve permissions so you can review requests before anything gets downloaded.
| Provider | Status | Requirements |
|---|---|---|
| Trakt | ✅ | Free API key |
| MDBList | ✅ | Free API key |
| StevenLu | ✅ | None |
| AniList | ✅ | None |
| StevenLu variations | 🗓️ Planned | |
| IMDB | 🗓️ Planned | |
| Letterboxd | 🗓️ Planned | |
| TheMovieDB | 🗓️ Planned | |
| MyAnimeList | 🗓️ Planned |
All integrations use official APIs for reliability and speed.
Want another provider? Open an issue →
1. Create compose.yaml
services:
listseerr:
image: ghcr.io/guillevc/listseerr:latest
container_name: listseerr
ports:
- 3000:3000
environment:
TZ: 'UTC'
ENCRYPTION_KEY: '' # Required — generate with: openssl rand -hex 32
volumes:
- ./data:/app/data
restart: unless-stopped2. Start the container
docker compose up -d3. Set up your lists
Open http://localhost:3000, create your account, and start adding lists.
All configuration is done via environment variables:
| Variable | Description | Default |
|---|---|---|
ENCRYPTION_KEY |
Required. Encryption key for sensitive data. Generate with openssl rand -hex 32 |
— |
PORT |
Server port | 3000 |
DATABASE_PATH |
Path to SQLite database | /app/data/listseerr.db |
LOG_LEVEL |
debug · info · warn · error |
info |
TZ |
Timezone (IANA format) | UTC |
# Docker
docker exec -it listseerr bun /app/dist/reset-password.js
# Local
bun run password:reset- Multiple provider support (Trakt, MDBList, StevenLu, AniList)
- Scheduled automatic processing
- Dark/Light theme
- Docker support
- More list providers
- Notifications
Have an idea? Open an issue →
If Listseerr is useful to you, consider supporting its development:

