BroadcastEvent
BroadcastEvent is a PublicationEvent subtype for a specific broadcast of a programme: a specific airing of a TV episode, a live sports broadcast, a radio broadcast of a concert. It adds 4 properties: broadcastOfEvent (the Event being broadcast, e.g. the live game), isLiveBroadcast (Boolean), subtitleLanguage (Language or Text, BCP 47 tags), and videoFormat (Text: SD, HD, 4K, IMAX, 3D).
Full example of schema.org/BroadcastEvent json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BroadcastEvent",
"name": "Thunderhawks vs Scrapers - DIHL Championship Game (live broadcast)",
"startDate": "2026-04-23T19:00:00-04:00",
"endDate": "2026-04-23T21:45:00-04:00",
"isLiveBroadcast": true,
"videoFormat": "HD",
"subtitleLanguage": ["en"],
"publishedOn": {
"@type": "BroadcastService",
"name": "WXOO Sports",
"callSign": "WXOO-HD3",
"broadcaster": { "@type": "Organization", "name": "Xoo Code Media" }
},
"broadcastOfEvent": {
"@type": "SportsEvent",
"name": "Dunmore Thunderhawks vs Scranton Scrapers - DIHL Championship",
"startDate": "2026-04-23T19:00:00-04:00",
"location": { "@type": "StadiumOrArena", "name": "The Thunderdome", "@id": "https://xoocode.com/thunderdome" },
"homeTeam": { "@type": "SportsTeam", "name": "Dunmore Thunderhawks" },
"awayTeam": { "@type": "SportsTeam", "name": "Scranton Scrapers" },
"sport": "Ice hockey"
}
}
</script>BroadcastEvent vs OnDemandEvent
BroadcastEvent is a scheduled, linear broadcast (tonight at 8pm on Channel 12). OnDemandEvent is a non-linear availability window (streaming from Jan 1 to Dec 31). A program distributed both linearly and on-demand gets one BroadcastEvent per airing plus an OnDemandEvent for the streaming window.
publishedOn vs location
PublicationEvent inherits location (the physical venue) and adds publishedOn (the BroadcastService carrying it). For a BroadcastEvent, populate publishedOn with the carrying station; location is optional (usually the originating venue for live sports).
Minimal valid version
The smallest markup that still produces a valid BroadcastEvent entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BroadcastEvent",
"startDate": "2026-04-23T19:00:00-04:00",
"isLiveBroadcast": true,
"publishedOn": { "@type": "BroadcastService", "name": "WXOO Sports" }
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsLive event / watch action rich result (via inherited Event)primary
Common BroadcastEvent mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
isLiveBroadcast as Text
Wrong"isLiveBroadcast": "true"Right"isLiveBroadcast": true (Boolean, no quotes)isLiveBroadcast is Boolean. A quoted string gets treated as Text and fails validators that check for live status.
- 02
BroadcastEvent without publishedOn
WrongBroadcastEvent with no BroadcastService referenceRightPopulate publishedOn with the BroadcastService carrying the broadcastThe whole point of BroadcastEvent is that something is broadcast by someone. Without publishedOn, consumers can't tell which channel is airing it.
Schema properties in this example
About the example data
The live broadcast on WXOO Sports of the Dunmore Thunderhawks vs Scranton Scrapers championship game, 7pm Thursday.
Comments
Loading comments...