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.
<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.
<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.
- Google docsNo dedicated rich result (subtypes carry rich results)
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.
- 01
Using bare Episode for a podcast or TV episode
WrongEpisode for a PodcastEpisode or TVEpisodeRightUse the specific subtype so podcast feeds and TV indexers can parse medium-specific propertiesPodcastEpisode carries associatedMedia; TVEpisode carries countryOfOrigin, titleEIDR, subtitleLanguage. Bare Episode misses all of those.
Schema properties in this example
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...