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.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. 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 - 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_: The 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 TV rating agency Movie rating agency
USA TVPG MPAA
United Kingdom BBFC BBFC
France CSA CSA
Italy AGCOM AGCOM
Germany FSK FSK
Spain SETSI ICAA
Japan NA EIRIN
Korea KMRB KMRB
Brazil CLASSIND CLASSIND
Russia MKRF MKRF
India CBFC CBFC
Indonesia KPI LSF
Mexico RTC RTC

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"
    }
  ]
}