Watch Actions' common properties

This section provides the details of the common properties of Watch Actions.

Action markup properties

Property Expected type Description
@type Text Required - Always set to WatchAction.
target EntryPoint Required - A target object that provides the mapping of deep links to various Google platforms.
target.@type Text Required - Always set to EntryPoint.
target.urlTemplate URL Required - A deep link that takes users to your app or platform and initiates playback of the content.
target.inLanguage Text Optional - Original language of the series in BCP 47 format.
target.actionPlatform Text Required - The platforms that are mapped to urlTemplate. Media Actions support the following:
  • http://schema.org/DesktopWebPlatform: Search platform on desktop web browsers.
  • http://schema.org/MobileWebPlatform: Search platform on mobile web browsers.
  • http://schema.org/AndroidPlatform: Search and PlayGuide platforms on Android app.
  • http://schema.org/AndroidTVPlatform: Android TV platform on Android TV app.
  • http://schema.org/IOSPlatform: Search platform on iOS app.
  • http://schema.googleapis.com/GoogleVideoCast: Cast and Home platforms on a Chromecast device.
  • http://schema.googleapis.com/GoogleAudioCast: Cast and Home platforms on a Chromecast device (Listen Actions only).
See the Platform types section for requirements.
target.additionalProperty PropertyValue Required if applicable - A list of property-value pairs to represent additional properties of the deep link. This can include the following:
  • contentLanguage: The broadcast language (dub), in BCP 47 format. If the content is dubbed in a different language, this property is required. Use an array for multiple language codes.
  • subtitleLanguage: The languages of subtitles or captions, in BCP 47 format. Use an array for multiple language codes.
  • cameraAngle: The camera angle for the content; for example, "Eye-Level" and "High-Angle". If the content is available in different camera angles, this property is required. Use an array for multiple camera angles.
  • videoFormat: The file format used to store the digital video date; for example, "SD" for standard-definition and "HD" for high-definition. Valid video formats include SD, HD, 2K, 4K and 8K. Use an array for multiple video formats.
See the additionalProperty example.
actionAccessibilityRequirement ActionAccessSpecification Required - An Action access specification object that describes the access requirement of the content. See Action Access Specification Properties.

Check out the following pages for the topics related to these properties:

Action access specification properties

Property Expected type Description
actionAccessibilityRequirement.@type Text Required - Always set to ActionAccessSpecification.
actionAccessibilityRequirement.category Text Required - An access requirement for the content. Use one of the following (see Action access requirement examples):
  • nologinrequired: The content does not require purchase or login.
  • free: The content requires users to be logged in and does not require a paid subscription.
  • subscription: The content requires users to be logged in with a paid subscription
  • externalsubscription: The content requires a subscription from a different service
  • rental: The content is available for a finite amount of time after purchase.
  • purchase: The content is available for an indefinite amount of time after purchase.
If an entity represents a group of content, you need to set category to the least restrictive access requirement of its content. For instance, if a TVSeries has a number of TVEpisode content that are nologinrequired and a few that are subscription, set this TVSeries to be nologinrequired.
actionAccessibilityRequirement.availabilityStarts Date Required - Date after which the action is available, in ISO 8601 format (including timezone).
  • The date can be set in the future.
actionAccessibilityRequirement.availabilityEnds Date Required - Date after which the action is no longer available, in ISO 8601 format (including timezone).
  • Must be equal or greater than 72 hours after availabilityStarts.
  • If the content is always available after it's published, set this date to be 20 years from the current date.
