XooCode(){

MediaSubscription

MediaSubscription is an Intangible representing a media subscription (streaming service, news paywall). Properties: expectsAcceptanceOf (Offer — the payment required) and authenticator (Organization — who manages the account). Used on Movie/TVSeries/NewsArticle/ScholarlyArticle.requiresSubscription and inside ActionAccessSpecification.

Full example of schema.org/MediaSubscription json-ld markup

The markup is verified as valid with Rich Results Test from Google.

schema.org/MediaSubscription
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MediaSubscription",
  "name": "NordicStream Premium",
  "authenticator": { "@type": "Organization", "name": "NordicStream Media ApS" },
  "expectsAcceptanceOf": {
    "@type": "Offer",
    "price": 89,
    "priceCurrency": "DKK",
    "category": "subscription",
    "eligibleDuration": "P1M"
  }
}
</script>

Minimal valid version

The smallest markup that still produces a valid MediaSubscription entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/MediaSubscription (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MediaSubscription",
  "name": "ExampleStream Premium",
  "authenticator": { "@type": "Organization", "name": "Example Media" }
}
</script>

Google rich results this unlocks

MediaSubscription is a structural type. It does not produce a rich result on its own.

Its value comes from combining it with a primary type whose markup earns a rich result (Article, Product, Event, and so on). MediaSubscription becomes the trunk that the primary type branches off viamainEntityorbreadcrumb. Include it on every page as the backbone of your markup.

Common MediaSubscription mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    Missing authenticator

    Wrong
    MediaSubscription with only name + price
    Right
    Include authenticator Organization so consumers know who manages accounts

    Paywall markup needs the identity of the subscription provider for account-linking and rich-result validation.

Also mentioned in 3 other examples

MediaSubscription also appears in ConsumeAction, ControlAction, and WatchAction. See the full MediaSubscription schema page for every reference.

About the example data

NordicStream Premium — the media subscription gating the Dunmore film catalogue.

Comments

Loading comments...

Leave a comment