JustWatch API endpoint
Lists the seasons of a JustWatch show given as `show_id` (`ts` followed by digits, such as `ts287292`), with `country` defaulting to `US` and `language` to `en`. Each season has its number, title, year, description, path and poster. The show itself comes back with genres, scoring, runtime and offers. An unknown show returns `404`.
/justwatch/show/seasonsReturns seasons for a JustWatch show id.
show_id required string. Raw JustWatch show id matching ts[0-9]+, for example ts287292.country optional string. Two-letter country code. Defaults to US.language optional string. Two-letter language code. Defaults to en.show_id, country, or language values return 400.node: null returns 404.503.| Field | Filled in, of 4 checked | Values in the sample |
|---|---|---|
| id | 4 | |
| object_id | 4 | |
| object_type | 4 | SHOW_SEASON in all 4 |
| title | 4 | “Season 1” and 3 other values |
| year | 4 | 2,022 to 2,026, median 2,023 |
| season_number | 4 | 1 to 4, median 2 |
| path | 4 | “/us/tv-show/from/season-1” and 3 other values |
| url | 4 | justwatch.com |
| poster_url | 4 | images.justwatch.com |
| description | 4 | median 175 characters |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| show_id | string | Yes | Raw JustWatch show id matching ts[0-9]+ | ts287292 | |
| country | string | No | Two-letter country code | US | |
| language | string | No | Two-letter language code | en | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/justwatch/show/seasons?show_id=ts287292&country=us&language=en" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"country": "US",
"language": "en",
"show": {
"id": "ts287292",
"title": "FROM"
},
"seasons": [
{
"id": "tss297253",
"object_type": "SHOW_SEASON",
"title": "Season 1",
"season_number": 1,
"path": "/us/tv-show/from/season-1",
"url": "https://www.justwatch.com/us/tv-show/from/season-1"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/justwatch.showSeasonsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | justwatch.ShowSeasonsResponse | No | ||||
| data.country | string | No | US | Two-letter ISO country code the results are for. | ||
| data.language | string | No | en | Two-letter language code used for titles and descriptions. | ||
| data.seasons | array | No | Seasons of the show, in order. | |||
| data.seasons[].description | string | No | Short synopsis of the season. | |||
| data.seasons[].id | string | No | tss297253 | JustWatch season id, for example `tss297253`. | ||
| data.seasons[].object_id | integer | No | 297253 | Numeric JustWatch id of the season. | ||
| data.seasons[].object_type | string | No | SHOW_SEASON | JustWatch object type, `SHOW_SEASON` for seasons. | ||
| data.seasons[].path | string | No | /us/tv-show/from/season-1 | JustWatch page path of the season. | ||
| data.seasons[].poster_url | string | No | https://images.justwatch.com/poster/320190730/s718/season-1.jpg | URL of the poster image for the season. | ||
| data.seasons[].season_number | integer | No | 1 | Number of the season within the show. | ||
| data.seasons[].title | string | No | Season 1 | Season title, for example `Season 1`. | ||
| data.seasons[].url | string | No | https://www.justwatch.com/us/tv-show/from/season-1 | Full JustWatch page URL of the season. | ||
| data.seasons[].year | integer | No | 2022 | Release year of the season. | ||
| data.show | object | No | Show the seasons belong to. | |||
| data.show.content_rating | string | No | Age or content rating shown for the title. | |||
| data.show.description | string | No | Synopsis of the title. | |||
| data.show.genres | array | No | Genre names of the title. | |||
| data.show.id | string | No | tm92641 | JustWatch title id, for example `tm92641` for a movie. | ||
| data.show.object_id | integer | No | 92641 | Numeric JustWatch id of the title. | ||
| data.show.object_type | string | No | MOVIE | JustWatch object type of the title, for example `MOVIE` or `SHOW`. | ||
| data.show.offers | array | No | Streaming, rental and purchase offers for the title. | |||
| data.show.offers[].availability | string | No | https://schema.org/InStock | Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`. | ||
| data.show.offers[].category | string | No | Blu-Ray | Format label shown for the offer, for example `Blu-Ray`. | ||
| data.show.offers[].currency | string | No | USD | Currency of `price`, as an ISO 4217 code such as `USD`. | ||
| data.show.offers[].monetization_type | string | No | RENT | How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`. | ||
| data.show.offers[].presentation_type | string | No | 4K | Picture format of the offer, for example `HD` or `4K`. | ||
| data.show.offers[].price | number | No | 4.99 | Price of the offer in `currency`. Omitted for free and subscription offers without a price. | ||
| data.show.offers[].provider | string | No | Amazon Video | Name of the provider offering the title, for example `Amazon Video`. | ||
| data.show.offers[].provider_id | integer | No | 10 | JustWatch id of the provider. | ||
| data.show.offers[].provider_short | string | No | amz | Short provider code, for example `amz`. | ||
| data.show.offers[].provider_technical | string | No | amazon | Technical provider name used by JustWatch, for example `amazon`. | ||
| data.show.offers[].url | string | No | Link to watch or buy the title at the provider. | |||
| data.show.path | string | No | /us/movie/inception | JustWatch page path of the title, for example `/us/movie/inception`. | ||
| data.show.poster_url | string | No | https://images.justwatch.com/poster/302449148/s718/inception.jpg | URL of the poster image for the title. | ||
| data.show.release_date | string | No | 2010-07-14 | Release date of the title, for example `2010-07-14`. | ||
| data.show.runtime | string | No | PT2H28M0S | Running time as an ISO 8601 duration, for example `PT2H28M0S`. | ||
| data.show.scoring | object | No | User and critic ratings for the title. | |||
| data.show.scoring.best_rating | string | No | 100 | Top of the scale for `justwatch_rating`, for example `100`. | ||
| data.show.scoring.certified_fresh | boolean | No | true | Whether the title carries the Rotten Tomatoes Certified Fresh badge. | ||
| data.show.scoring.imdb_score | number | No | 8.8 | IMDb user rating out of 10. | ||
| data.show.scoring.imdb_votes | integer | No | 2798306 | Number of IMDb votes behind `imdb_score`. | ||
| data.show.scoring.justwatch_rating | number | No | 97 | JustWatch user rating, on the scale given by `best_rating`. | ||
| data.show.scoring.rating_count | integer | No | 77696 | Number of ratings behind `justwatch_rating`. | ||
| data.show.scoring.tmdb_popularity | number | No | 38.5801 | TMDB popularity score for the title. | ||
| data.show.scoring.tmdb_score | number | No | 8.372 | TMDB user rating for the title. | ||
| data.show.scoring.tomato_meter | integer | No | 87 | Rotten Tomatoes Tomatometer score, as a percentage. | ||
| data.show.title | string | No | Inception | Name of the title in the requested language. | ||
| data.show.url | string | No | https://www.justwatch.com/us/movie/inception | Full JustWatch page URL of the title. | ||
| data.show.year | integer | No | 2010 | Release year of the title. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/justwatch/show/seasons?show_id=ts287292&country=us&language=en" \
-H "x-api-key: $CRAWLORA_API_KEY"