Schema
TV Episode Schema
On this page
Schema.org TVEpisode
Type: defineTVEpisode<T extends Record<string, any>>(input?: TVEpisode & T)
Describes an individual TV episode.
Useful Links
TVEpisode is a general Schema.org type, not Google's VideoObject result type. For Google video eligibility, provide a nested VideoObject with the required name, thumbnailUrl, and uploadDate fields.
Required properties
- name
string
The name/title of the episode.
Recommended Properties
- episodeNumber
number
The episode number within its season. - partOfSeason
NodeRelation<TVSeason>
Reference to the season this episode belongs to. - partOfSeries
NodeRelation<TVSeries>
Reference to the series this episode belongs to. - video
NodeRelations<VideoObject | string>
Video content for the episode. Resolves to VideoObject. - duration
string
The duration in ISO 8601 format (e.g., "PT45M" for 45 minutes).
Defaults
- @type:
TVEpisode - @id:
${canonicalUrl}#/schema/tv-episode/{n}
Examples
Minimal
defineTVEpisode({
name: 'Pilot',
episodeNumber: 1,
})
Detailed example
defineTVEpisode({
name: 'Pilot',
description: 'The first episode of Breaking Bad',
episodeNumber: 1,
partOfSeason: defineTVSeason({
seasonNumber: 1,
}),
partOfSeries: defineTVSeries({
name: 'Breaking Bad',
}),
url: 'https://example.com/shows/breaking-bad/s1/e1',
duration: 'PT58M',
datePublished: new Date(2008, 0, 20),
image: 'https://example.com/shows/breaking-bad-s1e1.jpg',
video: {
name: 'Pilot',
description: 'The first episode of Breaking Bad',
thumbnailUrl: 'https://example.com/shows/breaking-bad-s1e1.jpg',
url: 'https://example.com/videos/breaking-bad-s1e1.mp4',
uploadDate: new Date(2008, 0, 20),
},
actor: [
{ name: 'Bryan Cranston' },
{ name: 'Aaron Paul' },
],
director: {
name: 'Vince Gilligan',
},
aggregateRating: {
ratingValue: 9.0,
ratingCount: 50000,
},
})
Types
export interface TVEpisodeSimple extends Thing {
name: string
description?: string
episodeNumber?: number | string
partOfSeason?: NodeRelation<any>
partOfSeries?: NodeRelation<any>
actor?: NodeRelations<Person | string>
director?: NodeRelations<Person | string>
datePublished?: ResolvableDate
uploadDate?: ResolvableDate
duration?: string
video?: NodeRelation<VideoObject | string>
image?: NodeRelations<string | ImageObject>
thumbnailUrl?: string
url?: string
aggregateRating?: NodeRelation<AggregateRating>
review?: NodeRelations<Review>
contentRating?: string
musicBy?: NodeRelations<Person | string>
}
Related Schemas
- TVSeason: Parent season
- Person: Director, actors
- Organization: Production company
Did this page help you?
SoftwareApplication Schema - JSON-LD Guide & Examples
Implement SoftwareApplication structured data with Unhead. See JSON-LD examples for app listings, ratings, pricing, and platform compatibility.
TV Season Schema
Use defineTVSeason() to add TVSeason structured data. Organize TV episodes by season with episode counts, cast, and air dates.