JustWatch API endpoint
Returns popular movies and shows available on one streaming provider, by JustWatch provider short name such as `nfx`, for a country (default `US`) and language (default `en`). Filter to movies or shows with `type` and cap results with `limit` (default 20, max 50). Each title has its name, year, type, poster, JustWatch URL and offers with price, currency and monetization type.
/justwatch/provider/titlesReturns popular movie/show titles for a JustWatch provider short name.
provider required string. JustWatch provider short name such as nfx.country optional string. Two-letter country code. Defaults to US.language optional string. Two-letter language code. Defaults to en.limit optional integer. Defaults to 20; maximum 50.type optional string. Allowed values: all, movie, show. Defaults to all.provider, country, language, or type values return 400.503./api/v1/justwatch/providers.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| object_id | 20 | |
| object_type | 20 | |
| title | 20 | |
| year | 20 | 1,990 to 2,026, median 2,025 |
| path | 20 | |
| url | 20 | justwatch.com |
| poster_url | 20 | images.justwatch.com |
| offers | 20 | median 5 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| provider | string | Yes | JustWatch provider short name | nfx | |
| country | string | No | Two-letter country code | US | |
| language | string | No | Two-letter language code | en | |
| limit | integer | No | 20 and clamps to 50 | Maximum results, defaults to 20 and clamps to 50 | 20 |
| type | string | No | Title type: all, movie, show Allowed values: all, movie, show. | all | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/justwatch/provider/titles?provider=nfx&country=us&language=en&limit=10&type=all" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"provider": "nfx",
"country": "US",
"language": "en",
"type": "all",
"results": [
{
"id": "ts296145",
"object_type": "SHOW",
"title": "Beef",
"year": 2023,
"path": "/us/tv-show/beef"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/justwatch.providerTitlesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | justwatch.ProviderTitlesResponse | 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.provider | string | No | nfx | Provider short name the titles are available on, for example `nfx`. | ||
| data.results | array | No | Titles matching the request, one item per title. | |||
| data.results[].id | string | No | tm92641 | JustWatch title id, for example `tm92641` for a movie. | ||
| data.results[].object_id | integer | No | 92641 | Numeric JustWatch id of the title. | ||
| data.results[].object_type | string | No | MOVIE | JustWatch object type of the title, for example `MOVIE` or `SHOW`. | ||
| data.results[].offers | array | No | Streaming, rental and purchase offers for the title. | |||
| data.results[].offers[].availability | string | No | https://schema.org/InStock | Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`. | ||
| data.results[].offers[].category | string | No | Blu-Ray | Format label shown for the offer, for example `Blu-Ray`. | ||
| data.results[].offers[].currency | string | No | USD | Currency of `price`, as an ISO 4217 code such as `USD`. | ||
| data.results[].offers[].monetization_type | string | No | RENT | How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`. | ||
| data.results[].offers[].presentation_type | string | No | 4K | Picture format of the offer, for example `HD` or `4K`. | ||
| data.results[].offers[].price | number | No | 4.99 | Price of the offer in `currency`. Omitted for free and subscription offers without a price. | ||
| data.results[].offers[].provider | string | No | Amazon Video | Name of the provider offering the title, for example `Amazon Video`. | ||
| data.results[].offers[].provider_id | integer | No | 10 | JustWatch id of the provider. | ||
| data.results[].offers[].provider_short | string | No | amz | Short provider code, for example `amz`. | ||
| data.results[].offers[].provider_technical | string | No | amazon | Technical provider name used by JustWatch, for example `amazon`. | ||
| data.results[].offers[].url | string | No | Link to watch or buy the title at the provider. | |||
| data.results[].path | string | No | /us/movie/inception | JustWatch page path of the title, for example `/us/movie/inception`. | ||
| data.results[].poster_url | string | No | https://images.justwatch.com/poster/302449148/s718/inception.jpg | URL of the poster image for the title. | ||
| data.results[].production_countries | array | No | KR | ProductionCountries lists the title's country of origin as two-letter ISO codes. It is only populated on surfaces that request it, such as discover. | ||
| data.results[].title | string | No | Inception | Name of the title in the requested language. | ||
| data.results[].url | string | No | https://www.justwatch.com/us/movie/inception | Full JustWatch page URL of the title. | ||
| data.results[].year | integer | No | 2010 | Release year of the title. | ||
| data.type | string | No | all | Content type filter applied: `all`, `movie` or `show`. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/provider/titles?provider=nfx&country=us&language=en&limit=10&type=all" \
-H "x-api-key: $CRAWLORA_API_KEY"