Skip to main content
GET
Anime details

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:
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 | null

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[]