Getting Started with MyAnimeList (Jikan)

← MyAnimeList API

When to use this API

When you need structured data about anime or manga — titles, scores, genres, airing schedules, seasonal lineups, or character cast lists. Jikan is the unofficial read-only API for MyAnimeList, and it excels at questions that combine reception metrics with metadata: "which psychological manga from the 90s is highest-rated," "what's airing this season that's a sequel," or "find me a seinen manga by Naoki Urasawa." The genre/theme/demographic distinction is unusually granular for a public API, and score, rank, popularity, and members are four genuinely different signals about how a title is received — not synonyms. For user reviews, forum posts, or writing your own ratings, you need a MAL account and the official v2 API; Jikan is read-only and reflects public listing data only.

Looking up an anime by its MyAnimeList ID

"What's Cowboy Bebop's rating and how many people scored it?" Every anime on MyAnimeList has a numeric mal_id1 for Cowboy Bebop, 1535 for Death Note, and so on. A single ID lookup returns the full anime record: scores, genres, studios, broadcast schedule, the works.

curl "https://api.jikan.moe/v4/anime/1" | head -c 10000
{
  "data": {
    "mal_id": 1,
    "title": "Cowboy Bebop",
    "title_japanese": "カウボーイビバップ",
    "titles": [
      { "type": "Default", "title": "Cowboy Bebop" },
      { "type": "Japanese", "title": "カウボーイビバップ" },
      { "type": "English", "title": "Cowboy Bebop" }
    ],
    "type": "TV",
    "episodes": 26,
    "status": "Finished Airing",
    "aired": {
      "from": "1998-04-03T00:00:00+00:00",
      "to": "1999-04-24T00:00:00+00:00",
      "prop": { "from": { "day": 3, "month": 4, "year": 1998 }, "to": { "day": 24, "month": 4, "year": 1999 } },
      "string": "Apr 3, 1998 to Apr 24, 1999"
    },
    "score": 8.75,
    "scored_by": 1057284,
    "rank": 51,
    "popularity": 42,
    "members": 2047413,
    "favorites": 89323,
    "genres": [
      { "mal_id": 1, "name": "Action" },
      { "mal_id": 46, "name": "Award Winning" },
      { "mal_id": 24, "name": "Sci-Fi" }
    ],
    "themes": [
      { "mal_id": 50, "name": "Adult Cast" },
      { "mal_id": 29, "name": "Space" }
    ],
    "demographics": [],
    "studios": [{ "mal_id": 14, "name": "Sunrise" }],
    "season": "spring",
    "year": 1998,
    "rating": "R - 17+ (violence & profanity)"
  }
}

The titles array is where the API earns its keep — Default, Japanese, English, and sometimes Synonym are each present, and they don't always agree. "Cowboy Bebop" happens to be identical across languages, but for many titles the English title is a localization that differs from the romaji default. The four reception fields (score, rank, popularity, members) measure distinct things: score is the weighted average, rank orders by score, popularity orders by member count, and members is the raw headcount. A title can be popular (popularity: 42) but not top-ranked (rank: 51), and that gap tells you something about whether a show is loved or merely watched. Note also the genres/themes/demographics split — genres are traditional categories, themes are cross-cutting tags like "Adult Cast" or "Space," and demographics are the magazine audience target (shounen, seinen, etc.). Cowboy Bebop has an empty demographics array, which means MAL doesn't classify it under any magazine demographic.

Cowboy Bebop (mal_id 1) has a score of 8.75 from over 1 million users, ranking 51st by score but 42nd by popularity — it's more loved than its rank suggests. It's tagged as Action, Award Winning, and Sci-Fi with the themes Adult Cast and Space, and it originally aired in spring 1998 on Saturdays at 1 AM JST.

Finding what's airing this season

"What anime are airing right now?" The /seasons/now endpoint returns every anime in the current season — new shows, sequels, and continuing series. It's the fastest way to answer "what should I be watching?"

