Streaming catalog research
Use JustWatch endpoints to turn streaming catalog research into repeatable API requests with documented inputs and JSON responses.
Research streaming catalogs, title availability, providers, offers, seasons, episodes, and release changes from JustWatch with normalized JSON.
Collect JustWatch title search, streaming availability, provider, genre, offer, season, episode, and catalog discovery data through documented API endpoints.
Endpoint families
6
Documented params
93
Examples
21
Live catalog snapshot
Active endpoints
21
Methods
GET
Required params
34
Schema refs
21
{
"platform": "JustWatch",
"endpoint": "justwatch-search",
"method": "GET",
"path": "/justwatch/search",
"auth": "apiKey"
}Related use cases
Use cases
Collect JustWatch title search, streaming availability, provider, genre, offer, season, episode, and catalog discovery data through documented API endpoints.
Use JustWatch endpoints to turn streaming catalog research into repeatable API requests with documented inputs and JSON responses.
Use JustWatch endpoints to turn title availability monitoring into repeatable API requests with documented inputs and JSON responses.
Use JustWatch endpoints to turn provider and offer intelligence into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live JustWatch endpoint catalog — 21 endpoints, 93 documented request parameters, and 21 published response schemas — the same catalog Docs and Playground run against.
21 documented JustWatch endpoints, grouped into 14 request families — Title, Episode and Season, plus 11 more.
93 request parameters are documented across those JustWatch endpoints, 34 of them required — the full input contract is public before you write any integration code.
21 of the 21 JustWatch endpoints ship a recorded example response, and 21 carry a documented response schema — you can code against the real JSON before the first request.
JustWatch endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
21 hosted MCP tools back the JustWatch endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/justwatch/title
/justwatch/episode/by-id
/justwatch/season/episodes
/justwatch/age-certifications
/justwatch/discover
/justwatch/genre/titles
Featured endpoints
/justwatch/searchSearches JustWatch titles using the public credential-free website GraphQL endpoint. Country must be a two-letter ISO code such as `US`; language must be a two-letter code such as `en`.
Response notes
- Empty search results return `404`. - Invalid country or language formats return `400`. - GraphQL errors, block pages, malformed payloads, or upstream transport failures return `503`. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "inception", "country": "US", "language": "en", "results": [ { "id": "tm92641", "object_id": 92641, "object_type": "MOVIE", "title": "Inception", "year": 2010, "path": "/us/movie/inception", "url": "https://www.justwatch.com/us/movie/inception", "poster_url": "https://images.justwatch.com/poster/302449148/s718/inception.jpg" } ] } } ```
MCP tool justwatch_search
/justwatch/popularReturns popular movies and shows from the public JustWatch website GraphQL endpoint. Type accepts only `all`, `movie`, or `show`; limit defaults to 20 and clamps to 50.
Response notes
- Invalid `country`, `language`, or `type` values return `400`. - GraphQL errors, challenge payloads, malformed JSON, or unexpected empty popular payloads return `503`. - Results reuse the normalized title search shape and include compact offers when available.
MCP tool justwatch_popular
/justwatch/newReturns newly available movies and shows from the public JustWatch website GraphQL endpoint. Type accepts only `all`, `movie`, or `show`; limit defaults to 20 and clamps to 50.
Response notes
- Invalid `country`, `language`, or `type` values return `400`. - GraphQL errors, challenge payloads, malformed JSON, or unexpected empty new-title payloads return `503`. - Results are filtered to movie/show object types and reuse the normalized title search shape.
MCP tool justwatch_new
/justwatch/discoverReturns popular movies and shows filtered by optional genre short names, provider short names, production countries, monetization types, and release year bounds. Combine `providers` with `production_countries` to build charts such as most popular Korean or Japanese titles on a given service. Type accepts only `all`, `movie`, or `show`; monetization_types accepts only `FLATRATE`, `FREE`, `ADS`, `RENT`, or `BUY`.
Response notes
- Invalid `country`, `language`, `type`, `genres`, `providers`, `production_countries`, `monetization_types`, `year_min`, or `year_max` values return `400`. - `production_countries` filters on the title's country of origin (JustWatch popularity within a `country` market), not the market itself. Use `country` for the market and `production_countries` for the origin. - Each result carries a `production_countries` array so callers can confirm the origin used for the filter. - GraphQL errors, challenge payloads, malformed JSON, or unexpected empty discover payloads return `503`. - Provider short names can be discovered with `/api/v1/justwatch/providers`; genre short names can be discovered with `/api/v1/justwatch/genres`.
MCP tool justwatch_discover
/justwatch/titleFetches a JustWatch title page and returns normalized metadata and current offers. Pass exactly one of `path` or `url`.
Response notes
- Non-JustWatch URLs, missing locators, or both locators return `400`. - Missing title pages return `404`. - Block pages, malformed HTML, missing JSON-LD payloads, or upstream transport failures return `503`. - A title with no current offers can still return `200` when metadata is present. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "tm92641", "object_id": 92641, "object_type": "MOVIE", "title": "Inception", "year": 2010, "path": "/us/movie/inception", "url": "https://www.justwatch.com/us/movie/inception", "genres": ["Science-Fiction", "Mystery & Thriller"], "offers": [ { "provider": "Plex", "monetization_type": "RENT", "presentation_type": "HD", "price": 2.99, "currency": "USD", "url": "https://watch.plex.tv/movie/inception" } ] } } ```
MCP tool justwatch_title
/justwatch/title/by-idLooks up a movie or show by raw JustWatch GraphQL id such as `tm92641` or `ts287292`.
Response notes
- Invalid `id`, `country`, or `language` values return `400`. - A valid id with `node: null` returns `404`. - GraphQL errors, challenge payloads, malformed JSON, or incomplete title payloads return `503`. - Offers include normalized provider names, monetization type, presentation type, URL, price, and currency when upstream provides them.
MCP tool justwatch_title_by_id
Related APIs
Media & Streaming
Turn Apple Books ebook and audiobook pages into structured data — search, catalog detail, paginated customer reviews, similar titles, author bibliographies, series listings, and chart rankings as normalized JSON. Credential-free.
Media & Streaming
Search public Ticketmaster events and browse the full discovery hierarchy by category or city, with pagination plus event, attraction, and venue detail endpoints -- including fan reviews, related attractions, trending attractions, and enhanced venue branding -- for live-entertainment research.
Media & Streaming
Search TicketWeb's public event catalog by artist, event, or venue, then resolve any event or venue into normalized detail records with dates, delivery methods, and per-tier ticket pricing.
How to scrape JustWatch
JustWatch tracks which streaming service carries which title in which country, and publishes no open API for it. Crawlora's 21 JustWatch endpoints return search, discovery, title, offer, provider, season, and episode data as normalized JSON, with country and language on nearly every call.
Search titles by query, pull popular or new titles, or use discover to filter by genre, provider, production country, monetization type, and year range.
Title detail takes a JustWatch path or url; the by-id variant takes the raw id. Either way you end up with the id the rest of the endpoints need.
Title offers returns where a title is available and how — FLATRATE, FREE, ADS, RENT, or BUY — and accepts several countries in one call.
Show seasons, season episodes, episode detail, and episode offers walk a series down to per-episode availability; title-analysis summarizes a title's availability directly.
FAQ
JustWatch sells a commercial data product to partners but publishes no open API for third-party developers. Crawlora is not affiliated with JustWatch; its endpoints read the credential-free public website GraphQL surface and return it as documented JSON.
Resolve the title to an id, then call the offers endpoint. It accepts a comma-separated countries list, so one call can answer where a title is streamable across several markets, and each offer carries its monetization type — FLATRATE, FREE, ADS, RENT, or BUY.
Two-letter codes: country such as US or DE, language such as en or de. They control both which catalog you see and which language the metadata comes back in.
Yes. The provider-titles endpoint takes a provider and returns its catalog for a country, and the providers endpoint lists which providers exist in that country at all.