# Crunchyroll API

> Crunchyroll returns anime release schedules and series details as a workflow and API.

Crunchyroll provides release schedules with Get release schedule, using a week date, version, and time zone as inputs. Get series returns public details for a series, including genres, languages, seasons, episodes, and ratings; provide its name or Crunchyroll link.

- Page: https://fous.com/tools/crunchyroll
- Handle: `@crunchyroll`
- Category: [Entertainment](https://fous.com/tools/category/entertainment)
- Source website: https://crunchyroll.com
- Last verified: Sep 29, 2026

## Methods

### Get release schedule

Operation `get_release_schedule`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get Crunchyroll anime episodes scheduled in a selected week, with release times in your time zone. The calendar may not yet list upcoming days; language labels rely on the published episode and season details.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `date` | string | no | `"2026-09-14"` | Any date in the week you want, such as 2026-09-21. Defaults to this week. |
| `version` | string | no | `"dubbed"` | Which versions to include, such as dubbed. Defaults to all. |
| `time_zone` | string | no | `"America/New_York"` | A city or time zone for release times, such as Los Angeles or America/Los_Angeles. Defaults to UTC. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "format": "date",
      "description": "Any date in the week you want, such as 2026-09-21. Defaults to this week.",
      "examples": [
        "2026-09-14",
        "2026-09-21"
      ]
    },
    "version": {
      "enum": [
        "all",
        "subtitled",
        "dubbed"
      ],
      "type": "string",
      "default": "all",
      "description": "Which versions to include, such as dubbed. Defaults to all.",
      "examples": [
        "dubbed",
        "all",
        "subtitled"
      ]
    },
    "time_zone": {
      "type": "string",
      "default": "UTC",
      "description": "A city or time zone for release times, such as Los Angeles or America/Los_Angeles. Defaults to UTC.",
      "examples": [
        "America/New_York",
        "Los Angeles"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "date": "2026-09-14",
      "version": "dubbed",
      "time_zone": "America/New_York"
    },
    {
      "date": "2026-09-21",
      "version": "all",
      "time_zone": "Los Angeles"
    },
    {
      "date": "2026-09-14",
      "version": "subtitled"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `releases` | array |  | Episodes ordered by release time. |
| `releases[].link` | string or null | `"https://www.crunchyroll.com/watch/GE00378654THTH/shelter-from-the-rain"` |  |
| `releases[].season` | string or null | `"Season 1"` |  |
| `releases[].version` | string | `"dubbed (Thai)"` |  |
| `releases[].premium_only` | boolean | `true` |  |
| `releases[].series_title` | string | `"The Insipid Prince's Furtive Grab for the Throne"` |  |
| `releases[].episode_title` | string or null | `"Shelter from the Rain"` |  |
| `releases[].episode_number` | integer or null | `8` |  |
| `releases[].release_date_time` | string | `"2026-09-14T09:00:00-04:00"` | Release date and time with UTC offset. |

**Example input**

```json
{
  "date": "2026-09-14",
  "version": "dubbed",
  "time_zone": "America/New_York"
}
```

**Example output**

```json
{
  "releases": [
    {
      "link": "https://www.crunchyroll.com/watch/GE00378654THTH/shelter-from-the-rain",
      "season": "Season 1",
      "version": "dubbed (Thai)",
      "premium_only": true,
      "series_title": "The Insipid Prince's Furtive Grab for the Throne",
      "episode_title": "Shelter from the Rain",
      "episode_number": 8,
      "release_date_time": "2026-09-14T09:00:00-04:00"
    },
    {
      "link": "https://www.crunchyroll.com/watch/GE00378003ENUS/blood-duel-death-amidst-the-collapsing-city",
      "season": "Season 2",
      "version": "dubbed (English)",
      "premium_only": true,
      "series_title": "Skeleton Knight in Another World",
      "episode_title": "Blood Duel! Death Amidst the Collapsing City",
      "episode_number": 11,
      "release_date_time": "2026-09-14T09:00:00-04:00"
    },
    {
      "link": "https://www.crunchyroll.com/watch/GE00378003DEDE/blood-duel-death-amidst-the-collapsing-city",
      "season": "Season 2",
      "version": "dubbed (German)",
      "premium_only": true,
      "series_title": "Skeleton Knight in Another World",
      "episode_title": "Blood Duel! Death Amidst the Collapsing City",
      "episode_number": 11,
      "release_date_time": "2026-09-14T09:00:00-04:00"
    }
  ]
}
```

### Get series

Operation `get_series`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get public Crunchyroll series details by series name or series link. Matches a series title rather than a movie.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `series` | string | yes | `"https://www.crunchyroll.com/series/G4PH0WXVJ/spy-x-family"` | Series name or Crunchyroll series link, for example Jujutsu Kaisen or https://www.crunchyroll.com/series/GRDV0019R/jujutsu-kaisen. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "series"
  ],
  "properties": {
    "series": {
      "type": "string",
      "description": "Series name or Crunchyroll series link, for example Jujutsu Kaisen or https://www.crunchyroll.com/series/GRDV0019R/jujutsu-kaisen.",
      "examples": [
        "https://www.crunchyroll.com/series/G4PH0WXVJ/spy-x-family",
        "Jujutsu Kaisen",
        "Spy x Family"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "series": "https://www.crunchyroll.com/series/G4PH0WXVJ/spy-x-family"
    },
    {
      "series": "Jujutsu Kaisen"
    },
    {
      "series": "Spy x Family"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `title` | string | `"SPY x FAMILY"` |  |
| `genres` | array |  |  |
| `publisher` | string or null | `"CloverWorks"` |  |
| `series_id` | string | `"G4PH0WXVJ"` |  |
| `simulcast` | boolean | `false` |  |
| `description` | string or null | `"World peace is at stake and secret agent Twilight must undergo his most difficult mission yet—pretend to be a family ma` |  |
| `audio_languages` | array |  |  |
| `maturity_rating` | string or null | `"TV-14"` |  |
| `crunchyroll_link` | string | `"https://www.crunchyroll.com/series/G4PH0WXVJ/spy-x-family"` |  |
| `number_of_ratings` | integer or null | `439527` |  |
| `number_of_seasons` | integer or null | `3` |  |
| `poster_image_link` | string or null | `"https://www.crunchyroll.com/imgsrv/display/thumbnail/480x720/catalog/crunchyroll/1d05d76580b92974b125044b3a0bbc8c.png"` |  |
| `number_of_episodes` | integer or null | `50` |  |
| `subtitle_languages` | array |  |  |
| `average_user_rating` | number or null | `4.9` |  |

**Example input**

```json
{
  "series": "https://www.crunchyroll.com/series/G4PH0WXVJ/spy-x-family"
}
```

**Example output**

```json
{
  "title": "SPY x FAMILY",
  "genres": [
    "Action",
    "Adventure",
    "Comedy"
  ],
  "publisher": "CloverWorks",
  "series_id": "G4PH0WXVJ",
  "simulcast": false,
  "description": "World peace is at stake and secret agent Twilight must undergo his most difficult mission yet—pretend to be a family man. Posing as a loving husband and father, he’ll infiltrate an elite school to get…",
  "audio_languages": [
    "Japanese",
    "English",
    "Arabic"
  ],
  "maturity_rating": "TV-14",
  "crunchyroll_link": "https://www.crunchyroll.com/series/G4PH0WXVJ/spy-x-family",
  "number_of_ratings": 439527,
  "number_of_seasons": 3,
  "poster_image_link": "https://www.crunchyroll.com/imgsrv/display/thumbnail/480x720/catalog/crunchyroll/1d05d76580b92974b125044b3a0bbc8c.png",
  "number_of_episodes": 50,
  "subtitle_languages": [
    "English",
    "Arabic",
    "Catalan"
  ],
  "average_user_rating": 4.9
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@crunchyroll",
  "visibility": "public",
  "operation": "get_release_schedule",
  "version": 1,
  "input": {
    "date": "2026-09-14",
    "version": "dubbed",
    "time_zone": "America/New_York"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@crunchyroll\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_release_schedule\",\n  \"version\": 1,\n  \"input\": {\n    \"date\": \"2026-09-14\",\n    \"version\": \"dubbed\",\n    \"time_zone\": \"America/New_York\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@crunchyroll",
  "visibility": "public",
  "operation": "get_release_schedule",
  "version": 1,
  "input": {
    "date": "2026-09-14",
    "version": "dubbed",
    "time_zone": "America/New_York"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/crunchyroll`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_release_schedule`: Get release schedule. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_series`: Get series. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-crunchyroll https://api.fous.com/mcp/tools/crunchyroll --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Plan content calendars around scheduled anime episodes.
- Track episode release times in a local time zone.
- Compare series by genre, languages, and user rating.
- Review series seasons and episode counts.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Crunchyroll tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Crunchyroll account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from crunchyroll.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What anime episodes are scheduled this week?

Get release schedule returns episodes scheduled in a selected week, ordered by release time.

### When does an episode release in my time zone?

Get release schedule accepts a date and time zone, then returns release date and time with a UTC offset.

### How many seasons or episodes does a series have?

Get series returns the number of seasons and episodes for a series found by name or Crunchyroll link.

## Related

- [AniList API](https://fous.com/tools/anilist.md): AniList helps users discover anime and track upcoming episodes, with local air times and streaming links when available; episode counts and schedules may be unavailable.
- [MyAnimeList API](https://fous.com/tools/myanimelist.md): MyAnimeList provides anime, manga, manhwa and light novel details, ratings, seasonal and top rankings; streaming follows its listings, and unannounced or unavailable details may be missing.
- [WEBTOON API](https://fous.com/tools/webtoon.md): WEBTOON helps readers find comics and discover popular or trending series, with public series details and newest publicly listed episodes; app-only episodes and numeric series ratings aren’t shown.
- [TVmaze API](https://fous.com/tools/tvmaze.md): TVmaze provides TV schedules, broadcast and streaming releases, and show status, ratings, and episode details; streaming times may be unavailable or shown in UTC.
- [IMDb API](https://fous.com/tools/imdb.md): IMDb returns movie, TV, person, episode, chart and Parents Guide details, including available weekly rank changes; missing details are null, and unaired or unrated episodes lack ratings.
- [Rotten Tomatoes API](https://fous.com/tools/rotten-tomatoes.md): Rotten Tomatoes returns movie and TV details, scores, newest reviews, and listings for theaters, coming soon, or at home; series rating counts may be unavailable.
- [Netflix API](https://fous.com/tools/netflix.md): Netflix offers weekly global and country Top 10 rankings, all-time popularity rankings based on titles’ first 91 days, and title details with country availability that may lag.
- [TMDB API](https://fous.com/tools/tmdb.md): TMDB returns movie and TV details, cast, trailers, releases, viewing services, scheduled upcoming movies, and up to 20 homepage trending titles; future episode details depend on published schedules.
- [All Entertainment tools](https://fous.com/tools/category/entertainment)
