Skip to content

VideoObject: structured data for video and AI

How to mark up video with VideoObject so search engines and AI understand it. Required properties, the role of the transcript, and common mistakes.

~700 words 6 common questions ~4 min read Updated: 2026-07-17
VideoObject: structured data for video and AI
Quick answer

VideoObject is structured data that attaches machine-readable facts to a video on your page: name, thumbnail image, and upload date are required, plus a link to the file or the player and the duration. AI systems can draw on that data and on the transcript. The markup alone won't guarantee a rich result, but it matters for eligibility.

VideoObject is structured data that attaches machine-readable facts to a video on your page. Name, thumbnail image, and upload date are required, plus a link to the file or the player and the duration. AI systems can draw on that data and on the transcript. The markup alone won’t guarantee a rich result, but it matters for eligibility.

Video is a different problem for machines than text is. A search engine or an AI reads a paragraph directly; with video it sees a file it can’t interpret without help. VideoObject and a transcript are two ways to attach text to that file — and each one does something different.

What AI sees in a video, and what it doesn’t

When they work with a page, many text-based AI models rely mainly on text: the surrounding content, the structured data, and the transcript. The difference between the data and the transcript is fundamental here, and it’s easy to conflate the two.

Aspekt Source What a machine gets from it
VideoObject data Facts about the video Title, thumbnail, date, duration, link — machine-readable facts a system can point to
Transcript The video's content What was said in the video — the actual message AI can draw on
Surrounding text Context What the page is about and how the video relates to it

The process

  1. Have the video genuinely on the page

    The data describes a video that's actually there, not a trick. Marking up a video that isn't on the page violates policy.

  2. Fill in the three required properties

    name (a unique title), thumbnailUrl (a directly reachable thumbnail), and uploadDate in ISO 8601, ideally with a time zone.

  3. Add the link and the duration

    At least contentUrl (the file) or embedUrl (the player); Google prefers contentUrl. Add duration as well.

  4. Put a transcript on the page

    Full text, not abridged. Often a genuinely useful step for AI — the data gives the facts, the transcript gives the content.

  5. Check that it matches and validates

    Values = what's visible. Test it in a structured data validation tool, keep uploadDate out of the future, get the formats right.

What the markup looks like

Only name, thumbnailUrl, and uploadDate are required. But for the video to be eligible you also need at least one of contentUrl or embedUrl (ideally both) — without a link to the video, the markup stays incomplete:

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to set up structured data step by step",
  "description": "A hands-on walkthrough of setting up structured data on a product page.",
  "thumbnailUrl": "https://example.com/thumbnails/structured-data.jpg",
  "uploadDate": "2026-05-19T08:00:00+02:00",
  "duration": "PT4M12S",
  "contentUrl": "https://example.com/video/structured-data.mp4",
  "embedUrl": "https://example.com/player/structured-data"
}

The duration format is ISO 8601 for durations: PT4M12S means 4 minutes and 12 seconds. The date in uploadDate is ISO 8601 too, and it’s less ambiguous with a time zone. Where VideoObject fits into the bigger picture is covered in the article on structured data for AI.

What to avoid

01

A thumbnail behind a login or a redirect

When Google can’t reach the image in thumbnailUrl directly, that can block correct processing and reduce your chances of a rich result. The link should point straight at an accessible image.

02

Data for a video that isn't there

Marking up a video that isn’t genuinely on the page violates the structured data policies. The data describes what’s visible.

03

Video without a transcript

For a text model, the content of the video stays largely hidden no matter how complete the data is. A transcript tends to be an important source of that content for AI to draw on.

04

The outdated interactionCount

If you’re reporting a view count, use interactionStatistic. interactionCount has been deprecated since 2019.

Where this has limits

It won’t guarantee a rich result or a citation. The required properties make a video eligible, not displayed. Whether and how it shows up is Google’s call based on several factors; the same goes for citations in AI.

It doesn’t solve video production or hosting. This article is about marking up video you already have, not about where to make it or store it.

Data and a transcript don’t substitute for each other. They’re two different things — facts and content. You need both, not one instead of the other.

What to take away

VideoObject and a transcript solve two different problems. The data gives machines the facts about the video — title, thumbnail, date, duration, link. The transcript gives them the substance: what was said in the video, the content AI can draw on.

Only three properties are required, but without a link to the video — and above all without a transcript — the markup is half the job. And as with any structured data, it should describe what’s genuinely visible on the page, not promise something that isn’t there.

If you’re thinking about video more broadly than the technical side, YouTube for AI visibility picks up from here; how AI decides what to cite is covered in how AI cites sources.

Sniper Design
Help with implementation

Don't want to handle it in-house? We'll build it for you.

At Sniper Design we do full‑service AI SEO — strategy, audit, implementation, and content. E‑commerce specialists since 2016, 600+ e‑shops delivered. We build AI search in from the ground up — into homepage designs, content structures, and client site audits.

  • E‑commerce since 2016
  • 600+ e‑shops
  • Our own e‑shop
FAQ · 6 questions

Common questions on this topic

01 What is VideoObject?
VideoObject is a structured data type from the schema.org vocabulary that attaches machine-readable facts to a video on your page: name, thumbnail image, upload date, duration, and a link to the file or the player. Search engines and AI systems read basic information about the video from it — information they would otherwise have to mine from the surrounding text, or wouldn't have at all.
02 Which properties are required?
Google's documentation lists three: name, thumbnailUrl, and uploadDate. On top of that you need at least one of contentUrl or embedUrl, even though those are listed as recommended. Description is not required, despite what some guides claim; it's recommended and worth filling in, but on its own it isn't a condition of eligibility.
03 Why does a transcript matter so much for AI?
Because a text model typically works from text: the page content, the structured data, and the transcript. Structured data supplies facts like the title and the duration, but the actual content of the video — what was said in it — is something the model mostly learns from the transcript. A video without a transcript therefore stays largely hidden from AI, no matter how complete the data is.
04 Does VideoObject guarantee my video shows up as a rich result?
No. Meeting the required properties makes a video eligible for a rich result, but doesn't guarantee one. Whether it appears, and how, is Google's call based on several factors. Citations in AI work much the same way: structured data and a transcript improve your odds, but nobody can promise your video will be the source.
05 Do I have to include a view count?
No, it's optional. If you do want to include it, use interactionStatistic. Google still supports the older interactionCount property, but since 2019 it has recommended interactionStatistic instead — so for new markup, go straight to the recommended option.
06 Is embedding a YouTube video enough, or do I need the data too?
An embedded YouTube video works on the page, and YouTube has its own data on its side. But if you want machines to understand your page as well as possible, it makes sense to add VideoObject and, above all, a transcript on your own page. That puts the context and the content where you cover your topic, not just on the platform.
Keep reading

Related articles

All blog articles Back to home