Skip to main content
The series type represents episodic TV content. It is the second-highest priority content type and is the only type that integrates with the Calendar view.

Type identifier

'series'

Priority

series has a priority value of 9:
// From CONSTANTS.js
const TYPE_PRIORITIES = {
    movie: 10,
    series: 9,
    // ...
};

Icon

The icon key for series is 'series':
const ICON_FOR_TYPE = new Map([
    ['series', 'series'],
    // ...
]);

Metadata fields

Series share all top-level meta fields with movies (id, type, name, poster, background, logo, description, releaseInfo, genres, cast, imdbRating, links). The key distinction is the videos array.
type
string
required
Must be 'series'.
videos
Video[]
Ordered list of episodes. Each video object describes a single episode:
videos[].id
string
required
Unique episode identifier (e.g., 'tt0111161:1:1' for season 1, episode 1 of an IMDB title).
videos[].title
string
Episode title.
videos[].season
number
Season number. Season 0 conventionally represents specials.
videos[].episode
number
Episode number within the season.
videos[].released
string
ISO 8601 release date string (e.g., '2023-09-15T00:00:00.000Z'). Used by the Calendar view to place the episode on the correct date.
videos[].thumbnail
string
URL to an episode thumbnail image.
videos[].overview
string
Episode plot summary.

Season and episode structure

Episodes are grouped by season number in the detail page UI. The UI renders a season selector, and within each season, episodes are listed in order of their episode number.
Series
└── Season 1
│   ├── Episode 1
│   ├── Episode 2
│   └── ...
└── Season 2
    └── ...
Season 0 is treated as a special season (“Specials” or “Extras”) and may be rendered separately from numbered seasons depending on the UI implementation.

UI surfaces

Series appear in Discover when add-ons provide series catalogs. The type selector places series second after movie based on its priority of 9.
The series detail page (#/detail/series/{id}) renders a season selector and episode list. Selecting an episode fetches streams for that specific video.id.
The Calendar view exclusively uses the series type. It reads videos[].released dates to plot upcoming and recent episode air dates. Only series in the user’s library appear on the Calendar.
Series in the library track the last watched episode. The library card may show the next unwatched episode number.
The Calendar is the only UI surface that is specific to the series type. The keyboard shortcut 4 navigates directly to #/calendar.

Build docs developers (and LLMs) love