A simple JSON REST API. No auth needed for the first 100 requests per day. Batch up to 50 titles in one call.
https://api.anidub.devAll endpoints work anonymously up to 100 requests per day (IP-based). For higher limits, include your API key in the X-Api-Key header.
curl https://api.anidub.dev/v1/anime/21 \
-H "X-Api-Key: your_key_here"/v1/anime/:anilist_idReturns full dub status for a single AniList title by its numeric ID.
anilist_idPATHlanguageQUERYINVALID_IDanilist_id is not a positive integerNOT_FOUNDNo title with that ID in the databasecurl https://api.anidub.dev/v1/anime/21{
"animeId": "a1b2c3d4",
"anilistId": 21,
"malId": 21,
"kitsuId": 12,
"titleEnglish": "One Piece",
"titleRomaji": "One Piece",
"coverImage": "https://cdn.anilist.co/img/...",
"dub": {
"language": "en",
"status": "dubbed",
"confidence": 0.95,
"lastVerifiedAt": "2024-12-01T00:00:00.000Z"
}
}/v1/anime/lookupBatch lookup — resolve up to 50 AniList IDs in a single request.
idsBODYlanguageBODYBAD_REQUESTRequest body is not valid JSONVALIDATION_ERRORids is missing, empty, or exceeds 50 itemscurl https://api.anidub.dev/v1/anime/lookup \
-X POST \
-H "Content-Type: application/json" \
-d '{"ids": [21, 11061, 1535]}'{
"results": [
{
"anilistId": 21,
"titleEnglish": "One Piece",
"dub": {
"language": "en",
"status": "dubbed",
"confidence": 0.95,
"lastVerifiedAt": "2024-12-01T00:00:00.000Z"
}
},
{
"anilistId": 11061,
"titleEnglish": "Hunter x Hunter (2011)",
"dub": {
"language": "en",
"status": "dubbed",
"confidence": 0.95,
"lastVerifiedAt": "2024-11-20T00:00:00.000Z"
}
}
],
"notFound": [1535]
}/v1/healthHealth check. Returns service status, current API version, and timestamp.
curl https://api.anidub.dev/v1/health{
"status": "ok",
"version": "0.1.0",
"timestamp": "2024-12-01T12:00:00.000Z"
}animeIdstringInternal database UUIDanilistIdnumberAniList title IDmalIdnumber | nullMyAnimeList IDkitsuIdnumber | nullKitsu IDtitleEnglishstring | nullOfficial English titletitleRomajistring | nullRomanized Japanese titlecoverImagestring | nullCover image URL (AniList CDN)dubDubInfo | nullnull when no dub is tracked for the requested languagelanguagestringISO 639-1 language code (e.g. "en")statusDubStatusOne of the four status values — see belowconfidencenumberScraper confidence score, 0–1lastVerifiedAtstring | nullISO 8601 timestamp of last verified scrapedubbedin_productionannouncednoneINVALID_IDPath param anilist_id is not a positive integerBAD_REQUESTJSON body could not be parsedVALIDATION_ERRORBody schema failed — see error.message for detailNOT_FOUNDAnime ID not present in the databaseINTERNAL_ERRORUnexpected server errorAll error responses share the shape: { error: string, code: string }