Identify the entity types of your content

The first step to create the feed is to identify the types of entities you need to provide in the feed. For that, an understanding of your media catalog is important, especially because each entity type has different attributes and requirements. You might be a provider who catalogs only movies, or one who provides musical content, such as songs, artists, playlists, or radio stations to your users. You can also be one who serves both video and music content to your users. Before you proceed, it helps to know the categories you fall into.

Identify the type of integration

At the top level, Media Actions allows you to perform two types of integrations, which further break down into subcategories, as shown in the following table:

Integration category Integration sub-category Description

Watch Actions

Video on demand

Providers of access to video assets that stream on demand. The assets typically include movies, TV shows, sports games, etc. Access to the catalog is provided either for free or through a one time or recurring subscription fee. You can refer to the entity relationship chart for more details.

Live TV

Providers who provide access to live streamed content, which usually streams on linear TV channels or the internet. The assets typically include the channels, electronic programming guide (EPG), and associated movies, TV shows, and sporting events metadata. Access to the catalog is provided either for free or through a one time or recurring subscription fee. For more information, see the entity relationship chart.

Video on demand and Live TV

Providers who provide access to both Video on demand and linear TV channels or live streamed content. The assets typically include the channels, electronic programming guide (EPG), movies, TV shows, and sports games metadata. Access to the catalog is provided either for free or through a one-time or recurring subscription fee. For more information, see the entity relationship chart.

Listen Actions

Music

Providers who provide access to their catalog of songs, music playlists, artists, and their albums that stream over the internet. Access to the catalog is provided either for free or through a one-time or recurring subscription fee.

Radio

Providers who provide access to their catalog of radio stations. Access to the catalog is provided either for free or through a one-time or recurring subscription fee.

Podcast

Providers who provide access to their catalog of podcasts that can be streamed over the internet. Access to the catalog is provided either for free or through a one-time or recurring subscription fee.

Understand the available entity types

Entity type Brief description

Movie

Movie is the schema.org representation of a movie. This can be a theatrical release, a home release, an international release, a remastered version, a director’s cut, an unrated version, or an extended cut of the movie. The entity lets you model various attributes of a movie, such as its actors, directors, regional or global release dates, and more. 

For specifications and an example, see Content markup properties of movies.

TVSeries

Also known as a television show, or a TV show, the TVSeries entity is the schema.org representation. For example, “Grey's Anatomy” is a medical drama television series created by Shonda Rimes. It has several seasons, and each season has several episodes.

For specifications and an example, see Content markup properties of TV shows.

TVSeason

TVSeason is the schema.org representation of a single season associated with a TVSeries. For example,  “Season 18” of the “Grey's Anatomy” TVSeries had 20 episodes. TVSeason entity captures the season name and season number and links back to the TVSeries entity it's related to.

For specifications and an example, see Content markup properties of TV shows.

TVEpisode

TVEpisode is the schema.org representation of a single episode of a given TVSeason, associated with a TVSeries. For example, “I'll Follow the Sun” was the 7th episode in the 19th TVSeason of the “Grey's Anatomy” TVSeries. The TVEpisode entity captures the episode number, name, release date, deep link to watch the episode, and more. It also links back to the TVSeason and the TVSeries entity that it’s related to. 

For specifications and an example, see Content markup properties of TV shows.

SportsEvent

SportsEvent is the schema.org representation of a sports game or a full replay of a sports game. The entity helps capture the details of the competitors or the game or the teams that participated, the location of the game, and the start and end time of the game. For more information, see SportsEvents - Modelling, Best Practices and Sample Feed

For specifications and an example, see SportsEvent specification table.

Organization

Organization is the schema.org representation for two types of assets:

  • A TV operator, also known as TV service provider, an organization that delivers a bundle of TV programming to subscribers. This asset is usually also the creator of the feed.
  • An organization that produces and distributes TV programming.

For specifications and an example, see the Organization specification table.

For more information, see Live TV channel.

BroadcastService

BroadcastService is the schema.org representation of a channel that carries linear programming. For example, “ESPN,” “AXN,” and “ABC News Live” are famous television channels in the US. This core entity represents a television channel and links out to the Organization and TelevisionChannel entities.

For specifications and an example, see BroadcastService Specification table. For more information, see Live TV channel.

CableOrSatelliteService

CableOrSatelliteService is the schema.org representation of a regional cable, satellite, or internet TV service provided by a TV operator. It's generally associated with the lineup of channels, and it links to the TV operator, represented by the Organization entity. For example, the TV service provided by SlingTV or PlutoTV in the US can be represented by a CableOrSatelliteService entity.

