Streaming Service: Getting Started
Please note: This part of the documentation is only for streaming services who are working on getting integrated on JustWatch. If you are a widget, data or API partner you can most likely ignore this
If you are a streaming service and are looking to get integrated on JustWatch please get in contact through the following form. Once we reach out to you you can refer to this documentation for the actual integration.
Metadata and Matching
The metadata visible on JustWatch (posters, descriptions, cast etc.) is sourced from TMDb and IMDb with permission.
Your content will be matched to movies, shows and sports events based on the information provided by you (Title, Release Year, Director, IMDb IDs,…).
The more information you provide to us, the more accurate the matching and the coverage of your catalog on JustWatch will be. Giving us detailed information like when a title is expected to appear or leave your service will improve the user experience of people clicking out to your service.
Metadata provided by you will be used to improve our internal matching and is not displayed on the page.
Integration
Integrating a new streaming service on JustWatch requires a data feed that is updated periodically and contains all items offered by the streaming service. A “feed” in this context can either be a static file or an API endpoint generating a response. We access this feed multiple times per day (Usually every 6h) and ingest it into our system.
The feed should be available in the JSON or XML format and can be either available public or protected. This can be done by using a header, token, API key, S3 Permissions or other measures.
There are two options to get integrated:
Option 1: Using your existing feed
If you already have an existing feed and it contains all the required information needed for an integration we can use that.
The minimum required information for each type of content are listed below.
Movie:
- ID
- Title
- Release Year
- Availability (See details below)
Show:
- ID
- Title
Show Season:
- Season Number
- Show ID
Show Episode:
- Season Number
- Episode Number
- Show ID
- Availability (See details below)
Sports Event:
- ID
- Event name or title
- Sport name
- Sport competition name
- Sport season/tournament name
- Sport start date-time
- Competitor names
Availability:
- Quality: (SD,HD,4k)
- Type: Rent, Buy, Flatrate, Free, Ads, FAST, Cinema
- Price: Only needed for rent/buy
- Currency: Only needed for rent/buy
- Country: In which countries the content is available
- URLs: URL that represents the content on your website, if you have deeplinks for TV apps we are also interested in these. See “Deeplinks” further down the page.
Providing additional fields with information on top of the minimum required information listed above will increase the accuracy and visibility of your content on JustWatch and is therefore strongly encouraged.
Movie / Show / Season / Episode:
- Crew / Directors
- Audio and Subtitle languages
- Release date
- Posters
Availability:
- Available From: Date/Time of when content becomes available on your service
- Available To: Date/Time of when content leaves your service
- Audio Features: Dolby Atmos etc.
- Video Features: Dolby Vision, HDR etc.
If your existing feed has all the minimum required fields, please send it to your JustWatch contact so we can evaluate it before implementation.
Option 2: Using JustWatch Standard VOD Feed Format
If you are looking to implement a new feed and benefit from a faster integration and higher accuracy take a look at the “JustWatch Standard VOD Feed Format” format described below.
JustWatch Standard VOD Feed Format
The JustWatch Standard VOD Feed Format defines a format for feeds which can be used by JustWatch to ingest your availability data. We use JSON Schema (Version: Draft-07) to define a strict format which you can use to validate your generated JSON feeds. This will make integrations easier and help you develop the correct format.
You can use services like jsonschemavalidator.net to validate your feed. There’s also libraries for the common programming languages listed on the JSON Schema website to help with the generation or validation of feeds on your end.
Developing your feed
The suggested approach to developing your own feed is to take the example feed under JSON Feed Example
and fill it with your own data. Once you can generate a feed like that based on your data you can validate it using the JSON Schema via a JSON Schema validator.
JSON Schema
You can download the latest version of the JustWatch schema here (Last modified: 30.09.2024). Please read the description every field embedded in the schema. We have also included few examples and also the type of data that is expected.
In the schema you’ll find examples and descriptions of what kind of information the individual fields are holding.
Changelog:
- 6.4.2021: First release of the schema
- 21.4.2021: Added information about optional fields
- 22.4.2021: Expanded deeplink information
- 11.10.2022: Expanded schema to support sport events
- 19.07.2023: Added writer and producer to crew. Added Cricket to sport.
General structure
The root of the feed has three fields: streaming_service
, contents
and last_modified
. The first one contains meta information about the service itself. This is used internally and to define the naming of the streaming service on JustWatch.
Contents contains a list of Movie
, Show
, Season
, Episode
and SportEvent
objects. Shows can either be submitted as a flat list or nested, pick whatever works best with your internal data structure. As each Show
, Season
and Episode
elements contains the ID of the Show
, the season number and the episode number they can be assembled into a full show on our side if submitted as a flat list.
Nested in this case means that each Show
object has an optional Seasons
array and each Seasons
array has an optional Episodes
array.
Example for flat list:
- Show
- Season 1
- Season 2
- Episode 1
- Episode 2
- Episode 3
- Episode 1
- Episode 2
- Episode 3
Example for nested show:
- Show
- Season 1
- Episode 1
- Episode 2
- Episode 3
- Season 2
- Episode 1
- Episode 2
- Episode 3
- Season 1
JSON Feed Example
This is a valid feed example that can be validated using the mentioned JSON Schema. You can use this is a base for your implementation.
{
"streaming_service": {
"name": "Example Streaming Service",
"url": "https://www.example.com",
"application_stores": [
{
"platform": "apple",
"url": "https://apps.apple.com/us/app/justwatch-movies-tv-shows/id979227482",
"country_iso": "US"
},
{
"platform": "google",
"url": "https://play.google.com/store/apps/details?id=com.justwatch.justwatch\u0026hl=en\u0026gl=US",
"country_iso": "XX"
}
],
"application_packages": [
{
"platform": "android_tv",
"name": "com.justwatch.android-app",
"country_iso": "XX"
},
{
"platform": "ios_mobile",
"name": "com.justwatch.ios-app",
"country_iso": "XX"
}
]
},
"contents": [
{
"id": "153",
"object_type": "movie",
"original_title": "Lost in Translation",
"localized_titles": [
{
"language": "de",
"value": "Lost in Translation: Zwischen den Welten"
},
{
"language": "it",
"value": "Lost in Translation - L'amore tradotto"
}
],
"original_description": "Two lost souls visiting Tokyo.",
"localized_descriptions": [
{
"language": "de",
"value": "Bob Harris und Charlotte sind zwei ziellose Amerikaner in Tokio."
},
{
"language": "it",
"value": "Bob Harris e Charlotte sono due americani a Tokyo. "
}
],
"release_year": 2003,
"release_date": "2003-09-18",
"alternate_ids": [
{
"key": "imdb",
"id": "tt0335266"
},
{
"key": "tmdb",
"id": "153"
}
],
"crew_members": [
{
"role": "director",
"full_name": "Sofia Coppola"
}
],
"images": [
{
"url": "https://image.tmdb.org/t/p/original/p85wVluaFVqxMTbEBNk5brlSzHx.jpg",
"image_type": "poster",
"width": 0,
"height": 0,
"language": "en"
},
{
"url": "https://image.tmdb.org/t/p/original/fEolr0bwBR7m0sHSJC8u8grnhBv.jpg",
"image_type": "backdrop",
"width": 0,
"height": 0,
"language": "xx"
}
],
"offers": [
{
"web_url": "https://itunes.apple.com/us/movie/lost-in-translation/id293296135",
"deeplinks": [
{
"platform": "web_os",
"value": "{\"id\": \"exampletv\", \"params\": {\"contentTarget\": \"https://example.com/details/movie-slug&id=123\"}}"
},
{
"platform": "tizen_os",
"value": "{\"id\": \"Ef1P8YxDLM.exampletv\", \"action_data\": \"id-12345\""
},
{
"platform": "android_tv",
"value": "intent://movie/movie-slug/id-12345/#Intent;scheme=example-tv;component=com.example.tv/com.example.tv_AppActivity;end"
},
{
"platform": "tv_os",
"value": "exampletv-app://movie/movie-slug/id-12345"
}
],
"quality": "sd",
"monetization_type": "rent",
"currency": "USD",
"country_iso": "US",
"price": 3.99,
"available_from": "2018-11-13T20:20:39+00:00",
"available_to": "2019-11-13T20:20:39+00:00",
"package": "",
"audio_languages": [
"en","de"
],
"subtitle_languages": [
"en","de"
]
},
{
"web_url": "https://itunes.apple.com/us/movie/lost-in-translation/id293296135",
"deeplinks": [
{
"platform": "web_os",
"value": "{\"id\": \"exampletv\", \"params\": {\"contentTarget\": \"https://example.com/details/movie-slug&id=123\"}}"
},
{
"platform": "tizen_os",
"value": "{\"id\": \"Ef1P8YxDLM.exampletv\", \"action_data\": \"id-12345\""
},
{
"platform": "android_tv",
"value": "intent://movie/movie-slug/id-12345/#Intent;scheme=example-tv;component=com.example.tv/com.example.tv_AppActivity;end"
},
{
"platform": "tv_os",
"value": "exampletv-app://movie/movie-slug/id-12345"
}
],
"quality": "sd",
"monetization_type": "buy",
"currency": "USD",
"country_iso": "US",
"price": 14.99,
"available_from": "2018-11-13T20:20:39+00:00",
"available_to": "2019-11-13T20:20:39+00:00",
"package": "",
"audio_languages": [
"en","de"
],
"subtitle_languages": [
"en","de"
]
}
],
"runtime": 102
},
{
"id": "87083",
"object_type": "show",
"original_title": "Formula 1: Drive to Survive",
"localized_titles": [
{
"language": "fr",
"value": "Formule 1: Pilotes de leur destin"
}
],
"original_description": "Drivers, managers and team owners live life in the fast lane — both on and off the track — during each cutthroat season of Formula 1 racing.",
"localized_descriptions": [
{
"language": "de",
"value": "Wem die Formel-1-Testfahrten vor dem Saisonstart 2019 nicht ausreichen, der kann sich auf eine neue Dokumentation freuen."
},
{
"language": "fr",
"value": "Pilotes, directeurs ou propriétaires d'écuries..."
}
],
"release_year": 2019,
"release_date": "2019-03-08",
"alternate_ids": [
{
"key": "imdb",
"id": "tt8289930"
},
{
"key": "tmdb",
"id": "87083"
}
],
"crew_members": [
{
"role": "director",
"full_name": "Nick Hardie"
},
{
"role": "director",
"full_name": "James Routh"
},
{
"role": "director",
"full_name": "Nonuk Walter"
},
{
"role": "director",
"full_name": "Martin Webb"
}
],
"images": [
{
"url": "https://image.tmdb.org/t/p/original/hZZpqv9bKo9tUMmQY54HIJcgyqx.jpg",
"image_type": "poster",
"width": 0,
"height": 0,
"language": "en"
},
{
"url": "https://image.tmdb.org/t/p/original/9XhJ6rsGX2bG0CBNFWwzjtPaZig.jpg",
"image_type": "backdrop",
"width": 0,
"height": 0,
"language": "xx"
}
],
"offers": [],
"seasons": []
},
{
"id": "87083:1",
"object_type": "season",
"original_title": "Season 1",
"localized_titles": [],
"original_description": "Drivers, managers and team owners live life in the fast lane — both on and off the track — during each cutthroat season of Formula 1 racing.",
"localized_descriptions": [],
"release_year": 2019,
"release_date": "2019-03-08",
"alternate_ids": [],
"crew_members": [],
"images": [
{
"url": "https://image.tmdb.org/t/p/original/hZZpqv9bKo9tUMmQY54HIJcgyqx.jpg",
"image_type": "poster",
"width": 0,
"height": 0,
"language": "en"
},
{
"url": "https://image.tmdb.org/t/p/original/9XhJ6rsGX2bG0CBNFWwzjtPaZig.jpg",
"image_type": "backdrop",
"width": 0,
"height": 0,
"language": "xx"
}
],
"offers": [],
"show_id": "87083",
"season_number": 1,
"episodes": []
},
{
"id": "1714445",
"object_type": "episode",
"original_title": "All to Play For",
"localized_titles": [
{
"language": "fr",
"value": "Tout reste à jouer à Melbourne"
}
],
"original_description": "Driver Daniel Ricciardo looks to make a statement on the track while the teams prepare for the first race of the season at the Australian Grand Prix.",
"localized_descriptions": [
{
"language": "fr",
"value": "Alors que les écuries se préparent pour le premier Grand Prix de la saison en Australie."
}
],
"release_year": 2019,
"release_date": "2019-03-08",
"alternate_ids": [],
"crew_members": [],
"images": [
{
"url": "https://image.tmdb.org/t/p/original/kvGop3wqDpmcyAr245xOIIW5B3c.jpg",
"image_type": "poster",
"width": 0,
"height": 0,
"language": "en"
}
],
"offers": [
{
"web_url": "https://www.netflix.com/title/80204890",
"deeplinks": [],
"quality": "sd",
"monetization_type": "flatrate",
"currency": "EUR",
"country_iso": "DE",
"price": 0,
"package": "",
"audio_languages": [
"en"
],
"subtitle_languages": [
"en"
]
},
{
"web_url": "https://www.netflix.com/title/80204890",
"deeplinks": [],
"quality": "hd",
"monetization_type": "flatrate",
"currency": "EUR",
"country_iso": "DE",
"price": 0,
"package": "",
"audio_languages": [
"en"
],
"subtitle_languages": [
"en"
]
},
{
"web_url": "https://www.netflix.com/title/80204890",
"deeplinks": [],
"quality": "4k",
"monetization_type": "flatrate",
"currency": "EUR",
"country_iso": "DE",
"price": 0,
"package": "",
"audio_languages": [
"en"
],
"subtitle_languages": [
"en"
]
}
],
"show_id": "87083",
"season_number": 1,
"episode_number": 1,
"runtime": 45
},
{
"id": "123",
"object_type": "sport_event",
"original_title": "ABC vs XYZ",
"localized_titles": [
{
"language": "en",
"value": "ABC vs XYZ"
}
],
"original_description": "Match between ABC and XYZ",
"localized_descriptions": [
{
"language": "en",
"value": "Match between ABC and XYZ"
}
],
"sport": "Football",
"competition": {
"localized_titles": [
{
"language": "en",
"value": "Football Leauge"
}
],
"season": "2022"
},
"start_at": "2022-11-13T20:20:39+00:00",
"status": "upcoming",
"competitors": [
{
"id": "cc1",
"localized_titles": [
{
"language": "en",
"value": "ABC"
}
]
},
{
"id": "cc2",
"localized_titles": [
{
"language": "en",
"value": "XYZ"
}
]
}
],
"offers": [
{
"web_url": "https://www.somesport.com/football/abc-xyz",
"deeplinks": [],
"quality": "sd",
"monetization_type": "flatrate",
"currency": "EUR",
"country_iso": "FR",
"price": 0,
"audio_languages": [
"en","fr"
],
"subtitle_languages": [
"en","fr"
]
}
]
},
{
"id": "87083-nested",
"object_type": "show",
"original_title": "Formula 1: Drive to Survive",
"localized_titles": [
{
"language": "fr",
"value": "Formule 1: Pilotes de leur destin"
}
],
"original_description": "Drivers, managers and team owners live life in the fast lane — both on and off the track — during each cutthroat season of Formula 1 racing.",
"localized_descriptions": [
{
"language": "de",
"value": "Wem die Formel-1-Testfahrten vor dem Saisonstart 2019 nicht ausreichen, der kann sich auf eine neue Dokumentation freuen."
},
{
"language": "fr",
"value": "Pilotes, directeurs ou propriétaires d'écuries..."
}
],
"release_year": 2019,
"release_date": "2019-03-08",
"alternate_ids": [
{
"key": "imdb",
"id": "tt8289930"
},
{
"key": "tmdb",
"id": "87083-nested"
}
],
"crew_members": [
{
"role": "director",
"full_name": "Nick Hardie"
},
{
"role": "director",
"full_name": "James Routh"
},
{
"role": "director",
"full_name": "Nonuk Walter"
},
{
"role": "director",
"full_name": "Martin Webb"
}
],
"images": [
{
"url": "https://image.tmdb.org/t/p/original/hZZpqv9bKo9tUMmQY54HIJcgyqx.jpg",
"image_type": "poster",
"width": 0,
"height": 0,
"language": "en"
},
{
"url": "https://image.tmdb.org/t/p/original/9XhJ6rsGX2bG0CBNFWwzjtPaZig.jpg",
"image_type": "backdrop",
"width": 0,
"height": 0,
"language": "xx"
}
],
"offers": [],
"seasons": [
{
"id": "87083-nested:1",
"object_type": "season",
"original_title": "Season 1",
"localized_titles": [],
"original_description": "Drivers, managers and team owners live life in the fast lane — both on and off the track — during each cutthroat season of Formula 1 racing.",
"localized_descriptions": [],
"release_year": 2019,
"release_date": "2019-03-08",
"alternate_ids": [],
"crew_members": [],
"images": [
{
"url": "https://image.tmdb.org/t/p/original/hZZpqv9bKo9tUMmQY54HIJcgyqx.jpg",
"image_type": "poster",
"width": 0,
"height": 0,
"language": "en"
},
{
"url": "https://image.tmdb.org/t/p/original/9XhJ6rsGX2bG0CBNFWwzjtPaZig.jpg",
"image_type": "backdrop",
"width": 0,
"height": 0,
"language": "xx"
}
],
"offers": [],
"show_id": "87083-nested",
"season_number": 1,
"episodes": [
{
"id": "1714445",
"object_type": "episode",
"original_title": "All to Play For",
"localized_titles": [
{
"language": "fr",
"value": "Tout reste à jouer à Melbourne"
}
],
"original_description": "Driver Daniel Ricciardo looks to make a statement on the track while the teams prepare for the first race of the season at the Australian Grand Prix.",
"localized_descriptions": [
{
"language": "fr",
"value": "Alors que les écuries se préparent pour le premier Grand Prix de la saison en Australie."
}
],
"release_year": 2019,
"release_date": "2019-03-08",
"alternate_ids": [],
"crew_members": [],
"images": [
{
"url": "https://image.tmdb.org/t/p/original/kvGop3wqDpmcyAr245xOIIW5B3c.jpg",
"image_type": "poster",
"width": 0,
"height": 0,
"language": "en"
}
],
"offers": [
{
"web_url": "https://www.netflix.com/title/80204890",
"deeplinks": [],
"quality": "sd",
"monetization_type": "flatrate",
"currency": "EUR",
"country_iso": "DE",
"price": 0,
"package": "",
"audio_languages": [
"en"
],
"subtitle_languages": [
"en"
]
},
{
"web_url": "https://www.netflix.com/title/80204890",
"deeplinks": [],
"quality": "hd",
"monetization_type": "flatrate",
"currency": "EUR",
"country_iso": "DE",
"price": 0,
"package": "",
"audio_languages": [
"en"
],
"subtitle_languages": [
"en"
]
},
{
"web_url": "https://www.netflix.com/title/80204890",
"deeplinks": [],
"quality": "4k",
"monetization_type": "flatrate",
"currency": "EUR",
"country_iso": "DE",
"price": 0,
"package": "",
"audio_languages": [
"en"
],
"subtitle_languages": [
"en"
]
}
],
"show_id": "87083-nested",
"season_number": 1,
"episode_number": 1,
"runtime": 45
}
]
}
]
}
],
"last_modified": "2023-19-07T15:06:39+00:00"
}
Deeplinks
Deeplinks are a way for JustWatch to link directly into your mobile and TV apps. This will help you benefit from being listed on the JustWatch mobile and TV apps. How this is implemented depends on the mobile or TV operating system and how the apps are implemented.
JustWatch app is available for mobile and TV platforms. We already support the following platforms:
- android_mobile
- android_tv
- fire_tv
- ios_mobile
- tv_os
- web_os
- tizen_os (deprecated)
Please share the deeplink formats of all the platforms your streaming app supports (even if they are not listed above).
Provide us with deeplink formats for movies and shows(i.e episodes). You may use the following information as a guideline for each platform.
Let us take an example of a web URL of one of your content:
https://example.com/details/some-movie?id=123
some-movie
is a slug of a movie tile and 123
is the unique id of the movie in your catalog.
Android Mobile
Android Mobile based streaming apps usually support universal links. In this case, the above URL format might also work as deeplink to the movie/show/episode content:
https://example.com/details/some-movie?id=123
If your mobile app supports deeplinks in URI or intent format, refer to the next section.
Android TV and Fire TV Platforms
The deeplinks could be in URI or intent format. Different formats that are supported:
- Deeplink is in URI format and uses https or http scheme. This could be same as web URL
https://example.com/details/some-movie?id=123
- Deeplink is in URI format with custom scheme.
example-app://details/some-movie?id=123
- Deeplink is in intent format and uses a custom scheme.
intent://details/some-movie?id=123#Intent;scheme=example-app;end
- Deeplink is in intent format and links to an activity that requires extras to link to the content.
intent:#Intent;launchFlags=0x00800000;component=com.example/com.example.ui.player.tv.TvPlayerActivity;i.filmId=123;end
- Deeplink is in intent format and just opens the app’s landing page (in case of non-native webview apps)
intent:#Intent;launchFlags=0x00800000;component=example.com/com.example.tv.AppSplashActivity;end
In general, we support deeplinks for Android based platforms in any format that can be easily invoked using
adb shell am start "<deeplink-in-intent-or-uri-format>"
It is possible that your app does not implement a custom scheme or universal links but, it might still be possible to deeplink to the activity that gets started when a
- a content page is opened or
- a play button is pressed or
- a movie/show title is searched.
The intent of any of the above activity could be used as deeplink.
If your app is a non-native web based app, you could provide the deeplink in the intent format to open the app. In this way, your user requires one step less to play the content on your app. If possible, you could also provide the APK file of your app for us to test the deeplink integration.
Apple iOS
The deeplinks are universal links as custom scheme based links are no longer supported by this platform:
https://example.com/details/some-movie?id=123
Apple tvOS
The deeplinks for Apple TV platform are in custom scheme based URI format like:
example-app://details/some-movie/123
example://m/123
LG TV webOS
The deeplinks for LG webOS platform are invoked using Application manager - Launch API. This is documented here as well
We require your TV app’s ID
and contentTarget
parameters. You could provide the deeplink in the following formats:
{"id":"example-app","params":{"contentTarget":"123"}}
{"id":"example-app","params":{"contentTarget":"https://example.com/details/some-movie?id=123"}}
{"id":"example-app","params":{"contentTarget":"some-movie"}}
If your webOS app does not support deeplinking, you could provide the app ID that could used to launch the app.
Samsung TV Tizen OS (deprecated)
The deeplinks for Samsung Tizen platform are invoked using Application Control Public preview APIs
We require your TV app’s ID
and action_data
parameters (i.e the PAYLOAD format). You could provide the deeplink in the following formats:
{"id":"a0nt8dscF1.ExampleTV","action_data":"123"}
{"id":"a0nt8dscF1.ExampleTV","action_data":"https://example.com/details/some-movie?id=123"}
{"id":"a0nt8dscF1.ExampleTV","action_data":"{\"videoID\":\"123\"}"}
If your Tizen OS app does not support deeplinking, you could provide the app ID that could used to launch the app.
Sports Feed
The general procedure to integrate your service with JustWatch is mentioned above. Please read the above sections. The sports feed that we would get is expected to contatin all the essential metadata. These metadata would help us in matching the sport events in the feed to the reference database we have. We would use these metadata only for matching. These metadata would not be displayed on our website. We expect the sport event to include these essential information:
Sports Event:
- ID
- Event name or title eg: FC Salzburg vs FK Austria Wien
- Sport name eg: Football, Tennis, American Football, Baseball, Basketball, Formula Racing, NASCAR, Hockey, Ice Hockey, Eports
- Sport competition name eg: Bundesliga
- Sport season/tournament name eg: 22/23, 2022
- Sport start date-time eg: 2022-07-22T18:30:00+00:00
- Competitor names eg: FC Salzburg, FK Austria Wien
- URLs to your page
FAST (Free ad-supported streaming television)
If you wish to add FAST content to your feed, use
"monetization_type" : "fast"
.
.
"offers": [
{
"web_url": "https://fast.example.tv/live-tv/channel/movies/big-buck-bunny",
"deeplinks": [],
"quality": "sd",
"monetization_type": "fast",
"currency": "EUR",
"country_iso": "DE",
"package": "",
"available_from": "2024-11-13T20:20:39+00:00",
"available_to": "2024-11-13T20:30:39+00:00",
"audio_languages": [
"en"
],
"subtitle_languages": [
"en"
]
},
{
"web_url": "https://fast.example.tv/live-tv/channel/movies/big-buck-bunny",
"deeplinks": [],
"quality": "sd",
"monetization_type": "fast",
"currency": "EUR",
"country_iso": "DE",
"package": "",
"available_from": "2024-11-14T20:10:39+00:00",
"available_to": "2024-11-14T20:20:39+00:00",
"audio_languages": [
"en"
],
"subtitle_languages": [
"en"
]
},
],
.
.
Cinema (Theatrical Releases)
Use
"monetization_type" : "cinema"
Questions / Contact
If you have any questions (technical or otherwise) please reach out to your JustWatch contact.