All articles
Schema Markup

BroadcastEvent schema: the only other type eligible for Indexing API

After JobPosting, BroadcastEvent is the second structured data type that qualifies for direct Google Indexing API submission. Here's how to implement it correctly.

IP
IndexPilot Team··5 min read

What BroadcastEvent schema is

BroadcastEvent is a schema.org type that describes a live or recorded broadcast — most commonly a live stream. Combined with VideoObject, it tells Google that a specific page will host a live video at a specific time, making it eligible for Google's Live badge in search results.

It is also one of only two structured data types that make a URL eligible for priority submission via the Google Indexing API. For publishers who run regular live streams — news organisations, sports platforms, conference organisers, educators — implementing this schema correctly is a meaningful distribution advantage.

When a BroadcastEvent qualifies for the Indexing API

Not every BroadcastEvent implementation qualifies. The page must meet all of these conditions:

  • The JSON-LD uses VideoObject as the root type
  • The publication property references a valid BroadcastEvent object
  • isLiveBroadcast is set to true
  • Both startDate and endDate are present in ISO 8601 format
  • The startDate is in the future (or recent past) at the time of submission
  • The page is crawlable and not blocked by robots.txt or noindex

Warning

Submitting a BroadcastEvent URL after the event has ended will not result in priority indexing. The Indexing API's value for broadcasts is pre-event discovery — submit 6 to 24 hours before the stream starts.

The complete JSON-LD template

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Product Launch Livestream — Acme Corp",
  "description": "Join us live as we reveal our new product line.",
  "thumbnailUrl": "https://example.com/thumbnails/launch-stream.jpg",
  "uploadDate": "2026-06-01T09:00:00+00:00",
  "duration": "PT2H",
  "contentUrl": "https://example.com/live/launch-stream",
  "embedUrl": "https://example.com/embed/launch-stream",
  "publication": {
    "@type": "BroadcastEvent",
    "name": "Product Launch Livestream",
    "isLiveBroadcast": true,
    "startDate": "2026-06-01T09:00:00+00:00",
    "endDate": "2026-06-01T11:00:00+00:00"
  }
}
</script>

Required and recommended fields

FieldLevelNotes
VideoObject.nameRequiredTitle of the video/stream
VideoObject.descriptionRequiredWhat viewers will see
VideoObject.thumbnailUrlRequiredMust be crawlable and at least 696px wide
VideoObject.uploadDateRequiredWhen the video was first published
BroadcastEvent.isLiveBroadcastRequiredMust be true
BroadcastEvent.startDateRequiredISO 8601 with timezone
BroadcastEvent.endDateRecommendedWithout it, eligibility may be inconsistent
VideoObject.contentUrlRecommendedDirect URL to the video file or stream

Common implementation mistakes

  • Using BroadcastEvent as the root type — It must be nested inside VideoObject via the publication property. A standalone BroadcastEvent does not qualify for Indexing API eligibility.
  • Static dates that do not update — If you reuse the same page for recurring streams, update startDate and endDate before each event and resubmit.
  • Missing timezone in date fields — 2026-06-01T09:00:00 is ambiguous. Always include a timezone offset: 2026-06-01T09:00:00+00:00 or 2026-06-01T09:00:00Z.
  • Thumbnail not crawlable — If the thumbnail URL returns 404 or requires authentication, Google cannot verify the schema and may reject the rich result.

Validating and submitting

Before submitting via the Indexing API, validate with Google's Rich Results Test. Look specifically for the VideoObject detection — if the tool does not show a VideoObject result with BroadcastEvent properties, the submission will not receive priority treatment.

Tip

IndexPilot detects BroadcastEvent schema during page crawls and flags eligible live pages ahead of their start time — so you can submit them to the Indexing API with confidence before the stream begins.

Related articles

Ready to submit URLs the right way?

IndexPilot validates every URL for Google Indexing API eligibility before submission — so you never waste quota on pages Google will ignore.