actionAccessibilityRequirement.eligibleRegion Country, City, State, GeoShape, or Text Required - Regions where the content is available. Use the special string EARTH if the content is available globally.
actionAccessibilityRequirement.ineligibleRegion Country, City, State, or GeoShape Required if applicable - Regions where the content is restricted. You don’t need to provide this property if the content is available everywhere within eligibleRegion.
actionAccessibilityRequirement.requiresSubscription MediaSubscription Required if category is subscription or externalSubscription AND your subscription offering includes multiple packages or tiers or has add-on support. Do not include this if your subscription is one tiered and gives access to all content in your catalog.
- The details of the subscription that users need in order to access the content. See Media subscription properties.
actionAccessibilityRequirement.expectsAcceptanceOf Offer Required if the content requires a purchase - The details of the offer associated with the content. Provide the price information for the following cases:
  • One-time purchase content (rental or purchase)
  • Subscription-based content that requires an additional purchase from subscribers (subscription or externalsubscription)
If the price is 0.00, do not provide this property. See Offer properties.

Check out the following pages for the topics related to these properties:

Media subscription properties

Required if actionAccessibilityRequirement.category is subscription or externalSubscription and your subscription offering includes multiple packages or tiers or has add-on support. Do not include this if your subscription is one tiered and gives access to all content in your catalog

Property Expected type Description
requiresSubscription.@type Text Required - Always set to MediaSubscription
requiresSubscription.@id URL Required - The unique ID for the subscription. If the content is accessible via different subscriptions, each subscription must have a unique ID.
requiresSubscription.name Text Required - The name of the subscription. Notice the following:
  • If the content is accessible via different subscriptions, this name needs match the name in your user authentication system. For example, if a user can access the content based on the subscription called Package 1, but the authentication system uses the name PKG1a, use PKG1.
  • For TVE Providers, this is the authenticator name registered with your TVE authenticator. It is a string that uniquely identifies your service name with the TVE Authenticator.
requiresSubscription.sameAs URL The page that describes the subscription.
requiresSubscription.identifier Text Required if category is subscription - An entitlement identifier (entitlementId)
requiresSubscription.authenticator Organization Required if category is externalsubscription - A container that provides the details of the external provider's authenticator.
requiresSubscription.authenticator.@type Text Required if category is externalsubscription - Always set to Organization.
requiresSubscription.authenticator.name Text Required if category is externalsubscription - The name of the authentication service. For TVE providers, set it to TVE

Entitlement API Requirements

An entitlement API is required if actionAccessibilityRequirement.category is subscription or externalSubscription and your subscription offering includes multiple packages or tiers or has add-on support. Do not include this if your subscription is one tiered and gives access to all content in your catalog.

  • Company A has a single subscription offering that gives subscribed users access to all available content : Entitlement Identifier / API is not required
  • Company B has a base subscription that provides access to some content and a premium subscription that provides access to premium content : Entitlement Identifier / API is required
  • Company C has a base subscription that provides access to some content and add on packages that provides access to third party content : Entitlement Identifier / API is required

Check out the following pages for the topics related to these properties:

Offer properties

Property Expected type Description
expectsAcceptanceOf.@type Text Required - Always set to Offer.
expectsAcceptanceOf.price Number Required - The purchase price of content.
expectsAcceptanceOf.priceCurrency Text Required - The currency of the price in 3-letter ISO 4217 format.
expectsAcceptanceOf.seller Organization The organization that offers the purchase of content.
expectsAcceptanceOf.seller.@type Text Always set to Organization.
expectsAcceptanceOf.seller.name Text The name of the seller.
expectsAcceptanceOf.seller.sameAs Text The URL of a web page that identifies the seller; for example, the seller's homepage.

Check out the following pages for the topics related to these properties:

Identifier properties

Property Expected type Description
@type Text Required - Always set to PropertyValue.
propertyID Text Required - We support the following ID types:
  • TMS_ROOT_ID: The Gracenote (TMS) Root ID (for example, 15829).
  • TMS_ID: The Gracenote (TMS) Variant ID (for example, MV000398520000).
  • WIKIDATA_ID: The WikiData ID (for example, Q134773).
  • IMDB_ID: The IMDB ID (for example, tt0109830).
  • OPTA_ID: The OPTA Sports ID.
  • STATS_ID: The STATS Perform ID.
  • DMA_ID: The US Designated marketing area code, used in GeoShape object.
  • _PARTNER_ID_: This property must contain the string "_PARTNER_ID_", the value must be a unique ID that is used by a service provider, internally or externally, to identify the entity (for example, 12345 or a5c604e2-e9e5-4ff3-b728-245799dc37f1). This ID is required on BroadcastService objects for Android TV partners.
