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.
<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.
<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.
- 01
Missing authenticator
WrongMediaSubscription with only name + priceRightInclude authenticator Organization so consumers know who manages accountsPaywall markup needs the identity of the subscription provider for account-linking and rich-result validation.
Schema properties in this example
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...