> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/myanimelist/anime-characters>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/myanimelist/anime-characters.mdx>

---

# MyAnimeList Anime Cast API

Every character, voice actor and staff member for one anime, with roles and languages.

`GET /v1/myanimelist/anime/{id}/characters` returns `data.characters` and `data.staff` in one answer. Each character has `id`, `name`, `url`, `imageUrl`, `role`, `favorites` and `voiceActors[]`; each voice actor carries `id`, `name`, `language`, `url` and `imageUrl`. Staff entries carry `id`, `name`, `url`, `imageUrl` and `position`, such as Storyboard, Music or Original Creator.

This is the complete cast list, not the preview on the title route. A title with no cast returns `lookupStatus: found` with empty arrays, which is different from an unknown anime id returning `not_found`. Long-running series can return hundreds of characters and staff in one large response; cache it rather than polling it on every view.

## Request

- **Endpoint:** `GET /v1/myanimelist/anime/{id}/characters`
- **Credits:** 1 credit
Failed requests are free
A not-found answer is still charged
- **Input:** by anime id
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/myanimelist/anime-characters)
- **Platform page:** [/platforms/myanimelist](https://www.socialfetch.dev/platforms/myanimelist)

## FAQ

### Can one character have several voice actors?

Yes. `voiceActors` is an array and `language` says which dub each actor belongs to. The array is ordered with the Japanese cast usually first.

### Why is the staff list empty?

Manga titles do not have an anime staff list. The manga character route returns `data.staff: []` by design, and anime titles with no staff credits also return an empty array.

### 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.

### How large can this response be?

It is one response with no cursor. A long-running series can list hundreds of characters and staff, so cache the result and avoid requesting it on every view.

### Is this the same cast as the title route?

No. The title route returns a short `characters` and `staff` preview. This route returns every cast row, including all voice actors, so use it when you need a complete cast.
