XooCode(){

Episode

Episode is a CreativeWork subtype for a single instalment of a serial work. Its direct subtypes are PodcastEpisode, RadioEpisode, and TVEpisode. Use bare Episode only when none of those fits (web-native serials, streaming-only audio not packaged as a podcast feed).

Episode adds 9 properties: episodeNumber (Integer or Text), partOfSeason (CreativeWorkSeason), partOfSeries (CreativeWorkSeries), duration (Duration or QuantitativeValue), actor, director, musicBy, productionCompany, trailer.

Full example of schema.org/Episode json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Episode
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Episode",
  "name": "How to audit a JSON-LD block in under 90 seconds",
  "episodeNumber": 12,
  "partOfSeason": { "@type": "CreativeWorkSeason", "seasonNumber": 2 },
  "partOfSeries": { "@type": "PodcastSeries", "name": "Structured Data Weekly" },
  "datePublished": "2025-04-07",
  "duration": "PT27M48S",
  "actor": { "@type": "Person", "name": "Jane Xoo" },
  "productionCompany": { "@type": "Organization", "name": "Xoo Code" }
}
</script>

Minimal valid version

The smallest markup that still produces a valid Episode 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/Episode (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Episode",
  "name": "How to audit a JSON-LD block",
  "episodeNumber": 12,
  "partOfSeries": { "@type": "PodcastSeries", "name": "Structured Data Weekly" }
}
</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.

  • No dedicated rich result (subtypes carry rich results)
    Google docs

Common Episode 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

    Using bare Episode for a podcast or TV episode

    Wrong
    Episode for a PodcastEpisode or TVEpisode
    Right
    Use the specific subtype so podcast feeds and TV indexers can parse medium-specific properties

    PodcastEpisode carries associatedMedia; TVEpisode carries countryOfOrigin, titleEIDR, subtitleLanguage. Bare Episode misses all of those.

About the example data

Episode 12 of Structured Data Weekly season 2, "How to audit a JSON-LD block in under 90 seconds".

Comments

Loading comments...

Leave a comment