Torznab-compatible search API that scrapes yummyanime.tv and exposes results for Sonarr/Jackett-style clients.
/api?t=capsfor Torznab capabilities/api?t=search&q=QUERYfor basic search/api?t=tvsearch&q=QUERYand/api?t=movie&q=QUERY- Docker-ready
This indexer only uses the free-text q parameter for searching; other Torznab
IDs (tvdbid/imdbid) are ignored.
It attempts to resolve a direct HLS (.m3u8) link from the embedded player
and puts it into the enclosure field. If multiple voice tracks exist, it
emits multiple items with the voice in parentheses. If it cannot resolve the
stream, it falls back to the player URL. When DOWNLOAD_CLIENT_BASE is set,
the enclosure URL points at /hls, which returns a tiny .torrent wrapper
embedding the direct HLS URL and referer so Sonarr can pass it to the custom
download client. This is still not a real torrent/magnet.
Season packs: when season is provided and ep is empty, the indexer emits a
single "season pack" item (per voice). The download client expands it into all
episodes for that season.
Titles include the original (alternative) title when available and an SxE1-N
episode range suffix for series/season results.
This service also exposes a lightweight Transmission-compatible RPC endpoint
that downloads HLS with ffmpeg. Sonarr can use it as a download client.
High level:
- Set
DOWNLOAD_CLIENT_BASEso the indexer emits download URLs pointing to this service. - Configure Sonarr download client as Transmission pointing at this container.
- Share the download directory between this container and Sonarr.
For example (docker compose):
environment:
- DOWNLOAD_CLIENT_BASE=http://yummi-anime-parser:8000
- HLS_DOWNLOAD_DIR=/downloads/hls
Sonarr settings example:
- Download Client: Transmission
- Host:
yummi-anime-parser - Port:
8000 - URL Base:
/transmission/rpc - Username/Password: empty
- Directory:
HLS_DOWNLOAD_DIRmounted into Sonarr
- Host:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000Open:
http://localhost:8000/api?t=capshttp://localhost:8000/api?t=search&q=naruto
docker build -t yummyanime-torznab .
docker run --rm -p 8000:8000 yummyanime-torznabYUMMY_BASE_URL(default:https://yummyanime.tv)REQUEST_TIMEOUT(default:20)USER_AGENT(optional)RESOLVE_DIRECT(default:1, set to0to disable direct HLS resolution)DOWNLOAD_CLIENT_BASE(optional, when set it rewritesenclosureURLs for Sonarr)HLS_DOWNLOAD_DIR(default:/downloads/hls)HLS_TEMP_DIR(optional)HLS_OUTPUT_EXT(default:mp4)HLS_FFMPEG_ARGS(optional extra ffmpeg args)HLS_MAX_CONCURRENT(default:1)HLS_SELECT_BEST(default:1, pick the highest bandwidth variant in master playlists)TRANSMISSION_SESSION_ID(default:yummyanime-session)TRANSMISSION_REQUIRE_SESSION(default:0)TRANSMISSION_USER/TRANSMISSION_PASS(optional basic auth for the RPC)