JustWatch Streaming Availability Tracker avatar

JustWatch Streaming Availability Tracker

Pricing

from $1.49 / 1,000 results

Go to Apify Store
JustWatch Streaming Availability Tracker

JustWatch Streaming Availability Tracker

Search one or many movie and TV titles across countries and streaming providers on JustWatch. Get flat JSON results for availability, pricing, provider offers, ratings, and title metadata.

Pricing

from $1.49 / 1,000 results

Rating

0.0

(0)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

JustWatch Streaming Availability Checker

Search public JustWatch pages for movie and TV show streaming availability across countries and providers.

This Actor is built for people who want a simple way to:

  • check where a movie or show is streaming
  • compare availability across countries
  • filter results to providers like Netflix, Prime Video, Disney Plus, Hulu, Max, Apple TV, Plex, or Peacock
  • export flat JSON for spreadsheets, dashboards, alerts, and internal APIs

The output is always flat: one dataset item per provider result.

Why Use This Actor

  • Search one title or a list of titles in one run
  • Check one country or many countries
  • Keep only selected providers, including an other option
  • Return clean streaming offers, pricing, title metadata, ratings, and ranking data
  • Use exactMatchOnly when you want strict title matching with less noise

Best Use Cases

  • JustWatch scraper for streaming availability by country
  • Netflix catalog and provider presence research
  • Movie and TV availability monitoring
  • Cross-country streaming rights comparison
  • Flat exports for BI tools, internal datasets, and recurring workflows

Input

Use titles for everything. For a single lookup, send a list with one title.

Search one title in one country

{
"titles": ["Dune"],
"countries": ["US"]
}

Search one title across multiple countries

{
"titles": ["Dune"],
"countries": ["US", "GB", "ZA", "AU"]
}

Search multiple titles

{
"titles": ["Dune", "The Matrix", "Oppenheimer"],
"countries": ["US", "GB", "ZA"],
"contentType": "movie"
}

Strict exact-title matching

{
"titles": ["Dune"],
"countries": ["US"],
"exactMatchOnly": true
}

Provider filtering

{
"titles": ["Dune"],
"countries": ["US", "GB"],
"providers": ["netflix", "prime-video", "other"]
}

Exact Match Behavior

Broad searches like Harry Potter can return multiple strong JustWatch matches when exactMatchOnly is turned off.

Turn on exactMatchOnly when you want to:

  • keep only exact normalized title matches
  • reduce franchise or related-title noise
  • avoid broad result sets for ambiguous searches

If no exact match exists, the Actor returns no title rows for that query and emits a clear error item instead of falling back to nearby titles.

Providers

The providers field is a multiselect list.

Preset providers include:

  • netflix
  • prime-video
  • disney-plus
  • hulu
  • max
  • apple-tv-plus
  • apple-tv
  • google-play-movies
  • amazon-video
  • plex
  • peacock

Special option:

  • other

How other works:

  • ["netflix"] keeps only Netflix
  • ["netflix", "other"] keeps Netflix plus providers outside the preset list
  • ["other"] keeps only providers outside the preset list

Countries

The Actor accepts country codes and maps them to JustWatch country slugs.

Important mapping:

  • GB maps to JustWatch slug uk

Common country examples:

  • US
  • GB
  • ZA
  • AU
  • CA
  • DE
  • FR
  • IN
  • ES
  • IT
  • NL
  • BR
  • MX
  • JP

For unmapped countries, the Actor falls back to the lowercased code as the slug and includes countryMappingWarning in the output.

Output

Each dataset item represents one provider result for one title in one country.

Typical fields include:

  • title
  • contentType
  • releaseYear
  • countryCode
  • countryName
  • justWatchUrl
  • providerName
  • providerSlug
  • watchUrl
  • monetizationType
  • presentationType
  • price
  • currency
  • ratings
  • ranking
  • scrapedAt

Output example

{
"source": "justwatch",
"sourceUrl": "https://www.justwatch.com/us/movie/dune-2021",
"countryCode": "US",
"countrySlug": "us",
"countryName": "United States",
"locale": "en_US",
"currency": "USD",
"title": "Dune",
"originalTitle": null,
"contentType": "movie",
"releaseYear": 2021,
"justWatchUrl": "https://www.justwatch.com/us/movie/dune-2021",
"synopsis": "Paul Atreides, a brilliant and gifted young man...",
"runtimeText": "PT2H35M0S",
"runtimeMinutes": 155,
"ageRating": "PG-13",
"genres": ["Science-Fiction", "Action & Adventure", "Drama"],
"director": ["Denis Villeneuve"],
"providerName": "HBO Max",
"providerSlug": "hbo-max",
"monetizationType": "subscription",
"presentationType": "4K",
"price": 10.99,
"ratings": [
{
"source": "IMDb",
"value": 8.0,
"scale": 10,
"votes": 1000000,
"displayValue": "8.0 (1m)"
}
],
"ranking": {
"currentRank": 274,
"rankDelta": 111
},
"watchUrl": "https://play.hbomax.com/...",
"scrapedAt": "2026-05-12T11:00:00.000Z"
}

Error example

{
"source": "justwatch",
"itemType": "error",
"url": "https://www.justwatch.com/us/tv-show/harry-potter",
"countryCode": "US",
"errorType": "missing_search_results",
"errorMessage": "Unable to resolve a JustWatch title for query \"Harry Potter\".",
"scrapedAt": "2026-05-12T19:10:55.603Z"
}

Notes

  • Some titles do not exist on JustWatch in every country.
  • Provider filtering is applied to normalized offers after the page is scraped.
  • More titles and more countries increase runtime.
  • Output is always flat, which makes CSV, Excel, and API exports easier to use.

Python Example Using the Apify API

import os
import time
import requests
APIFY_TOKEN = os.environ["APIFY_TOKEN"]
ACTOR_ID = "thescrapelab~justwatch-streaming-availability-tracker"
run_input = {
"titles": ["Dune", "The Matrix"],
"countries": ["US", "GB"],
"providers": ["netflix", "other"],
"exactMatchOnly": False
}
start_response = requests.post(
f"https://api.apify.com/v2/acts/{ACTOR_ID}/runs",
params={"token": APIFY_TOKEN},
json=run_input,
timeout=60,
)
start_response.raise_for_status()
run = start_response.json()["data"]
run_id = run["id"]
while True:
run_response = requests.get(
f"https://api.apify.com/v2/actor-runs/{run_id}",
params={"token": APIFY_TOKEN},
timeout=60,
)
run_response.raise_for_status()
run_data = run_response.json()["data"]
status = run_data["status"]
if status in {"SUCCEEDED", "FAILED", "ABORTED", "TIMED-OUT"}:
break
time.sleep(5)
if status != "SUCCEEDED":
raise RuntimeError(f"Actor run ended with status: {status}")
dataset_id = run_data["defaultDatasetId"]
items_response = requests.get(
f"https://api.apify.com/v2/datasets/{dataset_id}/items",
params={
"token": APIFY_TOKEN,
"clean": "true",
"format": "json"
},
timeout=60,
)
items_response.raise_for_status()
items = items_response.json()
print(f"Returned {len(items)} result rows")
print(items[:3])

API-Friendly Summary

This Actor is a JustWatch streaming availability checker for movies and TV shows. It searches titles across countries, filters by provider, and returns flat JSON rows with pricing, availability, ratings, and metadata that are easy to export or consume programmatically.