Map

Anime mappings. Each entry lists matching records’ URLs in sources.

Entries may include multiple IDs per service. Find IDs with search.

Previous API: deprecated /api/map reference.

Routes

GET/api/v1/map

Full dataset in anime-offline-database style. data holds entries; lastUpdate is the latest update date (YYYY-MM-DD). Empty datasets have data: [] and omit lastUpdate.

curl https://animap.id/api/v1/map

Example response:

{
  "license": {
    "name": "anidump map data, served by animap.id",
    "url": "https://animap.id/"
  },
  "repository": "https://animap.id/",
  "lastUpdate": "2026-09-20",
  "data": [
    {
      "sources": [
        "https://anidb.net/anime/23",
        "https://anilist.co/anime/1",
        "https://kitsu.app/anime/1",
        "https://myanimelist.net/anime/1"
      ],
      "title": "Cowboy Bebop",
      "type": "TV",
      "episodes": 26,
      "status": "FINISHED",
      "animeSeason": { "season": "SPRING", "year": 1998 },
      "picture": "https://animap.id/static/no_pic.png",
      "thumbnail": "https://animap.id/static/no_pic.png",
      "duration": { "value": 1440, "unit": "SECONDS" },
      "synonyms": ["カウボーイビバップ"],
      "studios": ["Sunrise"],
      "producers": [],
      "relatedAnime": [],
      "tags": ["Action", "Sci-Fi"]
    }
  ]
}

GET/api/v1/map/{service}/{id}

One entry. Any member ID returns the same entry.

service: mal, anidb, anilist, kitsu, or ann. id: integer from 1 to 2147483647.

curl https://animap.id/api/v1/map/mal/1
curl https://animap.id/api/v1/map/anidb/23

Invalid ID: 400. Unsupported service or missing entry: 404.

Field reference

Field Type Meaning
sources array of strings Mapped record URLs, including service IDs.
title string Main title.
type / status string Normalized type and status; UNKNOWN if unavailable.
episodes integer Episode count; 0 if unknown.
animeSeason object season and year. Unknown: UNDEFINED and null, respectively.
picture / thumbnail string Image URLs, with a placeholder if unavailable.
duration object · null Episode duration: positive value in SECONDS; null if unknown.
synonyms array of strings Alternative titles.
studios array of strings Studio names.
producers array of strings Producer names.
tags array of strings Descriptive tags.
relatedAnime array of strings Related anime URLs.

Empty arrays are [], never null.

Deprecated: /api/map

These endpoints remain available for existing clients. Use /api/v1/map for new integrations. The legacy dataset also powers search and /api/map/aod; its mappings may differ from v1.

Examples illustrate response formats; source IDs and coverage may change.

GET/api/map/{id}

One entry by MAL ID, with cross-service IDs, MAL title, synonyms, and release year. Missing entry: 404. Unknown title or year: null.

curl https://animap.id/api/map/290
{
  "mal_id": 290,
  "anidb_id": [1],
  "anilist_id": [290],
  "ann_id": [14],
  "kitsu_id": [265],
  "imdb_id": ["tt0286390"],
  "tmdb_id": [{ "id": 26209, "type": "tv" }],
  "tvdb_id": [72025],
  "aplanet_id": ["crest-of-the-stars"],
  "title": "Seikai no Monshou",
  "synonyms": ["Crest of the Stars", "星界の紋章"],
  "year": 1999
}

IMDb and TMDB links come through AniDB; TVDB links share those IDs. Franchise groupings may include films and specials. TMDB references retain their tv or movie namespace.

GET/api/map

Full map, one object per MAL ID, sorted by mal_id. /api/map/mal is an alias. Empty dataset: [].

curl https://animap.id/api/map
[
  {
    "mal_id": 1,
    "anidb_id": [23],
    "anilist_id": [1],
    "ann_id": [13],
    "kitsu_id": [1],
    "imdb_id": ["tt0213338", "tt0889816"],
    "tmdb_id": [{ "id": 30991, "type": "tv" }],
    "tvdb_id": [76885],
    "aplanet_id": ["cowboy-bebop"],
    "title": "Cowboy Bebop",
    "synonyms": [],
    "year": 1998
  }
]

GET/api/map/{service}

Full map grouped by the requested service’s ID. Matching MAL rows are merged; other IDs become unioned arrays. The title comes from the requested service, falling back to MAL.

Services: mal, anidb, anilist, ann, kitsu, imdb, tmdb, tvdb, and aplanet. TMDB listings use an {id, type} object as the key.

curl https://animap.id/api/map/anidb
[
  {
    "anidb_id": 1,
    "mal_id": [290],
    "anilist_id": [290],
    "ann_id": [14],
    "kitsu_id": [265],
    "imdb_id": ["tt0286390"],
    "tmdb_id": [{ "id": 26209, "type": "tv" }],
    "tvdb_id": [72025],
    "aplanet_id": ["crest-of-the-stars"],
    "title": "Seikai no Monshou",
    "synonyms": ["Crest of the Stars", "星界の紋章"],
    "year": 1999
  }
]

AniDB, AniList, ANN, and Kitsu also include unmapped IDs with known titles and empty cross-reference arrays. Conflicting grouped years produce year: null.

GET/api/map/{service}/{id}

One grouped entry for a service ID, using the same fields as its listing. IMDb IDs use the tt prefix; Anime-Planet uses a slug; other services use positive integers. Invalid ID: 400. Missing entry: 404.

/api/map/mal/{id} returns a one-element array containing the MAL entry. TMDB lookups match both namespaces and return tmdb_id as an array of typed references.

curl https://animap.id/api/map/anidb/69
{
  "anidb_id": 69,
  "mal_id": [21, 459, 4155],
  "anilist_id": [21, 463],
  "ann_id": [973],
  "kitsu_id": [12],
  "imdb_id": ["tt0388629"],
  "tmdb_id": [{ "id": 37854, "type": "tv" }],
  "tvdb_id": [81797],
  "aplanet_id": ["one-piece"],
  "title": "One Piece",
  "synonyms": ["ワンピース"],
  "year": 1999
}