> **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/search>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/myanimelist/search.mdx>

---

# MyAnimeList Search API

Find anime, manga, characters or people, 50 results per page, with ids you can use on every route.

`GET /v1/myanimelist/search?query=...&kind=anime` returns `data.query`, `data.kind`, `data.results[]` and `page`. Each result has `id`, `kind`, `title`, `url`, `imageUrl`, `snippet`, `type`, `episodes`, `score` and `works[]`. An exact-match redirect carries only `id`, `url` and `kind`; `title` and `type` are null there. `works` carries the related anime or manga for a character or person result.

The query must be at least three characters, or one or more Chinese or Japanese characters. `kind` is one of `anime`, `manga`, `character` or `person` and defaults to `anime`. A page holds 50 rows and `page.nextCursor` gets the next one. A search with no matches returns `lookupStatus: found` with an empty array.

MyAnimeList's relevance order can shift between pages, so a title near a page boundary can appear twice; de-duplicate by `id`.

## Request

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

## FAQ

### Why does a title appear on two pages?

MyAnimeList's relevance order can shift between pages, so a title near a page boundary can appear twice. De-duplicate by `id` across the pages you collect.

### Why is a short query refused?

A Latin query needs at least three characters. One or more Chinese or Japanese characters are accepted, so `進撃` and `鬼` both work.

### Can I filter by status or score?

Not on this route. It exposes `query`, `kind` and `cursor` only. Filter the returned rows yourself, or use the rankings and genre routes for curated lists.

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

### What is `snippet`?

It is the short description the result row shows, and it can be null. Use `title`, `url` and `id` as the stable identity of a result.
