JustWatch Streaming Availability Scraper
Pricing
Pay per event
JustWatch Streaming Availability Scraper
Scrapes JustWatch's public GraphQL API for streaming availability. Returns one record per offer: provider, format (SD/HD/4K), price, and deeplink. Covers Netflix, Prime, Disney+, Max, Hulu, Apple TV+, and 200+ more across 80+ countries.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Bulk-extracts streaming availability data from JustWatch's public GraphQL API. Returns one flat record per offer — which providers carry each title, in what video format (SD/HD/4K), at what price, with a direct deeplink URL.
Covers Netflix, Amazon Prime Video, Disney+, Max, Hulu, Apple TV+, Peacock, Paramount+, and 200+ more streaming services across 80+ countries.
What it does
Queries the popularTitles endpoint on JustWatch's public GraphQL API (apis.justwatch.com/graphql) for each country you specify. For every title it retrieves all current streaming offers, flattening the result into one record per offer (title × provider × format combination).
Each output record includes:
- Title metadata (name, type, release year, runtime, genres, IMDb/TMDB IDs and scores)
- Provider details (name, JustWatch package ID)
- Offer details (monetization type, format, retail price, currency, deeplink URL)
- Country queried
Use cases
- Streaming catalog analytics — which providers carry which content, by country
- Price tracking — monitor rental/purchase prices across services over time
- Affiliate deeplink monetization — get direct watch-now URLs for any title on any provider
- Availability-change monitoring — detect when titles enter or leave a streaming service
- Content licensing research — identify gaps in streaming coverage by region
Input
| Field | Type | Description | Default |
|---|---|---|---|
country | string | ISO 3166-1 alpha-2 country code (e.g. US, GB, DE, AU, JP, BR) | US |
providers | string[] | Filter by JustWatch provider slug(s). Leave empty for all. nfx=Netflix, prv=Prime Video, dnp=Disney+, hlu=Hulu, hbm=Max, atp=Apple TV+, pct=Peacock, pbk=Paramount+ | ["nfx"] |
monetizationTypes | string[] | Filter by monetization type(s). Options: FLATRATE, RENT, BUY, FREE, ADS, CINEMA. Leave empty for all. | [] |
objectTypes | string[] | Filter by content type. Options: MOVIE, SHOW. Leave empty for both. | [] |
maxItems | integer | Max offer records to collect. 0 = unlimited. | 0 |
Output
One record per streaming offer. A popular show may have 15–25 offers (different providers and quality tiers).
{"title": "Succession","object_type": "SHOW","jw_entity_id": "ts78125","imdb_id": "tt7660850","tmdb_id": 76331,"original_release_year": 2018,"runtime_minutes": 60,"genres": "drm","imdb_score": 8.9,"imdb_votes": 501234,"tmdb_popularity": 142.5,"country": "US","provider_id": "cGF8MjQ=","provider_name": "Max","monetization_type": "FLATRATE","presentation_type": "HD","price_amount": null,"price_currency": "USD","deeplink_url": "https://play.max.com/show/..."}
Monetization types
| Type | Meaning |
|---|---|
FLATRATE | Included in subscription (no extra charge) |
RENT | Digital rental — price shown in price_amount |
BUY | Digital purchase — price shown in price_amount |
FREE | Free to watch (with or without ads) |
ADS | Free with ads |
CINEMA | In theaters |
Presentation types
| Type | Meaning |
|---|---|
SD | Standard definition |
HD | High definition |
_4K | Ultra HD / 4K |
Notes
- One record per offer: a title with 3 providers × 2 formats = 6 records. This is intentional — each offer is independently actionable for affiliate links or price tracking.
- No authentication required: JustWatch's GraphQL API is fully public.
- Rate limiting: a 200ms courtesy delay is applied between page requests.
- Unlimited mode: set
maxItems: 0to crawl the full catalog for a country. The US catalog has ~200,000 titles.