No description
  • Python 93.4%
  • PowerShell 6.6%
Find a file
2026-09-07 21:27:03 +02:00
anilist_provider Init 2026-09-07 21:27:03 +02:00
config Init 2026-09-07 21:27:03 +02:00
scripts Init 2026-09-07 21:27:03 +02:00
tests Init 2026-09-07 21:27:03 +02:00
.gitignore Create .gitignore 2026-09-07 21:26:39 +02:00
pytest.ini Init 2026-09-07 21:27:03 +02:00
README.md Init 2026-09-07 21:27:03 +02:00
requirements.txt Init 2026-09-07 21:27:03 +02:00

AniList Plex Metadata Provider

A Plex Custom Metadata Provider (PMS 1.43+) that matches anime from folder titles and pulls posters, banners, summaries, genres, cast, and per-season AniList covers.

This is not a legacy .bundle plugin. Plex is removing those in 2026. This process speaks the new HTTP metadata-provider API.

What it does

  • Cleans fansub folder names ([SubsPlease], BD tags, CRC hashes)
  • Searches AniList by title (optional Show Name [anilist-12345])
  • Groups TV sequels into Plex seasons, each with that season's AniList poster
  • Fills episode titles from AniList streamingEpisodes when present
  • Serves both TV (/tv) and movies (/movie)

Requirements

  • Plex Media Server 1.43 or newer
  • Python 3.11+
  • This process must keep running while Plex refreshes metadata

AniList public GraphQL does not need an API key. If you have a token from anilist.co/settings/developer, put it in config/local.yaml:

anilist:
  access_token: YOUR_TOKEN

Run

.\scripts\start.ps1

The provider listens on http://127.0.0.1:3847.

Optional logon task so it survives reboot:

.\scripts\install_task.ps1

Register the URLs with this Plex server (also creates the AniList TV / AniList Movies agent groups):

.\scripts\register_plex.ps1

Use the Plex web app in a browser (the Windows desktop app often hides Settings → Metadata Agents).

Plex treats a provider (this HTTP service) and an agent (a named group of providers) as two different things. The library Advanced dropdown only lists agents.

Existing libraries that still use a legacy agent (AniList.bundle, AMSA, TheTVDB, …) will not show custom agents as valid. Plex 1.43 keeps those libraries on the old agent list until the scanner is also switched to the modern one:

Library Scanner Agent
Anime (TV) Plex TV Series (not “Plex Series Scanner”) AniList TV
Anime Movies Plex Movie (not “Plex Movie Scanner”) AniList Movies

After that, open a show → ⋯ → Refresh Metadata. Existing matches often keep the old agent until you Unmatch then Fix Match. Do not recreate the libraries.

Config

File Purpose
config/default.yaml host/port, title language, cache TTL, rate limit
config/aliases.yaml short fansub names → better search (Kokoore, LasTame, …)
config/local.yaml optional overlay (gitignored), including AniList token

title_language is english, romaji, or native.

Tests

.\.venv\Scripts\python.exe -m pytest