| name | overseerr |
| description | This skill should be used when the user wants to request movies or TV shows via Overseerr, monitor or manage media requests, or check request status. Triggers include: "request a movie", "request a TV show", "add to Overseerr", "check request status", "pending requests", "is my request done", "Overseerr status", or any mention of Overseerr media requesting. |
Overseerr Media Request Skill
Request movies and TV shows via the Overseerr API. Search, request, and monitor media request status.
Purpose
This skill enables media request management through Overseerr:
- Search for movies and TV shows
- Request new media (movies, TV series, specific seasons)
- Check request status (pending, processing, available)
- Monitor request progress
- Support for 4K requests
Note: This skill targets Overseerr (the stable project), not the newer "Seerr" rewrite that is in beta.
Setup
Credentials are configured in the arrs plugin settings (userConfig). A SessionStart hook writes them to ~/.config/lab-arrs/config.env, which the scripts load automatically — no manual file editing. Variables used:
OVERSEERR_URL="http://localhost:5055"
OVERSEERR_API_KEY="your-api-key"
OVERSEERR_URL: Your Overseerr server URL (no trailing slash)
OVERSEERR_API_KEY: API key from Overseerr (Settings → General → API Key)
Get your API key:
- Open Overseerr web UI
- Go to Settings → General
- Scroll to "API Key" section
- Copy your API key
Commands
All commands use Node.js scripts and return JSON output.
Search
Find movies or TV shows:
node scripts/search.mjs "the matrix"
node scripts/search.mjs "bluey" --type tv
node scripts/search.mjs "dune" --limit 5
Parameters:
--type movie|tv: Filter by media type
--limit N: Maximum results to return
Request Media
Request movies or TV shows:
node scripts/request.mjs "Dune" --type movie
node scripts/request.mjs "Bluey" --type tv --seasons all
node scripts/request.mjs "Severance" --type tv --seasons 1,2
node scripts/request.mjs "Oppenheimer" --type movie --is4k
Parameters:
--type movie|tv: Media type (required)
--seasons all|1,2,3: Season selection for TV (default: all)
--is4k: Request 4K version
Check Request Status
View pending and processing requests:
node scripts/requests.mjs --filter pending
node scripts/requests.mjs --filter processing --limit 20
node scripts/request-by-id.mjs 123
Parameters:
--filter pending|processing|available|all: Filter by status
--limit N: Maximum results
Get Enriched Request Details
View detailed request information with media metadata:
node scripts/requests-enriched.mjs --filter pending
Monitor Requests (Polling)
Continuously watch request status:
node scripts/monitor.mjs --interval 30 --filter pending
Parameters:
--interval N: Polling interval in seconds (default: 30)
--filter: Status filter
Workflow
When the user asks about media requests:
- "Request Dune" → Search for "Dune", confirm with user, then request
- "Add Bluey to my library" → Search, request as TV with all seasons
- "What's pending?" → Run
requests.mjs --filter pending
- "Is my Oppenheimer request done?" → Search requests or use request ID
- "Request seasons 1-3 of Severance" → Request with
--seasons 1,2,3
Request Flow
- Search for the media
- Present results with TMDB/TVDB links
- User confirms selection
- Submit request (optionally with 4K flag)
- Check status periodically or wait for notification
Request Statuses
- pending: Awaiting approval
- processing: Approved, being fetched by Sonarr/Radarr
- available: Downloaded and ready in Plex
Notes
- Requires network access to your Overseerr server
- Uses
X-Api-Key header authentication
- Overseerr coordinates with Sonarr/Radarr for actual downloads
- 4K requests require 4K quality profiles configured in Overseerr
- Webhooks can push status updates; polling is the baseline approach
Multiple Servers
To use multiple Overseerr instances, override environment variables:
node scripts/search.mjs "query"
OVERSEERR_URL="http://server2:5055" OVERSEERR_API_KEY="key2" node scripts/search.mjs "query"
Reference
Local References
references/quick-reference.md — curl examples for all common operations
references/troubleshooting.md — error diagnosis and common failure modes
references/api-endpoints.md — full API endpoint catalog