Livestream

Example of a video in search results with a live badge

The livestream feature adds a live badge to video thumbnails in search results. In order for the badge to appear, we'll need to know whether the video is live or when the stream begins. The live badge can be applied to any public video that is live streamed for any duration of time. Here are a few examples:

  • Sporting events
  • Awards shows
  • Influencer videos
  • Live streaming video games

Example

Here's an example of VideoObject and isLiveBroadcast using JSON-LD code in the Structured Data Testing Tool.

Guidelines

You must follow these guidelines for your content to be eligible to display as a rich result with a live badge:

Content guidelines

  • Don't use vulgar or potentially offensive language in the structured data.

Structured data type definitions

You must include the required properties for your content to be eligible for display as a rich result. You can also include the recommended properties to add more information about your content, which could provide a better user experience.

VideoObject

The full definition of VideoObject is available at schema.org/VideoObject.

Required properties
contentUrl

URL

A URL pointing to the actual video media file.

description

Text

The description of the video.

embedUrl

URL

A URL pointing to a player for the specific video. Usually this is the information in the src element of an <embed> tag.

name

Text

The title of the video.

thumbnailUrl

Repeated field of ImageObject or URL

A URL pointing to the video thumbnail image file.

Additional image guidelines:

  • Every page must contain at least one image (whether or not you include markup). Google will pick the best image to display in Search results based on the aspect ratio and resolution.
  • Image URLs must be crawlable and indexable.
  • Images must represent the marked up content.
  • Images must be in .jpg, .png, or. gif format.
  • For best results, provide multiple high-resolution images (minimum of 50K pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.

For example:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]

uploadDate

Date

The date the video was first published, in ISO 8601 format.

publication

BroadcastEvent

Describes when the video is to be streamed live. Can be a list or a single instance.

Recommended properties
duration

duration

The duration of the video in ISO 8601 format.

expires

Text

If applicable, the date after which the video will no longer be available, in ISO 8601 format. Don't supply this information if your video does not expire.

interactionCount

Text

The number of times the video has been viewed.

BroadcastEvent

The full definition of BroadcastEvent is available at schema.org/BroadcastEvent. BroadcastEvent properties must be included inside the VideoOject entity.

Required properties
endDate

Text

Time and date of when the livestream ends or is expected to end, in ISO 8601 format.

It is required to provide the endDate once the video has finished and is no longer live. If the expected endDate is unknown prior to the livestream starting, we recommend providing an approximate endDate.

If endDate is in the past or present, it indicates stream actually ended and is no longer live. If endDate is in the future, it indicates stream is scheduled to end at that time.

isLiveBroadcast

Boolean

Set to true if the video is, has been, or will be streamed live.

startDate

Text

Time and date of when the livestream starts or is expected to start, in ISO 8601 format. If startDate is in the past or present, it indicates that the stream actually started. If startDate is in the future, it indicates stream is scheduled to start at that time.

Update Google quickly with the Indexing API

We recommend using the Indexing API to ensure that Google crawls your livestream quickly. Call the API for the following events:

  • When the video goes live
  • When the video has stopped streaming, and the page's markup has been updated to indicate the endDate
  • Whenever a change has happened in the markup and Google needs to be notified

Send feedback about...