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.
| Property | Type | Description |
|---|---|---|
namerich result | string | The title of the video. |
descriptionrich result | string | A description of the video content. |
thumbnailUrlrich result | URL | URL of the video thumbnail image. Must be accessible to Googlebot (200x200px minimum). |
uploadDaterich result | ISO 8601 date | The date the video was first published. |
Missing recommended properties generate warnings. They won't block validation, but rich result-tagged properties are needed for full Google rich result eligibility.
| Property | Type | Description |
|---|---|---|
contentUrl | URL | Direct URL to the video file. |
embedUrl | URL | URL of the embedded video player. |
duration | ISO 8601 duration | Duration of the video (e.g. PT4M30S for 4 min 30 sec). |
expires | ISO 8601 datetime | The date after which the video is no longer available. |
interactionStatistic | InteractionCounter | View count. Use WatchAction with userInteractionCount. |
publisher | Organization | The publisher of the video. |
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.
{
"@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 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"}}}}'100 free validations/month. No credit card required.