MyAnimeList API: Look up an anime
Looks up an anime on MyAnimeList by English or Japanese name, or by a MyAnimeList anime link. For ambiguous names it returns the most popular match.
Unofficial. Not affiliated with or endorsed by MyAnimeList.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Anime, required
anime Anime name in English or Japanese, or a MyAnimeList anime link, for example Frieren or https://myanimelist.net/anime/52991/Sousou_no_Frieren.
https://myanimelist.net/anime/52991/Sousou_no_Frieren
Input as JSON
{ "anime": "https://myanimelist.net/anime/52991/Sousou_no_Frieren" }Output
{ "rank": 1, "type": "TV", "score": 9.24, "title": "Sousou no Frieren", "genres": [ "Adventure", "Award Winning", "Drama" ], "season": "Fall 2023", "status": "Finished Airing", "themes": [], "members": 1533884, "studios": [ "Madhouse" ], "aired_to": "2024-03-22", "episodes": 28, "synopsis": "During their decade-long quest to defeat the Demon King, the members of the hero's party—Himmel himself, the priest Heiter, the dwarf warrior Eisen, and the elven mage Frieren—forge bonds through adventures and battles, creating unforgettable precious memories for most of them. However, the time tha…", "age_rating": "PG-13 - Teens 13 or older", "aired_from": "2023-09-29", "english_title": "Frieren: Beyond Journey's End", "episode_length": "24 min. per ep.", "japanese_title": "葬送のフリーレン", "myanimelist_id": 52991, "popularity_rank": 95, "source_material": "Manga", "cover_image_link": "https://cdn.myanimelist.net/images/anime/1015/138006.jpg" , "myanimelist_link": "https://myanimelist.net/anime/52991/Sousou_no_Frieren" , "number_of_scorers": 947042, "streaming_platforms": [ "Crunchyroll", "Netflix", "Apple TV Store" ], "broadcast_day_and_time": "Fridays at 23:00 (JST)"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"myanimelist.net/get_anime","input":{"anime":"https://myanimelist.net/anime/52991/Sousou_no_Frieren"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "myanimelist.net/get_anime" , "input": { "anime": "https://myanimelist.net/anime/52991/Sousou_no_Frieren" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "myanimelist.net/get_anime" , "input": { "anime": "https://myanimelist.net/anime/52991/Sousou_no_Frieren" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run myanimelist.net/get_anime# with {"anime":"https://myanimelist.net/anime/52991/Sousou_no_Frieren"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "anime" ], "properties": { "anime": { "type": "string", "description": "Anime name in English or Japanese, or a MyAnimeList anime link, for example Frieren or https://myanimelist.net/anime/52991/Sousou_no_Frieren." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "title", "english_title", "japanese_title", "type", "score", "number_of_scorers", "rank", "popularity_rank", "members", "episodes", "status", "aired_from", "aired_to", "season", "broadcast_day_and_time", "studios", "source_material", "genres", "themes", "age_rating", "episode_length", "synopsis", "streaming_platforms", "cover_image_link", "myanimelist_link", "myanimelist_id" ], "properties": { "rank": { "type": [ "integer", "null" ] }, "type": { "type": [ "string", "null" ] }, "score": { "type": [ "number", "null" ], "description": "Weighted anime score out of 10." }, "title": { "type": [ "string", "null" ] }, "genres": { "type": "array", "items": { "type": "string" } }, "season": { "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "themes": { "type": "array", "items": { "type": "string" } }, "members": { "type": [ "integer", "null" ] }, "studios": { "type": "array", "items": { "type": "string" } }, "aired_to": { "type": [ "string", "null" ], "description": "Date in YYYY-MM-DD format, when known." }, "episodes": { "type": [ "integer", "null" ] }, "synopsis": { "type": [ "string", "null" ] }, "age_rating": { "type": [ "string", "null" ] }, "aired_from": { "type": [ "string", "null" ], "description": "Date in YYYY-MM-DD format, when known." }, "english_title": { "type": [ "string", "null" ] }, "episode_length": { "type": [ "string", "null" ] }, "japanese_title": { "type": [ "string", "null" ] }, "myanimelist_id": { "type": [ "integer", "null" ], "x-fous-developer": true }, "popularity_rank": { "type": [ "integer", "null" ] }, "source_material": { "type": [ "string", "null" ] }, "cover_image_link": { "type": [ "string", "null" ] }, "myanimelist_link": { "type": [ "string", "null" ] }, "number_of_scorers": { "type": [ "integer", "null" ] }, "streaming_platforms": { "type": "array", "items": { "type": "string" } }, "broadcast_day_and_time": { "type": [ "string", "null" ], "description": "Broadcast day and time in Japan time (JST), when available." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
myanimelist.net/get_anime- Returns
- titles, score, rank, popularity, episodes, dates, studios, genres, synopsis, streaming platforms, MyAnimeList link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method myanimelist.net/get_anime with the inputs above.
Ask your agent
- What's the score and rank of Frieren on MyAnimeList?
- Look up Attack on Titan and tell me how many episodes it has and when it aired.
- Find the anime 葬送のフリーレン and show me its studio and genres.
- Can you give me the synopsis and streaming platforms for https://myanimelist.net/anime/52991/Sousou_no_Frieren?
- I'm trying to remember a show about a cowboy bebop crew; what's its popularity and MAL link?
See more
All MyAnimeList methodsGets a manga, manhwa or light novel from MyAnimeList by title or by MyAnimeList link. When several entries share the top result's title, it returns the most popular one.
myanimelist.net/get_mangaLists MyAnimeList's top anime in rank order for a selected ranking (all, airing, upcoming, TV, movies or most popular), with English title, score, type, episodes, airing dates and members.
myanimelist.net/list_top_animeLists anime in a MyAnimeList season sorted by members, with scores, episode counts, studio, genres and links. Continuing TV series are optional.
myanimelist.net/list_seasonal_animeFinds the most popular anime matching a name on AniList and returns its next scheduled episode with local air time, status, episode count and streaming links.
anilist.co/get_next_episodeLists upcoming AniList anime episodes ordered by air time, with air times in the chosen time zone and available streaming links.
anilist.co/get_airing_scheduleGets public Crunchyroll series details by series name or series link; matches a series title rather than a movie.
crunchyroll.com/get_seriesLooks up a TV show by name or TVmaze link and returns its status, schedule, rating, next and previous episodes, and optionally the full episode list including specials.
tvmaze.com/get_showGets one Netflix movie or series by its exact name or Netflix title URL: title details, publicly shown seasons and episodes, and whether it is available in a given country's catalogue (checked against public JustWatch listings).
netflix.com/get_movie_or_show