AnimeNewsNetwork

Entertainment API · Anime & manga encyclopedia · Characters & staff

TL;DR

The ANN Encyclopedia API provides structured access to the Anime News Network's comprehensive database of anime, manga, characters, voice actors, and companies. Search by title, browse by category, and retrieve detailed entries with cast, staff, episode counts, release dates, and ratings. Data is available in XML or JSON format via the api/4 endpoint.

Quick start: https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=1224

No API key needed — just make a request!

How to Use This API

1. Search Anime by Title

https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=~Attack%20on%20Titan

Use ~ before the search term to search by title. Returns matching anime entries with IDs, titles, and basic info.

2. Get Anime by ID

https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=1224

Full details for a specific anime (ID 1224 = Fullmetal Alchemist: Brotherhood). Includes episodes, cast, staff, ratings, and related entries.

3. Get Manga by ID

https://cdn.animenewsnetwork.com/encyclopedia/api.xml?manga=7727

Manga entries with chapter counts, volumes, magazine serialization, authors, and ratings.

4. Get JSON Format

https://cdn.animenewsnetwork.com/encyclopedia/api.json?anime=1224

Change .xml to .json for JSON-formatted responses.

5. JavaScript — Anime Lookup

async function searchAnime(title) {
  const resp = await fetch(
    `https://cdn.animenewsnetwork.com/encyclopedia/api.json` +
    `?anime=~${encodeURIComponent(title)}`
  );
  const data = await resp.json();
  return data?.anime?.map(a => ({
    id: a.id,
    title: a.title?.[0]?.['$'] || 'Unknown',
    type: a.type,
    episodes: a.episodes,
    year: a.start_date?.substring(0, 4)
  })) || [];
}

searchAnime('One Piece').then(results => {
  results.forEach(a => {
    console.log(`#${a.id}: ${a.title} (${a.episodes} eps, ${a.year})`);
  });
});
6. Python — Anime Details
import requests
import json

def get_anime_details(anime_id):
    resp = requests.get(
        'https://cdn.animenewsnetwork.com/encyclopedia/api.json',
        params={'anime': anime_id}
    )
    data = resp.json()
    anime = data['anime'][0]
    
    title = anime['title'][0]['$']
    episodes = anime.get('episodes', '?')
    rating = anime.get('rating', [{}])[0].get('$', 'N/A')
    
    print(f"Title: {title}")
    print(f"Episodes: {episodes}")
    print(f"Rating: {rating}")
    
get_anime_details(1224)
Try anime search: https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=~Naruto

Frequently Asked Questions

How do I find an anime's ID?
Search by title: ?anime=~Attack%20on%20Titan. The response includes the anime ID. Browse the ANN website for IDs as well.
What data types are available?
Anime, manga, characters, people (voice actors/staff), companies, and releases. Each has its own query parameter: ?anime=, ?manga=, ?character=, ?people=, ?company=.
Does it include episode summaries?
Episode counts are included but not individual episode summaries. The API focuses on encyclopedia metadata rather than per-episode details.
What about ratings?
Entries include average user ratings when available. These are ANN community ratings on a 1-10 scale.
Is the data current?
The encyclopedia is updated regularly by ANN editors. New and currently-airing anime are added as they're announced.

API Details

API URL
https://cdn.animenewsnetwork.com/encyclopedia/api
Documentation
ANN API Docs
Category
Entertainment
Authentication
Not Required
Geographic Coverage
Global — Japanese and world-wide anime/manga

What You Can Build