---
title: "Jellyfin TMDb Plugin Date Parse Failure → Switch to TheTVDB"
aliases: [jellyfin-tmdb-thetvdb, jellyfin-metadata-plugins, jellyfin-images-failing]
tags: [jellyfin, media-stack, homelab, metadata, tmdb, thetvdb, plugin]
sources:
  - "daily/2026-04-28.md"
created: 2026-04-28
updated: 2026-04-28
---

# Jellyfin TMDb Plugin Date Parse Failure → Switch to TheTVDB

The Jellyfin TMDb metadata plugin silently fails to load images when the TMDb API returns dates in a format the plugin cannot parse. The symptom is that library entries render with only text — no poster, no backdrop, no episode thumbnails — without any obvious error in the UI.

## Key Points

- **Root cause:** TMDb API changed `published_at` format to `"2019-03-15 17:20:30 UTC"` — Jellyfin's TMDb plugin could not parse this format and silently failed on all image fetch operations
- **Symptom:** Library shows only text, no images; no error displayed to user; Jellyfin logs may show `FormatException` or similar during metadata refresh
- **Fix:** Install TheTVDB plugin (v20.0.0+) as a replacement for TV metadata; it handles the current API formats correctly
- **Jellyfin episode naming:** Jellyfin prefers `S01E01` naming format; Sonarr can auto-rename episodes via Settings → Media Management → "Rename Episodes"
- **Prowlarr is search-only:** Cannot add content directly from Prowlarr results — must use Sonarr (TV) or Radarr (movies) → Add New → search

## Details

### TMDb Date Format Change — Silent Image Failure

TMDb updated their API to return `published_at` timestamps in the format `"2019-03-15 17:20:30 UTC"` instead of the ISO 8601 format `"2019-03-15T17:20:30Z"` that the Jellyfin TMDb plugin expected. The plugin's date parsing threw an exception internally but didn't surface it to the Jellyfin UI — it simply continued without loading any images.

This means the library appeared to work (metadata titles, descriptions, ratings populated correctly) but all visual elements were missing. Without checking Jellyfin server logs specifically for the image fetch pipeline, this is extremely hard to diagnose.

To identify: open Jellyfin logs (`/var/log/jellyfin/` or via Admin → Dashboard → Logs) and look for exceptions during a manual "Refresh Metadata" operation on an affected item.

### TheTVDB Plugin as Replacement

TheTVDB plugin (v20.0.0) is available in the Jellyfin plugin catalog and handles current API date formats correctly. For TV shows it is actually the preferred metadata source as TheTVDB has more comprehensive episode data than TMDb for many series.

**Install path:** Admin → Plugins → Catalog → TheTVDB → Install → Restart Jellyfin

After installing, go to Admin → Libraries → (your TV library) → Edit → Metadata → set TheTVDB as the primary metadata source (or highest priority). Run "Refresh All Metadata" to repopulate images.

Note: TMDb plugin can remain installed for movie libraries where it works correctly — the issue was specific to TV series metadata and the `published_at` field.

### Jellyfin Episode Naming and Sonarr Integration

Jellyfin's file scanner uses a naming parser that prioritizes `S01E01` format. It can recognize some variants (`1x01`, `Episode 1`) but `S01E01` is the most reliable.

Sonarr can automatically rename downloaded episodes to Jellyfin-compatible names:
- **Settings → Media Management → Episode Naming** — configure the naming template
- **"Rename Episodes"** checkbox — enable auto-rename on import
- Recommended template: `{Series Title} - S{season:00}E{episode:00} - {Episode Title}`

Jellyfin then picks up the correctly named files on its next library scan.

**Sonarr root folder gotcha:** The default Root Folder may point to an unexpected path (e.g. `/data/tv/anime`) if it was set when adding the first series. Always verify the Root Folder before adding a new series type — a wrong root folder sends downloads to the wrong location and Jellyfin won't see them. Change per-series in Sonarr → Series → Edit → Root Folder.

Jellyfin is reasonably flexible in naming recognition — `S01E01`, `1x01`, and some plain `Episode 1` variants will be detected. Files without any episode marker (e.g. `The.Rookie.1080p.mkv`) are treated as movies or unknown. Always aim for `S01E01` to guarantee detection.

## Related Concepts

- [[wiki/concepts/prowlarr-flaresolverr-limitation]] — Prowlarr indexer setup including FlareSolverr and Docker Cloudflare blocking
- [[wiki/homelab/_index]] — full media stack setup (Radarr, Sonarr, qBittorrent, Prowlarr, Jellyfin)

## Sources

- [[daily/2026-04-28.md]] — TMDb plugin date parse failure discovered when Jellyfin library showed only text, no images; TheTVDB v20.0.0 installed as fix; episode naming and Sonarr auto-rename noted; Prowlarr search-only role clarified
