Skip to main content
GET
/
anime
/
{id}
Anime details
curl --request GET \
  --url https://api.simkl.com/anime/{id} \
  --header 'User-Agent: <user-agent>' \
  --header 'simkl-api-key: <api-key>'
{ "title": "Kimetsu no Yaiba", "en_title": "Demon Slayer: Kimetsu no Yaiba", "year": 2019, "type": "anime", "anime_type": "tv", "ids": { "simkl": 831411, "slug": "kimetsu-no-yaiba", "imdb": "tt9335498", "mal": "38000", "tvdb": "348545", "tvdbslug": "demon-slayer-kimetsu-no-yaiba", "tmdb": "85937", "anilist": "101922", "kitsu": "41370", "trakttvslug": "demon-slayer-kimetsu-no-yaiba", "anidb": "14107" }, "rank": 14, "droprate": "0.8%", "poster": "10/108215c95bbe0c40c", "fanart": "11/11108654def22b4f7", "runtime": 25, "certification": "TV-MA", "country": "JP", "overview": "It is the Taisho Period in Japan. Tanjiro, a kindhearted boy who sells charcoal for a living, finds his family slaughtered by a demon. To make matters worse, his younger sister Nezuko, the sole survivor, has been transformed into a demon herself.", "genres": [ "Action", "Adventure", "Fantasy" ], "network": "Fuji TV", "status": "ended", "first_aired": "2019-04-06", "last_aired": "2024-06-30", "airs": { "day": "Sunday", "time": "23:15", "timezone": "Asia/Tokyo" }, "total_episodes": 55, "year_start_end": "2019-", "season_name_year": "Spring 2019", "mapped_tvdb_seasons": [ 1 ], "studios": [ { "name": "ufotable" } ], "relations": {}, "alt_titles": [ { "name": "Demon Slayer: Kimetsu no Yaiba", "lang": 22, "type": "official" }, { "name": "鬼滅の刃", "lang": 25, "type": "original" } ], "ratings": { "simkl": { "rating": 8.7, "votes": 1850 }, "mal": { "rating": 8.6, "votes": 1620000 } }, "trailers": [ { "name": "PV", "youtube": "VQGCKyvzIM4", "size": 1080 } ], "users_recommendations": [ { "title": "Jujutsu Kaisen", "year": 2020, "poster": "73/73892ec77b6c7e9d", "type": "anime", "ids": { "simkl": 1110742, "slug": "jujutsu-kaisen" } } ] }

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.

Authorizations

simkl-api-key
string
header
default:YOUR_CLIENT_ID
required

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.

Headers

User-Agent
string
required

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

Path Parameters

id
string
required

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.

Query Parameters

client_id
string
required

Your client_id from your Simkl developer settings. Required on every request.

app-name
string
required

Short, lowercase identifier for your app (e.g. plex-scrobbler, kodi-bridge). Helps Simkl identify which apps are using the API.

app-version
string
required

Your app's current version (e.g. 1.0, 2.4.1). Helps Simkl debug issues you report.

Response

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.

title
string
required

Original-language title (often romanized Japanese for anime).

year
integer
required
type
enum<string>
required

Always anime on this endpoint.

Available options:
anime
anime_type
enum<string>
required

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.

Available options:
tv,
movie,
special,
ova,
ona,
music video
ids
object
required

External and internal identifiers for an item. Pass as many as you have — Simkl resolves to the canonical record.

Example:
{
  "simkl": 53536,
  "imdb": "tt0181852",
  "tmdb": 296
}
en_title
string | null

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

rank
integer | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

droprate
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

poster
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

fanart
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

runtime
integer | null

Type 4 null — data not on file in that field's slot. See Null and missing values. Episode runtime in minutes.

certification
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

country
string | null

Almost always JP for anime. Type 4 null on rare productions.

overview
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

genres
string[]
network
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values. Originating TV station / streamer.

status
enum<string> | null

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 Ended
  • airing — 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.

Available options:
tba,
ended,
airing,
null
first_aired
string<date> | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

last_aired
string<date> | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

airs
object

Type 4 null — data not on file in that field's slot. See Null and missing values.

total_episodes
integer | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

year_start_end
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

season_name_year
string | null

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.

mapped_tvdb_seasons
integer[]

AniDB/Simkl season numbers mapped onto the corresponding TVDB season numbers (anime catalogues split seasons differently between databases).

studios
object[]

Production studios. Each entry typically carries a name and other identifiers.

relations
object[]

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.

alt_titles
object[]
ratings
object

Ratings keyed by source. Anime always carry simkl and mal; classic anime also include imdb when an IMDb entry exists.

trailers
object[] | null

Type 4 null — data not on file in that field's slot. See Null and missing values.

users_recommendations
object[]