curl --request GET \
--url https://api.simkl.com/anime/{id} \
--header 'User-Agent: <user-agent>' \
--header 'simkl-api-key: <api-key>'Full detail record for one anime — title, overview, year, runtime, network, status, genres, studios (list of {id, name}), related titles, ratings, posters, fanart, external IDs, alternate titles, trailers, episode count, AniDB-mapped TVDB seasons, user recommendations. The default response is already complete; no flags needed.
Responses are Cloudflare-cached by Simkl ID, so repeat lookups of popular titles are near-free. Parallel requests against this endpoint are explicitly allowed (see Rate limits → Parallel requests).
Cache invalidation is automatic. When Simkl updates the underlying record (admin edits, automated metadata refresh, image swap, related-titles change, etc.), the corresponding Cloudflare cache entry is purged server-side. The next call to this endpoint returns the fresh data — there’s no TTL to wait out and no client-side cache-busting needed. Your own app-level cache, if any, still has to be invalidated by your client.
Use a Simkl ID for the lookup. If you only have an external ID, resolve it via GET /redirect first.
Which IDs can I send/expect? All accepted input identifiers and the keys you’ll see echoed back in responses are listed at Standard media objects → Supported ID keys. Send every ID you have on writes — Simkl picks the first that resolves and ignores the rest. Reminder: slug is response-only (never send it on a request).
curl --request GET \
--url https://api.simkl.com/anime/{id} \
--header 'User-Agent: <user-agent>' \
--header 'simkl-api-key: <api-key>'Documentation Index
Fetch the complete documentation index at: https://api.simkl.org/llms.txt
Use this file to discover all available pages before exploring further.
Optional alias for the client_id query parameter. Simkl accepts your client_id either as the simkl-api-key request header or as the ?client_id=… query parameter — pick one. The query-parameter form is preferred because it makes the request fully self-describing in URL form.
Descriptive identifier for your app, ideally name/version. Examples: PlexMediaServer/1.43.1.10540, kodi-simkl/0.9.2, MyApp/2.4.1 (https://myapp.com).
Simkl ID for the item. Simkl IDs are stable, unambiguous, and the response is Cloudflare-cached by Simkl ID, so repeat lookups are very fast.
If you only have an external ID (IMDb, TMDB, TVDB, MAL, AniDB, etc.), resolve it to a Simkl ID first via GET /redirect — it returns the Simkl ID in the Location header without a JSON payload, and the follow-up detail call is Cloudflare-cached.
Your client_id from your Simkl developer settings. Required on every request.
Short, lowercase identifier for your app (e.g. plex-scrobbler, kodi-bridge). Helps Simkl identify which apps are using the API.
Your app's current version (e.g. 1.0, 2.4.1). Helps Simkl debug issues you report.
OK
Full anime record returned by GET /anime/{id}. Shares most fields with ShowDetail and adds anime-specific keys: anime_type, en_title, studios, relations, season_name_year, mapped_tvdb_seasons, plus extra ids (mal, anidb, anilist, kitsu). Cloudflare-cached by Simkl ID. The extended query param is a legacy no-op here. The anime detail handler is included from the TV detail handler ( → include ''), so the response shape is identical to ShowDetail plus the anime-specific fields below.
Original-language title (often romanized Japanese for anime).
Always anime on this endpoint.
anime Anime production format. tv is the common case; movies, OVAs, ONAs, and music videos all surface through the /anime/* endpoints with the same response shape.
tv, movie, special, ova, ona, music video External and internal identifiers for an item. Pass as many as you have — Simkl resolves to the canonical record.
Hide child attributes
Simkl internal ID. Most reliable.
53536
URL-safe slug returned in responses.
"attack-on-titan"
IMDb ID.
"tt0181852"
TMDb ID.
"296"
TVDB ID or slug.
153021
MyAnimeList ID.
"4246"
AniDB ID. Specifying just this is enough for anime lookups.
"10846"
AniList ID.
"21"
Kitsu ID.
"12"
aniSearch ID.
"2227"
Anime-Planet slug.
"one-piece"
LiveChart ID.
"321"
Letterboxd slug.
"the-truman-show"
Netflix movie ID.
"70210890"
Hulu episode ID.
Crunchyroll episode ID.
Trakt slug.
"john-wick-chapter-4-2023"
{
"simkl": 53536,
"imdb": "tt0181852",
"tmdb": 296
}
Localized English title when available. Type 4 null when no English title is on file (e.g. older classics like Death Note return an empty string here).
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values. Episode runtime in minutes.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Almost always JP for anime. Type 4 null on rare productions.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values. Originating TV station / streamer.
Type 4 null — data not on file in that field's slot. See Null and missing values. Production lifecycle bucket. Closed set of three values; the value is computed from the catalog's Status column plus the next-release timestamp at request time:
tba — air date is in the future (next-release timestamp > now)ended — catalog status is Endedairing — everything else (currently releasing, ongoing, hiatus)Note this is the detail-endpoint status. Listing endpoints (/anime/airing, /anime/best, etc.) use a wider enum from :: (returning series, ongoing, released, canceled, planned, in production, post production, rumored, upcoming) — different shape, document separately.
tba, ended, airing, null Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values. Display string like Spring 2019 indicating the broadcasting cour.
AniDB/Simkl season numbers mapped onto the corresponding TVDB season numbers (anime catalogues split seasons differently between databases).
Production studios. Each entry typically carries a name and other identifiers.
Related-titles graph: prequels, sequels, side stories, alternate versions. Each entry carries a small media-object plus a relation_type and is_direct flag indicating the relation.
Hide child attributes
Type 4 null — data not on file in that field's slot. See Null and missing values.
Anime production format. tv is the common case; movies, OVAs, ONAs, and music videos all surface through the /anime/* endpoints with the same response shape.
tv, movie, special, ova, ona, music video External and internal identifiers for an item. Pass as many as you have — Simkl resolves to the canonical record.
Hide child attributes
Simkl internal ID. Most reliable.
53536
URL-safe slug returned in responses.
"attack-on-titan"
IMDb ID.
"tt0181852"
TMDb ID.
"296"
TVDB ID or slug.
153021
MyAnimeList ID.
"4246"
AniDB ID. Specifying just this is enough for anime lookups.
"10846"
AniList ID.
"21"
Kitsu ID.
"12"
aniSearch ID.
"2227"
Anime-Planet slug.
"one-piece"
LiveChart ID.
"321"
Letterboxd slug.
"the-truman-show"
Netflix movie ID.
"70210890"
Hulu episode ID.
Crunchyroll episode ID.
Trakt slug.
"john-wick-chapter-4-2023"
{
"simkl": 53536,
"imdb": "tt0181852",
"tmdb": 296
}
Hide child attributes
Classification of an entry in alt_titles. official = broadcaster/distributor-supplied localization, short = shortened form, synonym = community-supplied alias, original = original-language title (typically Japanese for anime).
official, short, synonym, original Ratings keyed by source. Anime always carry simkl and mal; classic anime also include imdb when an IMDb entry exists.
Hide child attributes
Type 4 null — data not on file in that field's slot. See Null and missing values.
Hide child attributes
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Hide child attributes
Type 4 null — data not on file in that field's slot. See Null and missing values.
Type 4 null — data not on file in that field's slot. See Null and missing values.
Was this page helpful?