MyAnimeList API

Anime / OAuth Advanced HTTPS
Varies by plan (check documentation)

Overview

MyAnimeList (MAL) is the most popular anime and manga tracking site, and its official API lets you search titles, manage user watchlists, and retrieve community statistics. OAuth 2.0 with PKCE is required for all endpoints, making it more complex to set up than alternatives like Jikan. Developers building production anime apps benefit most from the official API.

💡

Beginner Tip

Consider using the unofficial Jikan API first if you just want to read MAL data without OAuth setup. The official MAL API is best when you need to read or write a user watchlist.

Available Data

anime/manga title
episode count
airing status
synopsis
rating score
genre list

Example Response

JSON Response
{
  "id": 1,
  "title": "Attack on Titan",
  "episodes": 75,
  "status": "Finished Airing",
  "score": 8.5,
  "genres": [
    "Action",
    "Drama",
    "Fantasy"
  ],
  "synopsis": "In a world where humanity lives within enormous walled cities..."
}

Field Reference

node.id The MAL unique ID for the anime.
node.title The title of the anime series.
node.mean Average community score from 0.0 to 10.0.
node.synopsis Plot summary returned only when explicitly requested in fields parameter.
node.num_episodes Total episode count for the series.

Implementation Example

const url = "https://myanimelist.net/";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "Authorization": "Bearer YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

401 Unauthorized Missing, expired, or invalid OAuth access token.
Complete the OAuth 2.0 PKCE flow and use the returned access token in the Authorization: Bearer header.
403 Forbidden Accessing a user resource without proper scope permissions.
Request the correct scopes during OAuth authorization (e.g. write:users for list updates).
400 Bad Request Invalid query parameters or missing required fields like fields=.
Specify which fields you want returned, e.g. ?fields=title,mean,synopsis to avoid empty responses.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 15/20
🔒 Security 15/15
🛠 Developer XP 3/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

Auth OAuth
HTTPS REQUIRED
CORS UNKNOWN
Category Anime
Difficulty Advanced
Verified: 2026-04-04

Similar APIs

View All →