JustWatch API endpoint
Fetches a JustWatch title page and summarizes provider availability, monetization buckets, formats, price ranges, and best rent/buy/free/subscription options. Pass exactly one of `path` or `url`.
/justwatch/title/analysisReturns a JustWatch title plus a computed availability summary.
Query parameters:
path optional string. JustWatch title path such as /us/movie/inception.url optional string. Absolute JustWatch URL such as https://www.justwatch.com/us/movie/inception.Notable response behavior:
price_ranges is keyed by monetization type and includes only offers with a numeric price.best_rent, best_buy, best_free, and best_subscription are selected from offers when available.available: false with total_offers: 0.| Field | Filled in, of 13 checked | Values in the sample |
|---|---|---|
| provider | 13 | “Amazon DVD / Blu-ray” and 7 other values |
| monetization_type | 13 | BUY (8), RENT (5) |
| presentation_type | 13 | 4K (6), DVD (3), BLU-RAY (2) and 1 more |
| price | 13 | 2.13 to 16.7, median 5 |
| currency | 13 | USD in all 13 |
| availability | 13 | schema.org |
| url | 13 | amazon.com and 7 other hosts |
| category | 5 | DVD (3), Blu-Ray (2) |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| path | string | No | JustWatch title path | /us/movie/inception | |
| url | string | No | Absolute https://www.justwatch.com title URL | https://www.justwatch.com/us/movie/inception | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/justwatch/title/analysis" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"title": {
"id": "tm92641",
"title": "Inception",
"path": "/us/movie/inception"
},
"summary": {
"available": true,
"total_offers": 15,
"provider_count": 6,
"monetization_counts": {
"BUY": 7,
"RENT": 8
},
"format_counts": {
"4K": 4,
"HD": 5
},
"price_ranges": {
"RENT": {
"min": 2.99,
"max": 4.99,
"currency": "USD"
}
}
}
}
}Request schema
No body schema
Response schema
#/definitions/justwatch.analysisResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | justwatch.AnalysisResponse | No | ||||
| data.summary | object | No | Availability summary computed from the title's offers. | |||
| data.summary.available | boolean | No | true | Whether the title has at least one offer. | ||
| data.summary.best_buy | object | No | Cheapest `BUY` offer for the title. Omitted when there is none. | |||
| data.summary.best_buy.availability | string | No | https://schema.org/InStock | Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`. | ||
| data.summary.best_buy.category | string | No | Blu-Ray | Format label shown for the offer, for example `Blu-Ray`. | ||
| data.summary.best_buy.currency | string | No | USD | Currency of `price`, as an ISO 4217 code such as `USD`. | ||
| data.summary.best_buy.monetization_type | string | No | RENT | How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`. | ||
| data.summary.best_buy.presentation_type | string | No | 4K | Picture format of the offer, for example `HD` or `4K`. | ||
| data.summary.best_buy.price | number | No | 4.99 | Price of the offer in `currency`. Omitted for free and subscription offers without a price. | ||
| data.summary.best_buy.provider | string | No | Amazon Video | Name of the provider offering the title, for example `Amazon Video`. | ||
| data.summary.best_buy.provider_id | integer | No | 10 | JustWatch id of the provider. | ||
| data.summary.best_buy.provider_short | string | No | amz | Short provider code, for example `amz`. | ||
| data.summary.best_buy.provider_technical | string | No | amazon | Technical provider name used by JustWatch, for example `amazon`. | ||
| data.summary.best_buy.url | string | No | Link to watch or buy the title at the provider. | |||
| data.summary.best_free | object | No | Cheapest `FREE` offer for the title. Omitted when there is none. | |||
| data.summary.best_free.availability | string | No | https://schema.org/InStock | Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`. | ||
| data.summary.best_free.category | string | No | Blu-Ray | Format label shown for the offer, for example `Blu-Ray`. | ||
| data.summary.best_free.currency | string | No | USD | Currency of `price`, as an ISO 4217 code such as `USD`. | ||
| data.summary.best_free.monetization_type | string | No | RENT | How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`. | ||
| data.summary.best_free.presentation_type | string | No | 4K | Picture format of the offer, for example `HD` or `4K`. | ||
| data.summary.best_free.price | number | No | 4.99 | Price of the offer in `currency`. Omitted for free and subscription offers without a price. | ||
| data.summary.best_free.provider | string | No | Amazon Video | Name of the provider offering the title, for example `Amazon Video`. | ||
| data.summary.best_free.provider_id | integer | No | 10 | JustWatch id of the provider. | ||
| data.summary.best_free.provider_short | string | No | amz | Short provider code, for example `amz`. | ||
| data.summary.best_free.provider_technical | string | No | amazon | Technical provider name used by JustWatch, for example `amazon`. | ||
| data.summary.best_free.url | string | No | Link to watch or buy the title at the provider. | |||
| data.summary.best_rent | object | No | Cheapest `RENT` offer for the title. Omitted when there is none. | |||
| data.summary.best_rent.availability | string | No | https://schema.org/InStock | Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`. | ||
| data.summary.best_rent.category | string | No | Blu-Ray | Format label shown for the offer, for example `Blu-Ray`. | ||
| data.summary.best_rent.currency | string | No | USD | Currency of `price`, as an ISO 4217 code such as `USD`. | ||
| data.summary.best_rent.monetization_type | string | No | RENT | How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`. | ||
| data.summary.best_rent.presentation_type | string | No | 4K | Picture format of the offer, for example `HD` or `4K`. | ||
| data.summary.best_rent.price | number | No | 4.99 | Price of the offer in `currency`. Omitted for free and subscription offers without a price. | ||
| data.summary.best_rent.provider | string | No | Amazon Video | Name of the provider offering the title, for example `Amazon Video`. | ||
| data.summary.best_rent.provider_id | integer | No | 10 | JustWatch id of the provider. | ||
| data.summary.best_rent.provider_short | string | No | amz | Short provider code, for example `amz`. | ||
| data.summary.best_rent.provider_technical | string | No | amazon | Technical provider name used by JustWatch, for example `amazon`. | ||
| data.summary.best_rent.url | string | No | Link to watch or buy the title at the provider. | |||
| data.summary.best_subscription | object | No | Cheapest `FLATRATE` or `ADS` offer for the title. Omitted when there is none. | |||
| data.summary.best_subscription.availability | string | No | https://schema.org/InStock | Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`. | ||
| data.summary.best_subscription.category | string | No | Blu-Ray | Format label shown for the offer, for example `Blu-Ray`. | ||
| data.summary.best_subscription.currency | string | No | USD | Currency of `price`, as an ISO 4217 code such as `USD`. | ||
| data.summary.best_subscription.monetization_type | string | No | RENT | How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`. | ||
| data.summary.best_subscription.presentation_type | string | No | 4K | Picture format of the offer, for example `HD` or `4K`. | ||
| data.summary.best_subscription.price | number | No | 4.99 | Price of the offer in `currency`. Omitted for free and subscription offers without a price. | ||
| data.summary.best_subscription.provider | string | No | Amazon Video | Name of the provider offering the title, for example `Amazon Video`. | ||
| data.summary.best_subscription.provider_id | integer | No | 10 | JustWatch id of the provider. | ||
| data.summary.best_subscription.provider_short | string | No | amz | Short provider code, for example `amz`. | ||
| data.summary.best_subscription.provider_technical | string | No | amazon | Technical provider name used by JustWatch, for example `amazon`. | ||
| data.summary.best_subscription.url | string | No | Link to watch or buy the title at the provider. | |||
| data.summary.format_counts | object | No | Number of offers per picture format, keyed by format such as `HD` or `4K`. | |||
| data.summary.monetization_counts | object | No | Number of offers per monetization type, keyed by type such as `RENT` or `BUY`. | |||
| data.summary.price_ranges | object | No | Lowest and highest price per monetization type, keyed by type. Only offers with a price are counted. | |||
| data.summary.provider_count | integer | No | 6 | Number of distinct providers that carry the title. | ||
| data.summary.total_offers | integer | No | 15 | Total number of offers found for the title. | ||
| data.title | object | No | Title the summary was computed for. | |||
| data.title.content_rating | string | No | Age or content rating shown for the title. | |||
| data.title.description | string | No | Synopsis of the title. | |||
| data.title.genres | array | No | Genre names of the title. | |||
| data.title.id | string | No | tm92641 | JustWatch title id, for example `tm92641` for a movie. | ||
| data.title.object_id | integer | No | 92641 | Numeric JustWatch id of the title. | ||
| data.title.object_type | string | No | MOVIE | JustWatch object type of the title, for example `MOVIE` or `SHOW`. | ||
| data.title.offers | array | No | Streaming, rental and purchase offers for the title. | |||
| data.title.offers[].availability | string | No | https://schema.org/InStock | Availability of the offer as a schema.org URL, for example `https://schema.org/InStock`. | ||
| data.title.offers[].category | string | No | Blu-Ray | Format label shown for the offer, for example `Blu-Ray`. | ||
| data.title.offers[].currency | string | No | USD | Currency of `price`, as an ISO 4217 code such as `USD`. | ||
| data.title.offers[].monetization_type | string | No | RENT | How the title is offered: `FLATRATE`, `FREE`, `ADS`, `RENT` or `BUY`. | ||
| data.title.offers[].presentation_type | string | No | 4K | Picture format of the offer, for example `HD` or `4K`. | ||
| data.title.offers[].price | number | No | 4.99 | Price of the offer in `currency`. Omitted for free and subscription offers without a price. | ||
| data.title.offers[].provider | string | No | Amazon Video | Name of the provider offering the title, for example `Amazon Video`. | ||
| data.title.offers[].provider_id | integer | No | 10 | JustWatch id of the provider. | ||
| data.title.offers[].provider_short | string | No | amz | Short provider code, for example `amz`. | ||
| data.title.offers[].provider_technical | string | No | amazon | Technical provider name used by JustWatch, for example `amazon`. | ||
| data.title.offers[].url | string | No | Link to watch or buy the title at the provider. | |||
| data.title.path | string | No | /us/movie/inception | JustWatch page path of the title, for example `/us/movie/inception`. | ||
| data.title.poster_url | string | No | https://images.justwatch.com/poster/302449148/s718/inception.jpg | URL of the poster image for the title. | ||
| data.title.release_date | string | No | 2010-07-14 | Release date of the title, for example `2010-07-14`. | ||
| data.title.runtime | string | No | PT2H28M0S | Running time as an ISO 8601 duration, for example `PT2H28M0S`. | ||
| data.title.scoring | object | No | User and critic ratings for the title. | |||
| data.title.scoring.best_rating | string | No | 100 | Top of the scale for `justwatch_rating`, for example `100`. | ||
| data.title.scoring.certified_fresh | boolean | No | true | Whether the title carries the Rotten Tomatoes Certified Fresh badge. | ||
| data.title.scoring.imdb_score | number | No | 8.8 | IMDb user rating out of 10. | ||
| data.title.scoring.imdb_votes | integer | No | 2798306 | Number of IMDb votes behind `imdb_score`. | ||
| data.title.scoring.justwatch_rating | number | No | 97 | JustWatch user rating, on the scale given by `best_rating`. | ||
| data.title.scoring.rating_count | integer | No | 77696 | Number of ratings behind `justwatch_rating`. | ||
| data.title.scoring.tmdb_popularity | number | No | 38.5801 | TMDB popularity score for the title. | ||
| data.title.scoring.tmdb_score | number | No | 8.372 | TMDB user rating for the title. | ||
| data.title.scoring.tomato_meter | integer | No | 87 | Rotten Tomatoes Tomatometer score, as a percentage. | ||
| data.title.title | string | No | Inception | Name of the title in the requested language. | ||
| data.title.url | string | No | https://www.justwatch.com/us/movie/inception | Full JustWatch page URL of the title. | ||
| data.title.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/title/analysis" \
-H "x-api-key: $CRAWLORA_API_KEY"