XooCode(){

ActionAccessSpecification

ActionAccessSpecification is an Intangible for the constraints that apply to an Action: who can perform it, where, when, under what subscription requirements. It is the typical value of actionAccessibilityRequirement on MediaObject and potentialAction target wrappers.

Direct properties:

  • availabilityStarts / availabilityEnds (Date or Time): the window.
  • eligibleRegion / ineligibleRegion (GeoShape, Place, or Country): geographic scope.
  • category (Text or URL): access category (e.g. "subscription", "free").
  • requiresSubscription (Boolean or MediaSubscription): whether a subscription is required.
  • expectsAcceptanceOf (Offer): an Offer the user must accept (pay-per-view, one-off purchase).

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

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

Highlight legend:Required by GoogleRecommendedOptional
schema.org/ActionAccessSpecification
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Xoo Code Quarterly — live stream",
  "contentUrl": "https://xootv.example/live/xooquarterly-q2",
  "potentialAction": {
    "@type": "WatchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://xootv.example/live/xooquarterly-q2",
      "actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"]
    }
  },
  "actionAccessibilityRequirement": {
    "@type": "ActionAccessSpecification",
    "name": "XooTV subscribers, United States only",
    "category": "subscription",
    "requiresSubscription": true,
    "availabilityStarts": "2026-06-14T19:00:00-04:00",
    "availabilityEnds": "2026-06-14T22:30:00-04:00",
    "eligibleRegion": { "@type": "Country", "name": "United States", "identifier": "US" }
  }
}
</script>

Minimal valid version

The smallest markup that still produces a valid ActionAccessSpecification 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/ActionAccessSpecification (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ActionAccessSpecification",
  "category": "subscription",
  "requiresSubscription": true,
  "eligibleRegion": { "@type": "Country", "name": "United States" }
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

  • Google Movie / Video actions (subscription flows)
    Google docs

Common ActionAccessSpecification 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

    Region as plain text

    Wrong
    "eligibleRegion": "US"
    Right
    Typed Country node (or GeoShape)

    Media-delivery consumers parse typed regions for geo-fencing; plain text is not enforced.

  2. 02

    availabilityEnds omitted on time-boxed streams

    Wrong
    Live stream with only availabilityStarts
    Right
    Populate both so consumers know the window

    Without an end, the stream is treated as indefinite.

About the example data

Access spec for the XooTV stream of Xoo Code Quarterly: US subscribers only, live window 19:00-22:00 local.

Comments

Loading comments...

Leave a comment