AniDB.app provider¶
AniPlay uses AniDB.app as an independent English catalog provider. It is unrelated to the metadata database at anidb.net.
Request flow¶
- Search calls
https://anidb.app/search/suggestions?q=...and parses every returned anime card. - AniPlay stores a prefixed, Base64URL-encoded ID containing the native numeric ID and canonical slug.
- Episodes come from
/api/frontend/anime/{id}/episodes. - Audio choices come from
/api/frontend/episode/{episodeId}/languages. Sub requiresjpn; dub requireseng. - AniPlay loads the selected embed, extracts native HTTPS MP4/HLS sources and subtitle tracks, and expands HLS master qualities.
- The embed origin, referer, and browser user agent are retained for playback and FFmpeg downloads.
AniPlay never silently changes the selected audio language. If a native source cannot be resolved, the browser fallback opens the canonical AniDB.app title page.
Cloudflare verification¶
AniDB.app may return a managed browser challenge even when requests use normal browser headers. AniPlay keeps this provider in an isolated persistent Electron session. When verification is required, it opens a sandboxed AniDB.app window that shares only that provider session, then retries the original operation once.
The verification window has Node.js disabled, rejects permissions, popups, downloads, non-HTTPS navigation, and navigation away from AniDB.app. AniPlay does not implement a challenge bypass.
Adult content¶
Adult results remain disabled by default. The shared adult-content setting applies to both Docchi and AniDB.app and migrates the previous Docchi-only preference.
Troubleshooting¶
- A 429 response means AniDB.app has rate limited the current connection. Wait before retrying.
- Repeated verification generally indicates the network or IP address is being challenged. A different network may behave differently.
- “Selected language unavailable” means that episode does not expose the requested
jpnorengentry. - Provider HTML and private endpoints can change without notice. Update parser fixtures alongside any resolver change.