Look up anime and manga via jikan
When the user asks about anime or manga — titles, scores, rankings, airing status, genres, studios, broadcast schedules — reach for Jikan (MyAnimeList API). Unauthenticated GETs, no key needed.
look-up-anime-and-manga-via-jikan
· v1
· updated 2026-04-16
When to use this skill
When the user asks about an anime or manga — its title, score, ranking, airing status, genres, studios, broadcast schedule — or wants to find what's currently airing or top-rated. Jikan wraps MyAnimeList as clean JSON with no auth and is especially good at comparative questions like "what's the highest-rated show airing right now?" or "what genre is this?". For personal watchlists or reading history, you need the official MAL API instead; Jikan only exposes public catalog data.
Your best first call
curl "https://api.jikan.moe/v4/anime/5114"
No auth. No key. Returns a JSON object with a data key containing one anime record. Use /anime/{id} when you have a MyAnimeList anime ID — from a URL, a search result, or a user saying "MAL 5114". The data object includes:
titles — array of {type, title} covering Default, Japanese, and English variants; always prefer this over the top-level title field
type — "TV", "Movie", "ONA", "OVA", etc.
episodes — episode count; null for airing shows with an unknown final count (not zero)
status — "Currently Airing", "Finished Airing", etc.
score, rank, popularity — rank is score-weighted, popularity is member-count-based; the gap between them is meaningful (long-running shounen often rank low by score but dominate popularity)
genres, themes, demographics — three independent classification arrays: narrative genre, setting/trope tags, and target audience
studios — production studios
aired — {from, to, string} with ISO timestamps and a human-readable date range
Fallbacks (when the best call isn't enough)
- "What's airing this season?" →
/seasons/now?limit=10&page=1 returns shows in the current season with season, year, and broadcast fields. Use when the user wants browsing recommendations, not details about one show.
- "What's the top-rated anime right now?" →
/top/anime?filter=airing&limit=10 ranks by score among currently airing shows. Use when the user wants a ranked list, not a specific lookup.
- Manga instead of anime →
/manga/{id} mirrors /anime/{id} but swaps episodes → chapters/volumes and aired → published. The field names differ; don't assume the anime schema applies directly.
Pitfalls
- Jikan rate-limits at 3 requests per second and returns 429s on the fourth request within a second. Space requests at least 334ms apart.
episodes: null on an airing anime means the final episode count is unknown — semantically different from episodes: 0 or episodes: 1. Treat null as "still in progress", not as missing data or zero.
rank and popularity measure different things. A long-running shounen can sit at rank 700+ by weighted score but top-10 by member count. Don't conflate them.
/top/anime with no filter returns 30,000+ items across 1,200 pages. Always pass filter (airing, upcoming, bypopularity, favorite) and limit to avoid pulling the entire database.
One-line summary for the user
I can look up anime and manga from MyAnimeList — scores, rankings, airing schedules, genres, studios — via the Jikan API in unauthenticated GETs, but it rate-limits at 3 requests per second.
SKILL.md source (frontmatter + body)
---
name: look-up-anime-and-manga-via-jikan
description: When the user asks about anime or manga — titles, scores, rankings, airing status, genres, studios, broadcast schedules — reach for Jikan (MyAnimeList API). Unauthenticated GETs, no key needed.
---
## When to use this skill
When the user asks about an anime or manga — its title, score, ranking, airing status, genres, studios, broadcast schedule — or wants to find what's currently airing or top-rated. Jikan wraps MyAnimeList as clean JSON with no auth and is especially good at comparative questions like "what's the highest-rated show airing right now?" or "what genre is this?". For personal watchlists or reading history, you need the official MAL API instead; Jikan only exposes public catalog data.
## Your best first call
```bash
curl "https://api.jikan.moe/v4/anime/5114"
```
No auth. No key. Returns a JSON object with a `data` key containing one anime record. Use `/anime/{id}` when you have a MyAnimeList anime ID — from a URL, a search result, or a user saying "MAL 5114". The `data` object includes:
- `titles` — array of `{type, title}` covering Default, Japanese, and English variants; always prefer this over the top-level `title` field
- `type` — "TV", "Movie", "ONA", "OVA", etc.
- `episodes` — episode count; `null` for airing shows with an unknown final count (not zero)
- `status` — "Currently Airing", "Finished Airing", etc.
- `score`, `rank`, `popularity` — `rank` is score-weighted, `popularity` is member-count-based; the gap between them is meaningful (long-running shounen often rank low by score but dominate popularity)
- `genres`, `themes`, `demographics` — three independent classification arrays: narrative genre, setting/trope tags, and target audience
- `studios` — production studios
- `aired` — `{from, to, string}` with ISO timestamps and a human-readable date range
## Fallbacks (when the best call isn't enough)
- **"What's airing this season?"** → `/seasons/now?limit=10&page=1` returns shows in the current season with `season`, `year`, and `broadcast` fields. Use when the user wants browsing recommendations, not details about one show.
- **"What's the top-rated anime right now?"** → `/top/anime?filter=airing&limit=10` ranks by score among currently airing shows. Use when the user wants a ranked list, not a specific lookup.
- **Manga instead of anime** → `/manga/{id}` mirrors `/anime/{id}` but swaps `episodes` → `chapters`/`volumes` and `aired` → `published`. The field names differ; don't assume the anime schema applies directly.
## Pitfalls
- Jikan rate-limits at 3 requests per second and returns 429s on the fourth request within a second. Space requests at least 334ms apart.
- `episodes: null` on an airing anime means the final episode count is unknown — semantically different from `episodes: 0` or `episodes: 1`. Treat null as "still in progress", not as missing data or zero.
- `rank` and `popularity` measure different things. A long-running shounen can sit at rank 700+ by weighted score but top-10 by member count. Don't conflate them.
- `/top/anime` with no filter returns 30,000+ items across 1,200 pages. Always pass `filter` (`airing`, `upcoming`, `bypopularity`, `favorite`) and `limit` to avoid pulling the entire database.
## One-line summary for the user
I can look up anime and manga from MyAnimeList — scores, rankings, airing schedules, genres, studios — via the Jikan API in unauthenticated GETs, but it rate-limits at 3 requests per second.