For specifications and an example, see the CableOrSatelliteService specification table. For more information, see Live TV channel.

TelevisionChannel

TelevisionChannel identifies the channel by using a unique identifier, such as the channel number and the order in which it appears in the entire channel lineup of a given TV operator. For example, the television channel “ABC News Now” shows up as channel number 7 and in the 18th place in the lineup of SlingTV’s US service.

For specifications and an example, see the TelevisionChannel specification table. For more information, see Live TV channel.

BroadcastEvent

BroadcastEvent is the schema.org representation of a time-slot of programming on a television channel, represented by a BroadcastService entity. For example, it might represent the 6 PM to 9 PM slot on Thursday on “24 Hour Free Movies” BroadcastService when the movie “X-Men” is broadcast. For more information, see Live TV event

For specifications and an example, see Content markup properties of live TV events.

MusicPlaylist

MusicPlaylist is the schema.org representation of a collection of music tracks in a playlist from supporting curated mixes and genre mixes. The provider must own all the playlists. That is, the lists aren't created by users. “Jazz mix” and “Workout mix” are examples of genre mixes.

For specifications and an example, see Content markup properties of music playlists.

MusicAlbum

MusicAlbum is the schema.org representation of a collection of music tracks or songs recorded by a single artist or musical group. For example, “The Wall” is a famous Pink Floyd album, released in 1979.

For specifications and an example, see Content markup properties of artists, albums, and songs.

MusicRecording

MusicRecording is the schema.org representation of a music recording (track), usually a single song. For example, “Goodbye Blue Sky” is a track from “The Wall” MusicAlbum by Pink Floyd.

For specifications and an example, see Content markup properties of artists, albums, and songs.

RadioBroadcastService

RadioBroadcastService is the schema.org representation of a service that broadcasts radio content over the air or online. That is, the radio station. For specifications and an example, see Content markup properties of radio stations.

PodcastSeries

PodcastSeries is the schema.org representation of a podcast series, which is also called a podcast "show." For example, “This American Life” and “The Joe Rogan Experience” are famous podcast series.

For specifications and an example, see PodcastSeries specification chart.

PodcastEpisode

PodcastEpisode is the schema.org representation of an episode within a PodcastSeries. For example, “When to Leave” is a podcast episode of the podcast series “The American Life,” which aired on March 3, 2023.

For specifications and an example, see the PodcastEpisode specification chart.

Identify the entity types

After you understand the type of integration category and sub-category that your entity fall into, go through the following table to understand the types of entities that you need to provide in the feed.

Integration category Integration sub-category Entity type

Watch Actions

Video on demand

One or more of Movie, TVSeries, TVSeason, TVEpisode, or SportsEvent entities, depending on the contents of your catalog.

Live TV

One or more of Organization, BroadcastService, BroadcastEvent, TelevisionChannel, CableOrSatelliteService, Movie, TVSeries, TVSeason, TVEpisode, or SportsEvent entities, depending on the contents of your catalog.

Video on demand and Live TV

One or more of Organization, BroadcastService, BroadcastEvent, TelevisionChannel, CableOrSatelliteService, Movie, TVSeries, TVSeason, TVEpisode, or SportsEvent entities, depending on the contents of your catalog.

Listen Actions

Music

One or more of MusicPlaylist, MusicGroup, MusicAlbum, or MusicRecording entities, depending on the contents of your catalog.

Radio

One or more of RadioBroadcastService entities.

Podcast

One or more of PodcastSeries, PodcastEpisode entities, depending on the contents of your catalog.

Assistant for Operators integration

For providers interested in Assistant for Operators integration: since the service provider renders the deep link instead of Google, one of the primary goals of ingesting the media catalog is to improve Google Assistant recognition of the user intent. Depending on the use case, you might require the following entity types:

S.No. Description Entities required

Case 1

Improve Google Assistant recall for TV program and Movies (TVM) entities

One or more of Movie, or TVSeries entities, depending on the contents of your catalog. 

Case 2

Improve Google Assistant recall for Live TV channels

One or more of Organization, BroadcastService, TelevisionChannel, CableOrSatelliteService entities, depending on the contents of your catalog.

Case 3

Combinations of the preceding two cases

If you combine the above use-cases, then you must provide all of the applicable entity types in the corresponding “Entities required” column.

Work with your Google contact to learn more about this before you proceed.