JustWatch API: List new arrivals
Lists recently added movies and show seasons on streaming services in a country, newest first, from JustWatch listings.
Unofficial. Not affiliated with or endorsed by JustWatch.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Country optional
country Country name or two-letter country code, such as United States or GB.
United States
Default
United States.- Service optional
service Streaming service name, such as Netflix, Disney+ or Max. Leave blank for all services.
Netflix
Default
.- Days Back optional
days_back Number of calendar days to include, including today, such as 7.
7
Whole number from 1 to 30. Default
7.- Max Results optional
max_results Maximum number of arrivals, such as 50.
10
Whole number from 1 to 200. Default
50.- Content Type optional
content_type Choose all, movies, or shows, such as movies.
all
One of
all,movies,shows. Defaultall.
Input as JSON
{ "country": "United States", "service": "Netflix", "days_back": 7, "max_results": 10, "content_type": "all"}Output
{ "arrivals": [ { "type": "show", "year": 2010, "title": "The Great British Bake Off", "genres": [ "Drama", "Reality TV" ], "service": "Netflix", "date_added": "2026-10-23", "season_number": 14, "justwatch_link": "https://www.justwatch.com/us/tv-show/the-great-british-bake-off/season-14" }, { "type": "show", "year": 2021, "title": "Lupin", "genres": [ "Action & Adventure", "Crime", "Drama" ], "service": "Netflix", "date_added": "2026-10-23", "season_number": 4, "justwatch_link": "https://www.justwatch.com/us/tv-show/lupin/season-4" }, { "type": "movie", "year": 2026, "title": "Paralyzed by Hope: The Maria Bamford Story", "genres": [ "Comedy", "Documentary" ], "service": "Netflix", "date_added": "2026-10-23", "season_number": null, "justwatch_link": "https://www.justwatch.com/us/movie/paralyzed-by-hope-the-maria-bamford-story" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"justwatch.com/list_new_arrivals","input":{"country":"United States","service":"Netflix","days_back":7,"max_results":10,"content_type":"all"}}' # 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/list_new_arrivals" , "input": { "country": "United States", "service": "Netflix", "days_back": 7, "max_results": 10, "content_type": "all" }})# 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/list_new_arrivals" , "input": { "country": "United States", "service": "Netflix", "days_back": 7, "max_results": 10, "content_type": "all" } }), 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/list_new_arrivals# with {"country":"United States","service":"Netflix","days_back":7,"max_results":10,"content_type":"all"}"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": [], "properties": { "country": { "type": "string", "default": "United States", "description": "Country name or two-letter country code, such as United States or GB." }, "service": { "type": "string", "default": "", "description": "Streaming service name, such as Netflix, Disney+ or Max. Leave blank for all services." }, "days_back": { "type": "integer", "default": 7, "maximum": 30, "minimum": 1, "description": "Number of calendar days to include, including today, such as 7." }, "max_results": { "type": "integer", "default": 50, "maximum": 200, "minimum": 1, "description": "Maximum number of arrivals, such as 50." }, "content_type": { "enum": [ "all", "movies", "shows" ], "type": "string", "default": "all", "description": "Choose all, movies, or shows, such as movies." } }}Output schema
{ "type": "object", "required": [ "arrivals" ], "properties": { "arrivals": { "type": "array", "items": { "type": "object", "properties": { "type": { "enum": [ "movie", "show" ], "type": "string" }, "year": { "type": [ "integer", "null" ] }, "title": { "type": "string" }, "genres": { "type": "array", "items": { "type": "string" } }, "service": { "type": [ "string", "null" ] }, "date_added": { "type": "string" }, "season_number": { "type": [ "integer", "null" ] }, "justwatch_link": { "type": "string" } } }, "description": "Recently added movies and show seasons, newest first." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
justwatch.com/list_new_arrivals- Returns
- date added, title, type, season, year, genres, service, JustWatch 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/list_new_arrivals with the inputs above.
Ask your agent
- What movies and TV seasons were added to Netflix in the UK over the past two weeks?
- Show me the newest streaming arrivals in Canada from the last few days, movies only.
- Which shows just landed on Disney+ in the United States this week?
- Give me the 25 most recently added titles across all streaming services in Germany for the last 10 days.
- What's new on JustWatch for Australia in the last month, TV seasons only, with genres and release years?
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_chartsFinds 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.
justwatch.com/get_where_to_watchLists movies scheduled for theatrical release in a country over the coming three weeks, soonest first, from TMDB's country-specific release calendar, with genres, overview and user score.
themoviedb.org/list_upcoming_moviesGets Netflix's weekly Top 10 movies or TV shows worldwide (English or non-English lists, with views, hours viewed and runtime) or in one country (ranks and weeks in the Top 10 only) for the latest published week or the Monday-to-Sunday week containing a given date.
netflix.com/list_top_10Gets 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 the TV broadcasts scheduled in a country for a date from TVmaze. It can also add local and worldwide streaming releases. Airtimes are shown in the service's timezone, or in UTC when the service has none.
tvmaze.com/get_tv_scheduleLists Netflix's all-time most popular movies or TV shows by views in their first 91 days, with views, hours viewed and runtime.
netflix.com/list_most_popularLists TMDB homepage trending titles for today or this week in displayed order, with year, user score, overview and poster. The homepage shows up to 20 mixed movie and TV titles per period; the movie and TV filters select from those.
themoviedb.org/list_trending