Identify the access requirement for your content

For every content in your catalog, you need to specify its access requirement.

Consider the following questions:

  • Do users need to log in to your app or platform to access the content?
  • Do users need to pay for the content?
  • Do users need a subscription?
    • (Watch Actions only) Do users need a subscription from an external service provider?
  • (Watch Actions only) Do users need to rent or purchase the content?
  • Does the access requirement change over time?
  • Does the access requirement depend on the geography of users?

Access requirement

Media Actions support the following categories of access requirement:

Category Description
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 Watch Actions only. The content requires a subscription from a different service; for example, a subscription from a cable provider.
rental Watch Actions only. The content is available for a finite amount of time after purchase.
purchase Watch Actions only. The content is available for an indefinite amount of time after purchase.

To specify the access requirement of content, Watch Actions use the category property in the Action access specification object:

"potentialAction": {
  "@type":"WatchAction",
  "target": { … },
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2018-06-01T10:35:29Z",
    "availabilityEnds": "2019-05-31T10:35:29Z",
    "requiresSubscription": {
      "@type": "MediaSubscription",
      "@id": "http://www.example.com/premium_subscription",
      "name": "Example Premium",
    },
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  },
  ...
}

To specify the access requirement of content, Listen Actions use the category property in the offer object:

"potentialAction": {
  "@type":"ListenAction",
  "target": { … },
  "expectsAcceptanceOf":{
    "@type":"Offer",
    "category":"subscription",
    "availabilityStarts": "2018-06-01T10:35:29Z",
    "availabilityEnds": "2019-05-31T10:35:29Z",
    "eligibleRegion": {
      "@type":"Country",
      "name":"US"
    }
  },
  ...
}

Access requirement examples

See the following sections for more access requirement examples and scenarios:

Identify the access requirement

Do the following:

  1. For Watch Actions, categorize your content into the following access types: nologinrequired, free, subscription, externalsubscription, rental, purchase
  2. For Listen Actions, categorize your content into the following access types: nologinrequired, free, subscription
  3. Identify the start and end dates of your content's availability.
  4. Identify the regions (that is, country code) where your content is available.