JustWatch API: Get where to watch
Finds where a movie or show can be watched in a country on JustWatch. Returns streaming, rental and purchase offers with prices, plus ratings and whether it is in cinemas.
Unofficial. Not affiliated with or endorsed by JustWatch.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Year optional
year Release year to distinguish titles, for example 2024.
2024
Whole number.
- Title, required
title Movie or show name, for example Dune: Part Two.
Dune: Part Two
- Country optional
country Country name or two-letter code, for example United States or US.
United States (default)
Input as JSON
{ "year": 2024, "title": "Dune: Part Two"}Output
{ "type": "movie", "year": 2024, "title": "Dune: Part Two", "offers": [ { "kind": "subscription", "price": null, "watch_link": "https://watch.amazon.com/detail?gti=amzn1.dv.gti.9392c069-96f9-421b-ac7a-275308e1327a" , "service_name": "HBO Max Amazon Channel", "currency_code": "USD", "video_quality": "4K" }, { "kind": "subscription", "price": null, "watch_link": "https://tv.youtube.com/browse/UCaA-mkSqDa03ajlTEJzHa5w" , "service_name": "YouTube TV", "currency_code": "USD", "video_quality": "4K" }, { "kind": "subscription", "price": null, "watch_link": "https://www.tntdrama.com/movies/dune-part-two-theatrical" , "service_name": "TNT", "currency_code": "USD", "video_quality": "HD" } ], "imdb_rating": 8.4, "justwatch_id": "1133934", "in_cinemas_now": true, "justwatch_link": "https://www.justwatch.com/us/movie/dune-part-two-2023" , "justwatch_rating_percent": 95}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"justwatch.com/get_where_to_watch","input":{"year":2024,"title":"Dune: Part Two"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "justwatch.com/get_where_to_watch" , "input": { "year": 2024, "title": "Dune: Part Two" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "justwatch.com/get_where_to_watch" , "input": { "year": 2024, "title": "Dune: Part Two" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run justwatch.com/get_where_to_watch# with {"year":2024,"title":"Dune: Part Two"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "title" ], "properties": { "year": { "type": "integer", "description": "Release year to distinguish titles, for example 2024." }, "title": { "type": "string", "minLength": 1, "description": "Movie or show name, for example Dune: Part Two." }, "country": { "type": "string", "default": "United States", "description": "Country name or two-letter code, for example United States or US." } }}Output schema
{ "type": "object", "required": [ "title", "type", "in_cinemas_now", "justwatch_link", "offers" ], "properties": { "type": { "enum": [ "movie", "show" ], "type": "string" }, "year": { "type": [ "integer", "null" ] }, "title": { "type": "string" }, "offers": { "type": "array", "items": { "type": "object", "properties": { "kind": { "enum": [ "subscription", "free", "free with ads", "rent", "buy" ], "type": "string" }, "price": { "type": [ "number", "null" ] }, "watch_link": { "type": [ "string", "null" ] }, "service_name": { "type": [ "string", "null" ] }, "currency_code": { "type": [ "string", "null" ] }, "video_quality": { "enum": [ "SD", "HD", "4K", null ], "type": [ "string", "null" ] } } } }, "imdb_rating": { "type": [ "number", "null" ] }, "justwatch_id": { "type": [ "string", "null" ] }, "in_cinemas_now": { "type": "boolean" }, "justwatch_link": { "type": "string" }, "justwatch_rating_percent": { "type": [ "integer", "null" ] } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
justwatch.com/get_where_to_watch- Returns
- title, type, year, ratings, cinema status, JustWatch link, offers (kind, service, price, currency, quality, link)
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method justwatch.com/get_where_to_watch with the inputs above.
Ask your agent
- Where can I stream Dune: Part Two (2024) in the United States?
- Is Oppenheimer from 2023 available to rent or buy in the UK, and how much does it cost?
- Which streaming service has The Bear season 3 in Canada?
- Show me the rental prices and quality options for Past Lives (2023) in Australia on JustWatch.
- Is Poor Things (2023) still playing in cinemas, and where else can I watch it in Germany?
See more
All JustWatch methodsLists titles on JustWatch's daily streaming chart for a country, optionally limited to one streaming service.
justwatch.com/list_streaming_chartsLists recently added movies and show seasons on streaming services in a country, newest first, from JustWatch listings.
justwatch.com/list_new_arrivalsFinds a movie on TMDB by exact title (optionally its release year) or by TMDB movie link, and returns its details, cast, crew, trailers, and the release date, age rating and streaming services for a chosen country.
themoviedb.org/get_movieGets one Netflix movie or series by its exact name or Netflix title URL: title details, publicly shown seasons and episodes, and whether it is available in a given country's catalogue (checked against public JustWatch listings).
netflix.com/get_movie_or_showGets a movie or TV show's IMDb details from its name, IMDb title link or title ID; a year picks between titles with the same name. Unavailable details are null.
imdb.com/get_movie_or_showGets Rotten Tomatoes critic and audience scores and title details for a movie or TV show, optionally for one TV season. Audience rating counts may be unavailable for series.
rottentomatoes.com/get_scoresFinds a movie on Box Office Mojo by title, with an optional year, and returns its box office totals, release details, theater counts and markets.
boxofficemojo.com/get_movie_box_officeGets age certifications and non-spoiler Parents Guide summaries (severity votes and example descriptions for five categories) for a movie or show by title, IMDb link or title ID. A year selects a specific release.
imdb.com/get_parents_guide