MyAnimeList hub

MyAnimeList Rankings API

Ranked anime and manga, 50 rows per page, overall or by airing, movie, popularity and more.

GET /v1/myanimelist/top

1 credit Failed requests are free A not-found answer is still charged

About this endpoint

GET /v1/myanimelist/top?kind=anime returns data.kind, data.type, data.results[] and page. Each row has rank, id, title, url, imageUrl, mediaType, episodes, volumes, aired, members and score. A page holds 50 rows; continue with page.nextCursor while page.hasMore is true.

The optional type narrows the ranking. Anime accepts airing, upcoming, tv, movie, ova, ona, special, bypopularity and favorite. Manga accepts manga, novels, oneshots, doujin, manhwa, manhua, bypopularity and favorite. Omit it for the overall ranking of the kind.

MyAnimeList Rankings API FAQ

Can I use an anime type for a manga ranking?

No. The route validates the pair and returns a 400 when type is not valid for the chosen kind, so an anime-only type cannot slip into a manga request.

Why is a rank null?

Some rows are unranked even in a ranking list. The route keeps the row and returns rank: null rather than dropping it.

How many credits does this request cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.

Does the list update on its own?

The ranking reflects MyAnimeList at request time. The response is a snapshot, so poll the route at the interval your product needs.