Titles that arrived on streaming services in a country on a day (or dropped in price that day, or are announced to arrive), optionally only on given services: the title (film, series or season with its show) and the new offer. Pass next_cursor back as cursor.
Every response includes credits_used: the credits this call cost.
Parameters
name
type
description
country
string
Two-letter country (default US): offers, titles and services of that country.
date
string
Day (YYYY-MM-DD, default yesterday).
kind
new | price_drop | upcoming
new (default), price_drop or upcoming (announced arrivals).
language
string
Language of titles, descriptions and genre names (default en), e.g. de, es, fr.
type
movie | show
Only films or only series.
providers
string
Only titles on these services: comma-separated short codes, e.g. nfx (Netflix), dnp (Disney+), amp (Prime Video), atp (Apple TV+); see /justwatch/v1/providers. Example: nfx
import os, requests
res = requests.get(
"https://api.api.sh/justwatch/v1/new",
params={},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json()
const url = new URL("https://api.api.sh/justwatch/v1/new");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).
The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.