Remote anime metadata, tags, artwork and people for Jellyfin using multiple sources (AniList, AniDB, Jikan/MAL, TVDB, Fanart.tv, Fribb mappings and .plexmatch files). Built for large libraries with cautious rate limiting and persistent caching.
- Multi-source IDs: resolves AniList, AniDB, MAL, TVDB, TMDB, IMDb, Kitsu, AniSearch via Fribb mappings + optional
.plexmatchoverrides. - Metadata: titles, descriptions, genres, studios, scores, relations/seasons, people (voice actors/staff), tags (AniDB).
- Images: fanart.tv + TVDB backdrops, posters, logos, season art with quality filters and limits.
- Rate limits & backoff: AniList (30/min), Jikan (spacing + retry-after), AniDB (soft cap with backoff and ban detection).
- Persistent caches: AniDB and AniList responses cached up to 5 days and persisted to disk to survive restarts.
- Jellyfin 10.11.2+ (net9.0 plugin, ABI 10.11.2.0)
- API keys (optional but recommended):
- Fanart.tv personal API key
- The plugin honors
.plexmatchfiles to improve ID resolution (title/year/TVDB/IMDb overrides). These files prevent mis-matches on tricky titles, remasters, and specials. - Sonarr can generate
.plexmatchautomatically: go to Settings → Metadata, enable Plex, and tick the option to write.plexmatchfiles. - If you already have
.plexmatchfiles in your library, keep them alongside the series folders—no further setup needed.
Option 1: Plugin repository (recommended)
- Jellyfin Dashboard → Plugins → Repositories.
- Add repository: Name
AnimeMultiSource, URLhttps://raw.githubusercontent.com/webbster64/jellyfin-plugin-AnimeMultiSource/main/manifest.json. - Go to Catalog, find Anime Multi Source, click Install.
- Restart Jellyfin (then hard refresh browser: Ctrl+Shift+R / Cmd+Shift+R).
Option 2: Manual install from release
- Download the latest
AnimeMultiSource_v*.zipfrom the releases. - Extract into your Jellyfin
plugins/AnimeMultiSource/folder. - Restart Jellyfin.
Option 3: Build from source
dotnet build(ordotnet publish -c Release) in the repo root.- Copy the contents of
Jellyfin.Plugin.AnimeMultiSource/bin/<Configuration>/net9.0/into your Jellyfinplugins/AnimeMultiSource/folder. - Restart Jellyfin.
Open Dashboard -> Plugins -> Anime Multi Source:
- Enter Fanart.tv personal key (for logos/backdrops).
- Set AniDB client name/version.
- Configure backdrop limits/quality and enable/disable sources as desired.
- Approved genres: prefilled with a curated list; edit or clear as needed (one genre per line).
- AniList: spaced to ~30 req/min; cached 5 days; persisted on disk.
- AniDB: soft daily cap with slow mode; ban/limit responses trigger backoff; cached 5 days; persisted on disk.
- Jikan/MAL: spaced (~2.5s) with retry-after; lightweight caching via AniList reuse where possible.
- Persistent cache file:
provider-cache.jsonunder the plugin data folder (fallback toAppContext.BaseDirectory/AnimeMultiSourceCache). Entries older than 5 days are discarded automatically.
.plexmatchfiles are honored for ID hints (title/year/TVDB/IMDb).- If AniDB is temporarily paused, tags will be skipped for that window but metadata will still complete; caching prevents repeat hits after the first successful fetch.
- Logs include rate-limit waits, cache hits, and any AniDB backoff reasons to help diagnose slowdowns.
- Use standard season/episode naming:
Show Name/Season 1/Show Name - S01E12 - Title.mkv. Avoid date/daily formats (e.g.,Show Name - 2022-03-23.mkv) because Jellyfin/TVDB episode mapping will be skipped. - Keep one series per folder with season subfolders (
Season 1,Season 2, …). Place.plexmatchin the series root. - If using Sonarr/Radarr, set the series type to “Standard” (not “Daily/Date”) so files are named with
SxxEyy.
- No tags? Check logs for AniDB backoff messages; waits clear automatically. After a successful tag pull, results are cached/persisted for 5 days.
- Fanart/TVDB images missing? Verify keys and item has a TVDB ID.
- Slow first scan on huge libraries is expected; subsequent scans benefit from caches.
GPLv3 (matches Jellyfin plugin requirements).