XooCode(){

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.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/BroadcastEvent
<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.

schema.org/BroadcastEvent (minimal)
<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.

  • Live event / watch action rich result (via inherited Event)primary
    Google docs

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.

  1. 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.

  2. 02

    BroadcastEvent without publishedOn

    Wrong
    BroadcastEvent with no BroadcastService reference
    Right
    Populate publishedOn with the BroadcastService carrying the broadcast

    The whole point of BroadcastEvent is that something is broadcast by someone. Without publishedOn, consumers can't tell which channel is airing it.

About the example data

The live broadcast on WXOO Sports of the Dunmore Thunderhawks vs Scranton Scrapers championship game, 7pm Thursday.

Comments

Loading comments...

Leave a comment