TL;DR
The Anime News Network (ANN) API provides access to the ANN encyclopedia — one of the most comprehensive databases of anime, manga, characters, voice actors, and industry news. You can search by title, look up details for specific entries, browse by category, and get related news articles. The API returns data in XML format with structured fields for titles, ratings, genres, episode counts, release dates, staff, and cast information. Each entry includes cross-references to related anime, manga, and characters. The API is read-only and requires no authentication.
Quick start: https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=4658
No API key needed — just make a request!
How to Use This API
1. Get Anime Details by ID
https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=4658
Returns full details for the anime with ID 4658 (Cowboy Bebop).
2. Search Anime by Title (Exact)
https://cdn.animenewsnetwork.com/encyclopedia/api.xml?title=naruto
3. Search by Title (Partial/Approximate)
https://cdn.animenewsnetwork.com/encyclopedia/api.xml?title=~attack+on+titan
The tilde prefix enables partial matching. Use + for spaces in multi-word titles.
4. Get Manga Details
https://cdn.animenewsnetwork.com/encyclopedia/api.xml?manga=5182
manga= parameter works identically to anime= but for manga entries.
5. Search Manga by Title
https://cdn.animenewsnetwork.com/encyclopedia/api.xml?manga=~one+piece
6. Get Related News for an Anime
https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=4658&n=5
The n parameter limits the number of related news articles returned (default 5).
7. Response Format (XML)
<?xml version="1.0" encoding="UTF-8"?>
<ann>
<anime id="4658">
<type>TV</type>
<title>Cowboy Bebop</title>
<info type="Number of episodes">26</info>
<info type="Vintage">1998-04-03 to 1999-04-24</info>
<ratings>
<rating><nb_votes>1234</nb_votes><average>8.5</average></rating>
</ratings>
<staff>
<task>Director</task>...<person id="...">Shinichiro Watanabe</person>
</staff>
</anime>
</ann>
8. JavaScript — Fetch and Parse ANN XML
fetch('https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=4658')
.then(r => r.text())
.then(xmlText => {
const parser = new DOMParser();
const xml = parser.parseFromString(xmlText, 'text/xml');
const anime = xml.querySelector('anime');
console.log('Title:', anime.getAttribute('name'));
console.log('Type:', anime.querySelector('type')?.textContent);
const episodes = anime.querySelector('info[type="Number of episodes"]');
console.log('Episodes:', episodes?.textContent);
});
9. Python — Search and Parse ANN
import requests
import xml.etree.ElementTree as ET
resp = requests.get(
'https://cdn.animenewsnetwork.com/encyclopedia/api.xml',
params={'title': '~spirited+away'}
)
root = ET.fromstring(resp.text)
for anime in root.findall('.//anime'):
title = anime.get('name')
anime_type = anime.find('type')
print(f"Anime: {title} ({anime_type.text if anime_type is not None else 'N/A'})")
10. Python — Get Full Staff List
import requests
import xml.etree.ElementTree as ET
resp = requests.get(
'https://cdn.animenewsnetwork.com/encyclopedia/api.xml',
params={'anime': 4658}
)
root = ET.fromstring(resp.text)
anime = root.find('.//anime')
print(f"Staff for {anime.get('name')}:")
for staff in anime.findall('.//staff'):
task = staff.find('task')
person = staff.find('person')
if task is not None and person is not None:
print(f" {task.text}: {person.text}")
https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=4658
Frequently Asked Questions
- How do I find an anime by exact or partial title?
- Use
title=narutofor exact match ortitle=~narutofor partial/approximate matching. The tilde prefix enables fuzzy matching. For multi-word titles, use+as the space separator (e.g.,title=~attack+on+titan). - What information is available for each anime entry?
- Title, type (TV, Movie, OVA, ONA, Special), number of episodes, air dates (vintage), ratings, genres, producers, staff (director, writer, music), cast/voice actors, related manga, and linked news articles. The XML structure is rich with
<info>elements of various types. - Does the API include news articles and reports?
- Yes! The API can fetch related news articles for specific titles using the
nparameter (e.g.,&n=5). Results include article title, date, summary, and URL to the full article on Anime News Network. - What format does the API return?
- XML format only. No JSON option is available. You can parse it in JavaScript with DOMParser, in Python with xml.etree.ElementTree, or in any language with standard XML parsing libraries.
- How do I find the ANN ID for a specific anime?
- First use the title search (
?title=~name) to find matching entries and their IDs, then use the ID for detailed lookups. You can also find IDs by browsing the ANN encyclopedia website. - Are there any rate limits?
- ANN does not publish specific rate limits, but please be respectful. For production applications, cache responses locally to minimize repeated requests.
What You Can Build
- Anime encyclopedia app with search, details, staff, and cast information
- Voice actor credits browser showing which characters an actor has voiced
- Seasonal anime tracker showing currently airing shows with episode counts
- Anime recommendation engine based on genre, staff, and related entries
- Manga-to-anime adaptation explorer showing which manga have been adapted and when
- Industry news aggregator pulling related ANN articles for each anime entry