Match IMDb IDs with MyAnimeList IDs.

A small public API for anime projects. Resolve an IMDb title ID to MAL entries, or a MAL anime ID to an IMDb title ID.

https://api.mikai.me/v1/public/imdb-mal/imdb/tt13293588
Response

IMDb to MAL

Send an IMDb title ID and receive matching MyAnimeList entries.

MAL to IMDb

Send a MyAnimeList anime ID and receive the matching IMDb title ID.

JSON

ID matching only

No search, metadata, providers, or catalog payloads. Just MAL and IMDb ID matching.

Endpoints

Public API reference

Read-only JSON endpoints for projects that already have either a MAL ID or an IMDb title ID.

GET

IMDb title ID to MAL entries

Use an IMDb title ID to get one or more matching MyAnimeList entries.

/v1/public/imdb-mal/imdb/{imdbId}
curl https://api.mikai.me/v1/public/imdb-mal/imdb/tt13293588

{
  "ok": true,
  "result": {
    "imdbId": "tt13293588",
    "matches": [
      {
        "malId": 39535,
        "season": 1
      },
      {
        "malId": 45576,
        "season": 1,
        "episodeOffset": 11
      },
      {
        "malId": 51179,
        "season": 2
      },
      {
        "malId": 55888,
        "season": 2,
        "episodeOffset": 12
      }
    ]
  }
}
GET

MAL anime ID to IMDb title ID

Use a MAL anime ID to get the matching IMDb title ID.

/v1/public/imdb-mal/mal/{malId}
curl https://api.mikai.me/v1/public/imdb-mal/mal/39535

{
  "ok": true,
  "result": {
    "malId": 39535,
    "imdbId": "tt13293588"
  }
}

Match fields

Fields returned inside IMDb to MAL matches.

malIdMyAnimeList anime ID.
seasonSeason number for this IMDb title match.
episodeOffsetOptional. Start this match after the given episode number. For example, episodeOffset 11 starts at episode 12.

Response schema

Every response uses the same JSON envelope: ok plus result or error.

Success response200 OK
{
  "ok": true,
  "result": {
    "imdbId": "tt13293588",
    "matches": [
      {
        "malId": 39535,
        "season": 1
      },
      {
        "malId": 45576,
        "season": 1,
        "episodeOffset": 11
      }
    ]
  }
}
Error response404 Not Found
{
  "ok": false,
  "error": {
    "message": "match not found"
  }
}

Status codes

Use HTTP status codes for control flow. Errors include error.message.

200Match found. The result is returned in result.
400Invalid ID format. MAL IDs are numeric; IMDb title IDs start with tt.
404Valid ID, but no match is known.
503The match index is temporarily unavailable. Retry shortly.

Usage and data

Free to use, including commercial use. Attribution is welcome but not required.

Data is aggregated from open sources, own matching data, and third-party services. The API exposes only the final ID matches.

Matches may be incomplete or inaccurate. Report missing or incorrect matches at [email protected] .