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

9

Total users

2

Monthly active users

18 days ago

Last modified

Share

JustWatch Streaming Availability Checker

Find where movies and TV shows are available to stream, rent, or buy by scraping public JustWatch pages across countries and providers.

At a glance: input examples, output examples, use cases, limitations, troubleshooting, and pricing/cost guidance are included below for streaming catalog checks and recurring availability monitoring.

Use this JustWatch scraper when you need clean availability data for catalog research, streaming-rights checks, provider monitoring, pricing comparisons, BI exports, or alerts. Results are returned as flat dataset rows: one row per title, country, provider, monetization type, and offer.

What You Can Do

  • Check one movie or TV show in one country.
  • Search many titles across many countries in a single run.
  • Filter output to providers such as Netflix, Prime Video, Disney Plus, Hulu, Max, Apple TV, Plex, Peacock, or other providers.
  • Start from known JustWatch title URLs to skip search and reduce runtime.
  • Export JSON, CSV, Excel, RSS, or API results from the Apify dataset.

Input

The simplest setup needs only titles and countries.

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

For multiple titles and countries:

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

To keep exploratory runs predictable:

{
"titles": ["Dune", "The Matrix"],
"countries": ["US", "GB"],
"maxResults": 100
}

Main Input Fields

FieldDescription
titlesMovie or TV titles to search.
countriesCountry codes such as US, GB, ZA, AU, CA, DE, FR, IN, ES, IT, NL, BR, MX, or JP.
providersOptional provider filter. Leave empty to return every provider found.
maxResultsOptional cap for result rows. Useful for tests and budget control.
startUrlsOptional direct JustWatch movie or TV show URLs. Use this for large recurring monitoring when you already know the pages.

Older integrations that send title, searchQuery, searchQueries, country, year, contentType, or exactMatchOnly continue to work through the API.

For large recurring monitoring jobs, use startUrls with known JustWatch title pages. Direct URLs skip the search step, stream results sooner, and make repeated catalog checks more predictable.

Provider Filtering

Preset provider values include:

netflix, prime-video, disney-plus, hulu, max, apple-tv-plus, apple-tv, google-play-movies, amazon-video, plex, peacock, and other.

Examples:

  • ["netflix"] returns only Netflix offers.
  • ["netflix", "other"] returns Netflix plus providers outside the preset list.
  • ["other"] returns only providers outside the preset list.

Output

Each dataset item is one availability row. Common fields include:

FieldDescription
titleMatched movie or TV show title.
contentTypemovie or show when visible.
releaseYearRelease year when available.
countryCode, countryNameCountry searched.
providerName, providerSlugStreaming or purchase provider.
monetizationTypeSubscription, rent, buy, free, ads, cinema, disc, bundle, or unknown.
presentationTypeQuality such as 4K, HD, or SD when visible.
price, currency, priceTextPrice details when visible.
watchUrlProvider watch or purchase URL when available.
justWatchUrlSource JustWatch title page.
ratings, rankingOptional ratings and chart information when visible.
availabilityHashStable hash for detecting availability changes.
scrapedAtTimestamp when the row was produced.

Example result:

{
"source": "justwatch",
"countryCode": "US",
"countryName": "United States",
"title": "Dune",
"contentType": "movie",
"releaseYear": 2021,
"justWatchUrl": "https://www.justwatch.com/us/movie/dune-2021",
"providerName": "Max",
"providerSlug": "max",
"monetizationType": "subscription",
"presentationType": "4K",
"price": null,
"currency": "USD",
"watchUrl": "https://www.max.com/...",
"availabilityHash": "c237b31e1b402f33eb7eb8971c3ab808fd9878de925a845a71309c1f06fa8aeb",
"scrapedAt": "2026-06-13T19:44:10.000Z"
}

If a title cannot be resolved, the Actor emits an error row with itemType: "error" and a clear errorMessage.

Running on Apify

  1. Open the Actor on Apify.
  2. Enter one or more titles and countries.
  3. Optionally set provider filters, matching options, or a result cap.
  4. Start the run.
  5. Download results from the Dataset tab as JSON, CSV, Excel, XML, RSS, or HTML.

Python API Example

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"titles": ["Dune", "The Matrix"],
"countries": ["US", "GB"],
"maxResults": 100,
}
run = client.actor("thescrapelab/justwatch-streaming-availability-tracker").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items(clean=True).items
print(f"Returned {len(items)} availability rows")
print(items[:3])

Pricing

Recommended pricing is pay per result row. This keeps small tests inexpensive and scales with the amount of useful availability data returned. Platform usage is low for small direct title checks, but large multi-country searches use more browser time, so use maxResults for predictable test runs.

Limits and Caveats

  • Results reflect public JustWatch pages at scrape time.
  • Some titles are unavailable or named differently in some countries.
  • Provider links, prices, ratings, and ranking data may be missing when JustWatch does not expose them on the page.
  • Broad franchise queries can return multiple strong matches. Use a more specific title, include the year in the title text, or use direct JustWatch URLs for recurring monitoring.
  • More titles, countries, and broad searches increase runtime and cost.
  • This Actor scrapes public web pages and does not use private JustWatch APIs or paid third-party data APIs.

Troubleshooting

ProblemWhat to try
Too many unrelated resultsUse the exact JustWatch title, include the year in the title text, or use direct JustWatch URLs.
No rows for a titleTry the exact JustWatch title name, include the release year in the title text, or use startUrls.
Run takes longer than expectedLower the number of titles or countries, add maxResults, or use direct JustWatch URLs.
Provider is missingLeave providers empty first to confirm the offer appears on JustWatch.
Country looks wrongUse ISO-style country codes such as US, GB, or ZA.

FAQ

Can I scrape JustWatch streaming availability by country?

Yes. Add one or more country codes in countries, and the Actor returns availability rows for each matched title-country-provider combination.

Can I track Netflix, Prime Video, Disney Plus, Max, or Apple TV availability?

Yes. Use providers to filter to specific services, or leave it empty to return all providers found.

Can I monitor changes over time?

Yes. Schedule recurring runs and compare availabilityHash, provider fields, prices, and scrapedAt timestamps.

For large recurring monitoring jobs, use startUrls with known JustWatch title pages. Direct URLs skip title search and make repeated checks more predictable.

Does this Actor return one row per title?

No. It returns one flat row per provider offer so exports are easy to filter, group, and join.

Is this a JustWatch API?

No. It is a scraper for public JustWatch web pages.