Movie details
Full detail record for one movie — title, overview, year, runtime, country, language, certification, genres, director, ratings, posters, fanart, external IDs, alternate titles, release-date list per region, budget, revenue, trailers, similar-movie 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.
Authorizations
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
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
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
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.
Response
OK
Full movie record returned by GET /movies/{id}. The response shape is the same regardless of any extended query value — the parameter is a legacy no-op for this endpoint. Responses are Cloudflare-cached by Simkl ID. See Null and missing values for the nullable-field semantics used below.
Display title in the response language (defaults to English unless the request's language overrides it).
Release year.
Always movie on this endpoint.
movie External and internal identifiers for an item. Pass as many as you have — Simkl resolves to the canonical record.
{
"simkl": 53536,
"imdb": "tt0181852",
"tmdb": 296
}
Type 4 null — data not on file in that field's slot. See Null and missing values. Position in Simkl's popularity ranking. Null when not ranked.
Percentage of users who started watching but dropped, e.g. "0.1%". Type 4 null when the metric isn't computed.
Background/hero image path. Type 4 null when no fanart on file.
Initial release date (YYYY-MM-DD). Type 4 null when unknown.
Runtime in minutes. Type 4 null when not on file.
Primary director. Type 4 null when unknown.
Content rating (e.g. PG-13, R). Type 4 null when not rated for the response country.
Production budget in USD. Type 4 null when not on file.
Box-office revenue in USD. Type 4 null when not on file.
Plot synopsis. Type 4 null when no overview is available.
Genre names.
ISO 3166-1 alpha-2 production country code.
ISO 639-1 language code in UPPERCASE.
Localized and alternate titles. May contain many entries for popular titles.
Ratings keyed by source. Movies always carry simkl and imdb.
YouTube-hosted trailers and promo clips. Type 4 null when no trailers on file.
Per-country release event timeline.
Mini media objects suggested by Simkl based on this title's viewers.