Description
Seerr currently assumes:
const metadata = detailedResponse.MediaContainer.Metadata[0];
However, Plex sometimes returns:
<MediaContainer ...>
<Video ... ratingKey="669748dc85be974cd2ab194c" title="Marty Supreme" type="movie">
<Guid id="tmdb://1317288"/>
<Guid id="imdb://tt32916440"/>
<Guid id="tvdb://358417"/>
</Video>
</MediaContainer>
This causes Plex Watchlist Sync to fail because MediaContainer.Metadata is undefined.
Version
Seerr Stable 3.2.0
Docker image: ghcr.io/seerr-team/seerr:latest
Steps to reproduce
- Add a Plex Watchlist item whose Plex Discover metadata endpoint returns
<Video> instead of <Metadata>.
- Trigger Plex Watchlist Sync.
- Seerr fails while processing the watchlist item.
Verification command:
curl -sS -H "X-Plex-Token: $PLEX_TOKEN" "https://discover.provider.plex.tv/library/metadata/669748dc85be974cd2ab194c" | grep -oE '<(Metadata|Video)[ >]' | head -1
Output:
Expected behavior
Seerr should handle both response shapes:
detailedResponse.MediaContainer.Metadata?.[0]
and:
detailedResponse.MediaContainer.Video?.[0]
Actual behavior
Plex Watchlist Sync fails when MediaContainer.Metadata is missing.
Tested local fix
This fixed the issue locally:
const metadata = (
detailedResponse.MediaContainer.Metadata?.[0] ??
detailedResponse.MediaContainer.Video?.[0]
);
Relevant source line
In /app/dist/api/plextv.js:
const metadata = detailedResponse.MediaContainer.Metadata[0];
Version
3.2.0
Steps to Reproduce
Steps to reproduce:
-
Add Marty Supreme (2025) to the Plex Watchlist.
-
Run Plex Watchlist Sync in Seerr 3.2.0.
-
The Plex Discover metadata endpoint for that item returns <Video> instead of <Metadata>.
-
Seerr fails because it assumes detailedResponse.MediaContainer.Metadata[0] exists.
I also saw the same failure pattern with other watchlist items, including Highlander (unreleased yet) and Perfect Days (2023).
Screenshots
No response
Logs
seerr | 2026-04-24T08:40:03.090Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T08:50:00.060Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T08:50:02.671Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:00:00.018Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T09:00:06.690Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:10:00.076Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T09:10:01.361Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:20:00.027Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T09:20:03.433Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:30:00.016Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T09:30:06.288Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:40:00.011Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T09:40:03.997Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:46:20.033Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:46:37.458Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:49:31.172Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T09:49:39.660Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T09:49:40.273Z [info][Notifications]: Sending notification(s) for MEDIA_AUTO_REQUESTED {"subject":"Star Trek Into Darkness (2013)"}
seerr | 2026-04-24T09:49:40.275Z [info][Media Request]: Sent request to Radarr {"requestId":172,"mediaId":138}
seerr | 2026-04-24T09:49:40.289Z [info][Watchlist Sync]: Created media request from user's Plex Watchlist {"userId":1,"mediaTitle":"Star Trek Into Darkness"}
seerr | 2026-04-24T09:49:40.320Z [info][Notifications]: Sending notification(s) for MEDIA_AUTO_REQUESTED {"subject":"Star Trek VI: The Undiscovered Country (1991)"}
seerr | 2026-04-24T09:49:40.322Z [info][Media Request]: Sent request to Radarr {"requestId":173,"mediaId":139}
seerr | 2026-04-24T09:49:40.333Z [info][Watchlist Sync]: Created media request from user's Plex Watchlist {"userId":1,"mediaTitle":"Star Trek VI: The Undiscovered Country"}
seerr | 2026-04-24T09:49:41.289Z [info][Radarr]: Radarr accepted request
seerr | 2026-04-24T09:49:41.303Z [info][Radarr]: Radarr accepted request
seerr | 2026-04-24T09:49:47.246Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T09:50:00.067Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T09:57:37.581Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
seerr | 2026-04-24T10:00:00.016Z [info][Jobs]: Starting scheduled job: Plex Watchlist Sync
seerr | 2026-04-24T10:00:06.258Z [error][Plex.TV Metadata API]: Failed to retrieve watchlist items {"errorMessage":""}
Platform
desktop
Database
SQLite (default)
Device
Any - issue os on the docker image
Operating System
docker image
Browser
irrelevant
Additional Context
No response
Search Existing Issues
Code of Conduct
Description
Seerr currently assumes:
However, Plex sometimes returns:
This causes Plex Watchlist Sync to fail because
MediaContainer.Metadatais undefined.Version
Seerr Stable 3.2.0
Docker image:
ghcr.io/seerr-team/seerr:latestSteps to reproduce
<Video>instead of<Metadata>.Verification command:
Output:
Expected behavior
Seerr should handle both response shapes:
and:
Actual behavior
Plex Watchlist Sync fails when
MediaContainer.Metadatais missing.Tested local fix
This fixed the issue locally:
Relevant source line
In
/app/dist/api/plextv.js:Version
3.2.0
Steps to Reproduce
Steps to reproduce:
I also saw the same failure pattern with other watchlist items, including Highlander (unreleased yet) and Perfect Days (2023).
Screenshots
No response
Logs
Platform
desktop
Database
SQLite (default)
Device
Any - issue os on the docker image
Operating System
docker image
Browser
irrelevant
Additional Context
No response
Search Existing Issues
Code of Conduct