Seerr
Seerr integration brings media request data into Librariarr for use in lifecycle rules.
- Go to Settings → Integrations
- Under the Seerr section, click Add Instance
- Enter:
- Name: A label (e.g., "Seerr")
- URL: Seerr base URL (e.g.,
http://192.168.1.100:5055) - API Key: Found in Seerr → Settings → General → API Key
- Click Test Connection to verify
- Save
What It Provides
Section titled “What It Provides”Seerr integration makes request metadata available in Librariarr:
| Data | Description |
|---|---|
| Request status | Whether media was requested, approved, or declined |
| Requester | Who requested the media |
| Request date | When the request was made |
| Request count | Number of requests for this media |
| Approval/decline date | When the request was acted on |
Use on the Dashboard
Section titled “Use on the Dashboard”Once a Seerr instance is connected, the Seerr Requests card can be added from the dashboard's main tab (in Edit Layout mode). It shows per-user request statistics with watch follow-through:
| Column | Description |
|---|---|
| Total | Total requests submitted by the user |
| Movies | Movie requests |
| Movie % | Percentage of requested movies the user has watched |
| Series | TV series requests |
| Series % | Episodes watched as a percentage of episodes available across all requested series |
| Overall % | Combined watch percentage across movies and series episodes |
The card has two views: a compact top-5 leaderboard (default) and a full sortable table (toggle via "View all"). Stats are fetched live from Seerr and cached for 60 seconds.
Drill down into a user's requests
Section titled “Drill down into a user's requests”Click any user row to open a dialog with their full request history. Each entry shows:
- Poster, title, and year (resolved from your library when available, or fetched from Seerr otherwise)
- Media status badge (Available, Partial, Processing, Pending, Deleted)
- 4K badge when applicable
- Watch indicator (per-episode progress for series)
- Created date
Clicking a request that's in your library navigates to the corresponding library page (/library/movies/[id] for movies, /library/series/show/[id] for series). Requests for media that aren't in your library are shown but not clickable.
The dialog supports filtering (All / Movies / Series / Watched / In progress) and free-text title search.
Watch correlation
Section titled “Watch correlation”Watch history is correlated by matching the requester's Plex username in Seerr against the username in your Plex/Jellyfin/Emby watch history. Requirements:
- The Seerr user must have a
plexUsernameset (visible in Seerr → Users) - The matching media server user must share that username
- Watch history must have been synced from the media server
Users without a linked Plex username appear in the card with an icon indicating that watch history can't be correlated.
For series, the watched count is computed per-episode: the numerator is the number of episodes the user has played, the denominator is the total number of episodes available in your library for that series (matched via TVDB ID).
Use in Lifecycle Rules
Section titled “Use in Lifecycle Rules”Seerr data is available as rule conditions in the lifecycle engine:
| Field | Description | Example Use |
|---|---|---|
seerrRequested | Whether media was requested | Keep all requested content |
seerrRequestDate | When requested | Delete if requested over a year ago |
seerrRequestCount | Number of requests | Prioritize frequently requested content |
seerrRequestedBy | Who requested | Filter by specific user |
seerrApprovalDate | When approved | Track time since approval |
seerrDeclineDate | When declined | Clean up declined requests |
Example Rule
Section titled “Example Rule”Create a rule set to find media that was requested but never watched:
seerrRequestedequalstrue- AND
playCountequals0 - AND
seerrApprovalDatebefore 6 months ago
Security
Section titled “Security”- API keys are stored securely and never exposed to the frontend
- Connection testing uses server-side endpoints
Limitations
Section titled “Limitations”- Seerr data is fetched live during rule evaluation, which can be slower for large match sets
- Multiple Seerr instances are supported; the dashboard card aggregates requests across all of them per Plex username
- Request data availability depends on Seerr having been running when requests were made — historical data before Seerr was set up is not available
- Watch correlation on the dashboard card relies on the Seerr user's
plexUsernamematching the username in your media server's watch history