Skip to main content
In addition to movie, series, and channel, Stremio Web supports a range of additional content types. All type priorities and icon mappings are defined in src/common/CONSTANTS.js.

All types: priority and icon reference

TypePriorityIcon keyNotes
movie10moviesSee Movies reference
series9seriesSee Series reference
channel8channelsSee Channels reference
tv7tvLive TV streams
music6ic_musicMusic content
radio5ic_radioRadio streams
podcast4ic_podcastPodcast episodes
game3ic_gamesGame-related content
book2ic_bookBooks and written media
adult1ic_adultAdult content
other-InfinitymoviesCatch-all for unrecognized types
// From src/common/CONSTANTS.js
const TYPE_PRIORITIES = {
    movie: 10,
    series: 9,
    channel: 8,
    tv: 7,
    music: 6,
    radio: 5,
    podcast: 4,
    game: 3,
    book: 2,
    adult: 1,
    other: -Infinity
};

const ICON_FOR_TYPE = new Map([
    ['movie', 'movies'],
    ['series', 'series'],
    ['channel', 'channels'],
    ['tv', 'tv'],
    ['book', 'ic_book'],
    ['game', 'ic_games'],
    ['music', 'ic_music'],
    ['adult', 'ic_adult'],
    ['radio', 'ic_radio'],
    ['podcast', 'ic_podcast'],
    ['other', 'movies'],
]);

Type descriptions

Live or linear TV streams. Icon key: tv.The tv type is intended for live television channels and streams. Content under this type typically provides a single stream per item (the live feed) rather than a videos array. It does not integrate with the Calendar view.
Music content. Icon key: ic_music.Used for music tracks, albums, or music video content provided by add-ons. Lower priority than TV given its niche use in the Stremio ecosystem.
Radio streams. Icon key: ic_radio.Live or recorded radio content. Similar in structure to tv — typically a single continuous stream per item.
Podcast episodes. Icon key: ic_podcast.Episodic audio or video podcast content. May use a videos array to list individual episodes, similar to series or channel.
Game-related content. Icon key: ic_games.Used for game streams, trailers, or gameplay content provided by specialized add-ons.
Books and written media. Icon key: ic_book.Intended for audiobooks or e-book content provided through add-ons.
Adult content. Icon key: ic_adult.Has the lowest non-fallback priority. Add-ons serving adult content use this type identifier. The type is subject to content filtering in the UI.
Catch-all for unrecognized types. Icon key: movies (falls back to the movie icon).A priority of -Infinity ensures this type always sorts last in any type selector. Add-ons may use arbitrary type strings — any type not explicitly listed in TYPE_PRIORITIES is implicitly treated as other by the sorting logic.

Priority ordering logic

Type selectors and catalog tabs are ordered by TYPE_PRIORITIES in descending order. Types not present in TYPE_PRIORITIES receive an implicit priority of undefined, which sorts below all numeric values.
const sortedTypes = types.sort(
    (a, b) => (TYPE_PRIORITIES[b] ?? -Infinity) - (TYPE_PRIORITIES[a] ?? -Infinity)
);
The other type’s -Infinity priority guarantees it always appears last in sorted type lists, regardless of what other types are present.

Build docs developers (and LLMs) love