Enter an ID and search.
API Documentation
Endpoints
GET /api/{anilist_id} — basic
GET /api?mal_id={id} — basic
GET /api?simkl_id={id} — basic
GET /api/episodes/{anilist_id} — rich
GET /api/episodes?mal_id={id} — rich
GET /api/episodes?simkl_id={id} — rich
Rate Limit
Configurable via RATE_LIMIT_MAX env var
Window: RATE_LIMIT_WINDOW (seconds, default 60)
429 + Retry-After when exceeded
/api/health is exempt
CORS
Access-Control-Allow-Origin: *
OPTIONS → 204 No Content
Methods: GET, OPTIONS
Rich Endpoint Fields
| Field | Description |
|---|---|
| mal_id | MyAnimeList ID |
| anilist_id | Anilist ID |
| simkl_id | Simkl ID |
| tvdb_id | TVDB series ID |
| tmdb_id | TMDB ID |
| title | English title |
| title_simkl | Original title (Romanji) |
| artworks | poster, fanart, clear_logo, banner |
| episodes.list[] | All aired episodes with stills (3 sizes), TVDB mapping |
| list[].still_url_w | 600×338px (~21 KB) |
| list[].still_url_c | 210×118px (~7 KB) |
| list[].still_url_m | 112×84px (~3 KB) |
| list[].tvdb_season | TVDB season number |
| episodes.first_aired | Episode 1 details |
| episodes.last_aired | Most recent aired episode |
| episodes.next_scheduled | Next upcoming (ongoing only) |
Basic Endpoint Fields
| Field | Description |
|---|---|
| first_aired_episode | Episode 1 — number, title, date |
| last_aired_episode | Most recent aired episode |
| next_scheduled_episode | Next upcoming (ongoing only) |
| specials_count | Non-regular episodes count |