Skip to main content
GET
TV show 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 TV show record returned by GET /tv/{id}. Cloudflare-cached by Simkl ID. The extended query param is a legacy no-op here.

title
string
required
year
integer
required

First-aired year.

type
enum<string>
required

Always show on this endpoint. (The canonical media type for TV records is showtv is reserved for the URL/route segment.) Live-verified 2026-05-14.

Available options:
show
ids
object
required

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

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

Episode runtime in minutes (most common length). Type 4 null when unknown.

certification
string | null

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

country
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values. ISO 3166-1 alpha-2 country of origin.

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

Originating network or streamer (e.g. HBO, Netflix). Type 4 null when unknown.

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. Series premiere date.

last_aired
string<date> | null

Type 4 null — data not on file in that field's slot. See Null and missing values. Date of the most recently aired episode.

airs
object | null

Type 4 null — data not on file in that field's slot. See Null and missing values. Recurring airing schedule (day-of-week, time, timezone). Fields vary; expect at least the broadcasting day for ongoing shows.

total_episodes
integer | null

Type 4 null — data not on file in that field's slot. See Null and missing values. Total episode count across all aired and announced seasons.

year_start_end
string | null

Type 4 null — data not on file in that field's slot. See Null and missing values. Display-friendly range like 2008-2013, or 2011- for ongoing.

ratings
object

Ratings keyed by source. TV shows always carry simkl and imdb.

trailers
object[] | null

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

users_recommendations
object[]