Video Schema Markup Guide

VideoObject schema markup helps Google understand and index your video content. With valid VideoObject structured data, your videos can appear in Google Video Search, video rich results in web search, and Google Discover. This is essential for any page that embeds or hosts video content. The Clip sub-type can mark specific key moments within a video.

Required Properties

PropertyTypeDescription
namerich result
stringThe title of the video.
descriptionrich result
stringA description of the video content.
thumbnailUrlrich result
URLURL of the video thumbnail image. Must be accessible to Googlebot (200x200px minimum).
uploadDaterich result
ISO 8601 dateThe date the video was first published.

Recommended Properties

Missing recommended properties generate warnings. They won't block validation, but rich result-tagged properties are needed for full Google rich result eligibility.

PropertyTypeDescription
contentUrl
URLDirect URL to the video file.
embedUrl
URLURL of the embedded video player.
duration
ISO 8601 durationDuration of the video (e.g. PT4M30S for 4 min 30 sec).
expires
ISO 8601 datetimeThe date after which the video is no longer available.
interactionStatistic
InteractionCounterView count. Use WatchAction with userInteractionCount.
publisher
OrganizationThe publisher of the video.

Rich Result Eligibility

Rich result type: Video rich result, video carousel, key moments

Requirements: Required: name, description, thumbnailUrl (URL accessible to Googlebot), and uploadDate. contentUrl or embedUrl is strongly recommended.

Example valid VideoObject JSON-LD

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Validate Schema.org JSON-LD in 5 Minutes",
  "description": "A step-by-step tutorial on validating structured data markup using the SchemaCheck API.",
  "thumbnailUrl": "https://example.com/images/video-thumbnail.jpg",
  "uploadDate": "2026-03-18",
  "duration": "PT5M20S",
  "contentUrl": "https://example.com/videos/schema-validation-tutorial.mp4",
  "embedUrl": "https://example.com/embed/schema-validation-tutorial",
  "interactionStatistic": {
    "@type": "InteractionCounter",
    "interactionType": {
      "@type": "WatchAction"
    },
    "userInteractionCount": 12450
  },
  "publisher": {
    "@type": "Organization",
    "name": "SchemaCheck",
    "logo": {
      "@type": "ImageObject",
      "url": "https://schemacheck.dev/logo.png"
    }
  }
}

Validate via API

Validate this schema against Google's requirements in one API call:

curl "https://schemacheck.dev/api/v1/validate" \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonld":{"@context":"https://schema.org","@type":"VideoObject","name":"How to Validate Schema.org JSON-LD in 5 Minutes","description":"A step-by-step tutorial on validating structured data markup using the SchemaCheck API.","thumbnailUrl":"https://example.com/images/video-thumbnail.jpg","uploadDate":"2026-03-18","duration":"PT5M20S","contentUrl":"https://example.com/videos/schema-validation-tutorial.mp4","embedUrl":"https://example.com/embed/schema-validation-tutorial","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"WatchAction"},"userInteractionCount":12450},"publisher":{"@type":"Organization","name":"SchemaCheck","logo":{"@type":"ImageObject","url":"https://schemacheck.dev/logo.png"}}}}'

Official Documentation

Google Structured Data: VideoObject

Validate your VideoObject schema now

100 free validations/month. No credit card required.