MyAnimeList API: List seasonal anime
Lists anime in a MyAnimeList season sorted by members, with scores, episode counts, studio, genres and links. Continuing TV series are optional.
Unofficial. Not affiliated with or endorsed by MyAnimeList.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Year optional
year Season year, such as 2026. Defaults to the year featured on MyAnimeList.
2026
Whole number from 1900 to 2100.
- Season optional
season Season to list, such as summer. Defaults to the season featured on MyAnimeList.
summer
One of
winter,spring,summer,fall.- Max Results optional
max_results Maximum titles to return, such as 50; at most 200.
10
Whole number from 1 to 200. Default
50.- Include Continuing optional
include_continuing Also include TV shows carried over from earlier seasons, such as One Piece; defaults to false.
true
True or false. Default
false.
Input as JSON
{ "year": 2026, "season": "summer", "max_results": 10, "include_continuing": true}Output
{ "anime": [ { "score": 8.72, "title": "One Piece", "genres": [ "Action", "Adventure", "Fantasy" ], "studio": "Toei Animation", "members": 2739149, "episodes": null, "start_date": "1999-10-20", "english_title": null, "source_material": "Manga", "cover_image_link": "https://cdn.myanimelist.net/images/anime/1244/138851.webp" , "myanimelist_link": "https://myanimelist.net/anime/21/One_Piece" }, { "score": 8.18, "title": "Meitantei Conan", "genres": [ "Adventure", "Comedy", "Mystery" ], "studio": "TMS Entertainment", "members": 382894, "episodes": null, "start_date": "1996-01-08", "english_title": "Case Closed", "source_material": "Manga", "cover_image_link": "https://cdn.myanimelist.net/images/anime/7/75199.webp" , "myanimelist_link": "https://myanimelist.net/anime/235/Meitantei_Conan" }, { "score": 8.67, "title": "Mushoku Tensei III: Isekai Ittara Honki Dasu", "genres": [ "Adventure", "Drama", "Fantasy" ], "studio": "Studio Bind", "members": 372784, "episodes": 14, "start_date": "2026-07-06", "english_title": "Mushoku Tensei: Jobless Reincarnation Season 3", "source_material": "Light novel", "cover_image_link": "https://cdn.myanimelist.net/images/anime/1527/158340.webp" , "myanimelist_link": "https://myanimelist.net/anime/59193/Mushoku_Tensei_III__Isekai_Ittara_Honki_Dasu" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"myanimelist.net/list_seasonal_anime","input":{"year":2026,"season":"summer","max_results":10,"include_continuing":true}}' # 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/list_seasonal_anime" , "input": { "year": 2026, "season": "summer", "max_results": 10, "include_continuing": True }})# 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/list_seasonal_anime" , "input": { "year": 2026, "season": "summer", "max_results": 10, "include_continuing": true } }), 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/list_seasonal_anime# with {"year":2026,"season":"summer","max_results":10,"include_continuing":true}"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", "properties": { "year": { "type": "integer", "maximum": 2100, "minimum": 1900, "description": "Season year, such as 2026. Defaults to the year featured on MyAnimeList." }, "season": { "enum": [ "winter", "spring", "summer", "fall" ], "type": "string", "description": "Season to list, such as summer. Defaults to the season featured on MyAnimeList." }, "max_results": { "type": "integer", "default": 50, "maximum": 200, "minimum": 1, "description": "Maximum titles to return, such as 50; at most 200." }, "include_continuing": { "type": "boolean", "default": false, "description": "Also include TV shows carried over from earlier seasons, such as One Piece; defaults to false." } }}Output schema
{ "type": "object", "required": [ "anime" ], "properties": { "anime": { "type": "array", "items": { "type": "object", "required": [ "title", "english_title", "score", "members", "episodes", "studio", "genres", "source_material", "start_date", "cover_image_link", "myanimelist_link" ], "properties": { "score": { "type": [ "number", "null" ], "description": "Community score out of 10, if available." }, "title": { "type": "string" }, "genres": { "type": "array", "items": { "type": "string" } }, "studio": { "type": [ "string", "null" ] }, "members": { "type": "integer" }, "episodes": { "type": [ "integer", "null" ] }, "start_date": { "type": [ "string", "null" ], "format": "date" }, "english_title": { "type": [ "string", "null" ] }, "source_material": { "type": [ "string", "null" ] }, "cover_image_link": { "type": [ "string", "null" ] }, "myanimelist_link": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
myanimelist.net/list_seasonal_anime- Returns
- title, english title, score, members, episodes, studio, genres, source, start date, cover, MAL 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/list_seasonal_anime with the inputs above.
Ask your agent
- What anime aired in the spring 2024 season ranked by member count? Show me the top 30 with scores and studios.
- Give me a list of fall 2023 anime, including continuing shows, with episode counts and genres.
- I want the top 15 summer 2025 anime sorted by popularity, along with their source material and start dates.
- Which winter 2022 anime were the most popular? Include cover images and links, limit to 25.
- On MyAnimeList, list all titles from the 2026 fall season with their english titles and scores, max 100 results.
See more
All MyAnimeList methodsLists 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_animeLooks 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.
myanimelist.net/get_animeGets 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 upcoming AniList anime episodes ordered by air time, with air times in the chosen time zone and available streaming links.
anilist.co/get_airing_scheduleFinds 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_episodeGets public Crunchyroll series details by series name or series link; matches a series title rather than a movie.
crunchyroll.com/get_seriesReads the newest critic or audience reviews for a Rotten Tomatoes movie or TV show. For a whole TV show it combines reviews from its seasons.
rottentomatoes.com/get_reviewsLists the highest-Metascore games, movies or TV shows on Metacritic for a release year or all time. You can filter by genre, and by platform for games.
metacritic.com/list_best_reviewed