value Text Required - The value for the specified ID system.

Content rating agencies

Use the values in this table for BroadcastService.contentRating, Movie.contentRating and TVSeries.contentRating. The rating agency should be prepended to the rating value. Examples:

  • A movie rated "R" in the US should have a Movie.contentRating value of "MPAA R".
  • A TV series rated "TVM" in the US should have a TVSeries.contentRating value of "TVPG TV-MA".

Country where content is sold Content type Requires ratings Accepted system
Albania (AL) Movies No Not available
Angola (AO) Movies No CCE
Antigua and Barbuda (AG) Movies No MPAA
Argentina (AR) Movies No MPAA
Armenia (AM) Movies No MKRF/RUSSIA
Aruba (AW) Movies No Not available
Australia (AU) TV No ACB TV
Australia (AU) Movies Yes ACB Movies
Austria (AT) TV No FSK
Austria (AT) Movies No FSK
Azerbaijan (AZ) Movies No MKRF/RUSSIA
Bahrain (BH) Movies Yes MPAA
Belarus (BY) Movies No MKRF/USSIA
Belgium (BE) Movies No MPAA
Belize (BZ) Movies No Not available
Benin (BJ) Movies No CNC
Boliva (BO) Movies No MPAA
Bosnia and Herzegovina (BA) Movies No MPAA
Botswana (BW) Movies No MPAA
Brazil (BR) Movies No DJCTQ
Burkina Faso (BF) Movies No CNC
Cambodia (KH) Movies No Not available
Canada (CA) TV No CA_TV
Canada (CA) Movies No CHVRS
Cape Verde (CV) Movies No CCE
Chile (CL) Movies No MPAA
Colombia (CO) Movies No MPAA
Costa Rica (CR) Movies No MPAA
Croatia (HR) Movies No Not available
Cyprus (CY) Movies No GRFILM
Czechia (CZ) Movies No CZFILM
Denmark (DK) Movies No MCCYP
Ecuador (EC) Movies No MPAA
Egypt (EG) Movies Yes MPAA
El Salvador (SV) Movies No MPAA
Estonia (EE) Movies No EEFILM
Fiji (FJ) No Not available
Finland (FI) Movies No MEKU
France (FR) TV Yes CSA
France (FR) Movies Yes CNC
Gabon (GA) Movies No CNC
Germany (DE) TV Yes FSK
Germany (DE) Movies Yes FSK
Greece (GR) Movies No GRFILM
Guatemala (GT) Movies No MPAA
Haiti (HT) Movies No Not available
Honduras (HN) Movies No MPAA
Hong Kong (HK) Movies Yes FCO
Hungary (HU) Movies No MPAA
Iceland (IS) Movies No KIJKWIJZER
India (IN) Movies Yes CBFC
Indonesia (ID) Movies Yes LSF
Ireland (IE) Movies No IFCO
Italy (IT) Movies Yes MIBAC
Ivory Coast (CI) Movies No CNC
Jamaica (JM) Movies No MPAA
Japan (JP) Movies No EIRIN
Jordan (JO) Movies Yes MPAA
Kazakhstan (KZ) Movies No MRKF
Korea (KR) Movies Yes KMRB
Kuwait (KW) Movies Yes MPAA
Kyrgyzstan (KG) Movies No MKRF/RUSSIA
Laos (LA) Movies No Not available
Latvia (LV) Movies No NKCLV
Lebanon (LB) Movies Yes MPAA
Lithuania (LT) No N/A
Luxembourg (LU) Movies No KIJKWIJZER
Macedonia (MK) Movies No MPAA
Malaysia (MY) Movies Yes FCBM
Mali (ML) Movies No CNC
Malta (MT) Movies No MCCAA
Mauritius (MU) Movies No BBFC
Mexico (MX) Movies No RTC
Moldova (MD) Movies No Not available
Namibia (NA) Movies No Not available
Nepal (NP) Movies No MPAA
Netherlands (NL) Movies No KIJKWIJZER
New Zealand (NZ) Movies Yes OFLC
Nicaragua (NI) Movies No MPAA
Niger (NE) Movies No CNC
Norway (NO) Movies No MEDIETILSYNET
Oman (OM) Movies Yes MPAA
Panama (PA) Movies No MPAA
Papua New Guinea (PG) Movies No MPAA
Paraguay (PY) Movies No MPAA
Peru (PE) Movies No MPAA
Philippines (PH) Movies No MTRCB
Poland (PL) Movies No MPAA
Portugal (PT) Movies No CCE
Qatar (QA) Movies Yes MPAA
Russia (RU) Movies Yes MKRF/RUSSIA
Rwanda (RW) Movies No CNC
Saudi Arabia (SA) Movies Yes MPAA
Senegal (SN) Movies No MPAA
Singapore (SG) Movies Yes MDA
Slovakia (SK) Movies No MPAA
Slovenia (SI) Movies No MPAA
South Africa (ZA) Movies Yes FPB
Spain (ES) Movies Yes ICAA
Sri Lanka (LK) Movies No Not available
Sweden (SE) Movies No SMSA
Switzerland (CH) TV No FSK
Switzerland (CH) Movies No FSK
Taiwan (TW) Movies No MOCTW
Tajikistan (TJ) Movies No MKRF/RUSSIA
Tanzania (TZ) Movies No MPAA
Thailand (TH) Movies No BFVC
Togo (TG) Movies No CNC
Trinidad and Tobago (TT) Movies No Not available
Turkey (TR) Movies Yes ECBMCT
Turkmenistan (TM) Movies No MKRF/RUSSIA
Uganda (UG) Movies No MPAA
Ukraine (UA) Movies No Not available
United Arab Emirates (AE) Movies Yes MPAA
United Kingdom (GB) TV No BBFC
United Kingdom (GB) Movies No BBFC
United States (US) TV No TV_PG
United States (US) Movies No MPAA
Uruguay (UY) Movies No MPAA
Uzbekistan (UZ) Movies No MKRF/RUSSIA
Venezuela (VE) Movies No RESORTEVIOLENCIA
Vietnam (VN) Movies Yes MCST
Zambia (ZM) Movies No MPAA
Zimbabwe (ZW) Movies No MPAA

