API reference
Discover
What is in cinemas, new on DVD and Blu-ray and to stream, and on an account’s streaming services; where a title can be watched (P6-42, P6-43). TMDB’s lists, with JustWatch’s streaming data.
Paths are relative to /api/v1 on your server.
/discover#What is in cinemas, new on disc and to stream
The rows of Discover for the caller: in cinemas, coming soon, new on DVD and Blu-ray, new to stream or rent, popular on the services the account chose, and new episodes this week, each title marked when this server has it. Films are held to the account’s age limit, and shows are left out for an account with one. region is the country, else the account’s, else the US. With no film catalogue to ask, the rows are empty and unavailable says why. Every Discover route answers 403 while Discover is switched off for the caller (P7-20) — by the server (discover.enabled), by an admin (allowDiscover) or by the person (prefs.discover) — and asks TMDB nothing.
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|---|---|---|
region | query | string |
- 200Success.
application/json·object - 400
VALIDATION_FAILED: the request did not match the schema;details.issueslists what.application/json·ErrorEnvelope - 401
UNAUTHENTICATED: no session, or the access token expired.application/json·ErrorEnvelope - 403
FORBIDDEN: the account lackslibrary:view, or the library, label, age or schedule scope refuses it.FORBIDDEN: Discover is switched off for the caller;details.reasonisdiscover-off,details.byserver,adminorselfapplication/json·ErrorEnvelope
/discover/images/{size}/{file}#A TMDB picture, through this server
Fetched from TMDB once and kept, so a browser asks only its own server. JPEG, PNG or WebP, never SVG.
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|---|---|---|
size required | path | "w92" | "w154" | "w185" | "w342" | "w500" | "w780" | "w1280" | |
file required | path | string |
- 200Success.
image/*· - 401
UNAUTHENTICATED: no session, or the access token expired.application/json·ErrorEnvelope - 403
FORBIDDEN: the account lackslibrary:view, or the library, label, age or schedule scope refuses it.application/json·ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see.application/json·ErrorEnvelope
/discover/providers#The streaming services in a country
The services TMDB knows in the country, the most watched first, for an account to choose its own from.
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|---|---|---|
region | query | string |
- 200Success.
application/json·object - 400
VALIDATION_FAILED: the request did not match the schema;details.issueslists what.application/json·ErrorEnvelope - 401
UNAUTHENTICATED: no session, or the access token expired.application/json·ErrorEnvelope - 403
FORBIDDEN: the account lackslibrary:view, or the library, label, age or schedule scope refuses it.application/json·ErrorEnvelope
/discover/regions#The countries with streaming data
- Authorisation
- Bearer token or API key · Session cookie
- 200Success.
application/json·object - 401
UNAUTHENTICATED: no session, or the access token expired.application/json·ErrorEnvelope - 403
FORBIDDEN: the account lackslibrary:view, or the library, label, age or schedule scope refuses it.application/json·ErrorEnvelope
/discover/titles/{kind}/{tmdbId}#One title from Discover
More about a film or a show TMDB knows: its releases in the country, its certificate there, and where to watch it.
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|---|---|---|
kind required | path | "movie" | "show" | |
tmdbId required | path | integer | |
region | query | string |
- 200Success.
application/json·object - 400
VALIDATION_FAILED: the request did not match the schema;details.issueslists what.application/json·ErrorEnvelope - 401
UNAUTHENTICATED: no session, or the access token expired.application/json·ErrorEnvelope - 403
FORBIDDEN: the account lackslibrary:view, or the library, label, age or schedule scope refuses it.application/json·ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see.NOT_FOUND: TMDB has no such title, or it is past the account’s age limitapplication/json·ErrorEnvelope - 502
PROVIDER_UNAVAILABLE: this server asks no film catalogue, or it is not answeringapplication/json·ErrorEnvelope
/items/{id}/where-to-watch#Where a library item can be watched
The streaming services that have a film or a show in the country (a season or an episode is its show), by subscription, free, rent and buy; null for an item TMDB does not know.
- Authorisation
- Bearer token or API key · Session cookie
| Parameter | In | Type | Description |
|---|---|---|---|
id required | path | string (uuid) | |
region | query | string |
- 200Success.
application/json·object - 400
VALIDATION_FAILED: the request did not match the schema;details.issueslists what.application/json·ErrorEnvelope - 401
UNAUTHENTICATED: no session, or the access token expired.application/json·ErrorEnvelope - 403
FORBIDDEN: the account lackslibrary:view, or the library, label, age or schedule scope refuses it.application/json·ErrorEnvelope - 404
NOT_FOUND: no such thing, or not one the caller may see.application/json·ErrorEnvelope
No endpoint here matches. Try another word, or look in another area.