curl "https://api.jikan.moe/v4/seasons/now?page=1&limit=5" | head -c 10000
{
  "pagination": {
    "last_visible_page": 5,
    "has_next_page": true,
    "current_page": 1,
    "items": { "count": 5, "total": 116, "per_page": 5 }
  },
  "data": [
    {
      "mal_id": 61316,
      "title": "Re:Zero kara Hajimeru Isekai Seikatsu 4th Season",
      "title_english": "Re:ZERO -Starting Life in Another World- Season 4",
      "type": "TV",
      "episodes": 19,
      "status": "Not yet aired",
      "score": null,
      "members": 158435,
      "season": "spring",
      "year": 2026,
      "broadcast": { "day": "Wednesdays", "time": "22:00", "timezone": "Asia/Tokyo", "string": "Wednesdays at 22:00 (JST)" }
    }
  ]
}

The score on a season result can be null — this is not a mistake. Airing and not-yet-aired shows haven't accumulated enough ratings yet. The broadcast object is the one to watch: it gives you the day, time, and timezone (always JST) in both structured and human-readable form. The string field is ready to quote directly. The current season has 116 anime across 5 pages — always set limit to something reasonable and paginate, because a bare /seasons/now call with no limit returns 25 results per page by default, and there are typically 100+ titles per season.

Spring 2026 has 116 anime airing. One highlight is Re:ZERO Season 4 (mal_id 61316), airing Wednesdays at 10 PM JST — it already has 158,000 members following it before its first episode.

Looking up a manga series

"Tell me about the manga Monster by Naoki Urasawa." The manga endpoint mirrors the anime endpoint but swaps in manga-specific fields: chapters, volumes, authors, serializations, and publishing status instead of episodes, airing, and studios.

curl "https://api.jikan.moe/v4/manga/1" | head -c 10000
{
  "data": {
    "mal_id": 1,
    "title": "Monster",
    "title_japanese": "MONSTER",
    "type": "Manga",
    "chapters": 162,
    "volumes": 18,
    "status": "Finished",
    "publishing": false,
    "published": {
      "from": "1994-12-05T00:00:00+00:00",
      "to": "2001-12-20T00:00:00+00:00",
      "prop": { "from": { "day": 5, "month": 12, "year": 1994 }, "to": { "day": 20, "month": 12, "year": 2001 } },
      "string": "Dec 5, 1994 to Dec 20, 2001"
    },
    "score": 9.16,
    "scored_by": 116249,
    "rank": 6,
    "popularity": 27,
    "members": 288072,
    "favorites": 23675,
    "authors": [{ "mal_id": 1867, "name": "Urasawa, Naoki" }],
    "serializations": [{ "mal_id": 1, "name": "Big Comic Original" }],
    "genres": [
      { "mal_id": 46, "name": "Award Winning" },
      { "mal_id": 8, "name": "Drama" },
      { "mal_id": 7, "name": "Mystery" }
    ],
    "themes": [
      { "mal_id": 50, "name": "Adult Cast" },
      { "mal_id": 40, "name": "Psychological" }
    ],
    "demographics": [{ "mal_id": 41, "name": "Seinen" }]
  }
}

Monster is mal_id: 1 — the very first manga entry in the entire database, serialized in Big Comic Original (a seinen magazine) from 1994 to 2001. Its genre/theme breakdown is where Jikan shines: it's tagged Award Winning, Drama, Mystery as genres, Adult Cast and Psychological as themes, and Seinen as the demographic. Most manga APIs would give you "Drama, Mystery" and stop there. Jikan's three-way split tells you this is a psychological thriller aimed at adults, serialized in a magazine for that audience — and the demographics field is what encodes that last part. Also notice serializations: this is the magazine it ran in, which is a surprisingly useful signal for recommendations (if you liked something in Big Comic Original, other titles from the same serialization are natural suggestions).

Monster (mal_id 1) is a 162-chapter, 18-volume psychological thriller manga by Naoki Urasawa, serialized in Big Comic Original from 1994 to 2001. It scores 9.16 from over 116,000 ratings, ranking 6th overall, and is tagged under the seinen demographic.

Pitfalls

One-line summary for the user

I can look up anime, manga, characters, seasonal schedules, and rankings from MyAnimeList via Jikan — scores, genres, studios, broadcast times, and the full title/author/magazine metadata — in unauthenticated GET requests.