GeoShape properties

A GeoShape object contains one of the following data types:

Property Expected type Description
@id URL Required - The geo region's identifier in URI format.
@type Text Required - Always set to GeoShape.
addressCountry Text Required - The two-letter ISO 3166-1 alpha-2 country code.
postalCode Text Optional - The postal code(s).
identifier PropertyValue Optional - A Designated Market Area (DMA) ID, which is an identifier of a region in the United States where people receive the same television channels and programs.
identifier.@type Text Required - Always set to PropertyValue.
identifier.propertyID Text Required - Always set to DMA_ID.
identifier.value Text Required - The DMA code for the region.

Example of GeoShape object that contains a list of ZIP codes:

{
  "@type": "GeoShape",
  "@id": "http://example.com/area1",
  "addressCountry": "US",
  "postalCode": [
    "94118",
    "94119"
  ]
}

Example of GeoShape object that contains a list of FSA (forward sortation area) codes:

{
  "@type": "GeoShape",
  "@id": "http://example.com/area2",
  "addressCountry": "CA",
  "postalCode": [
    "1A1",
    "K1A"
  ]
}

Example of GeoShape object that contains a DMA ID:

{
  "@type": "GeoShape",
  "@id": "http://example.com/area3",
  "addressCountry": "US",
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "DMA_ID",
      "value": "501"
    }
  ]
}