Skip to main content

Overview

Addon types define the structure of Stremio addons including their manifests, descriptors, resources, and request/response handling.

Manifest

The main addon manifest containing metadata and capabilities.
id
String
required
Unique identifier for the addon
version
Version
required
Semantic version of the addon (uses semver::Version)
name
String
required
Display name of the addon
contactEmail
Option<String>
Contact email for the addon developer
description
Option<String>
Description of the addon
URL to the addon logo image
background
Option<Url>
URL to the addon background image
types
Vec<String>
required
Globally supported content types (e.g., movie, series, anime, tv)
resources
Vec<ManifestResource>
required
Resources supported by the addon (catalog, meta, stream, subtitles, etc.)
idPrefixes
Option<Vec<String>>
Globally supported ID prefixes (e.g., tt, anidb, kitsu)
catalogs
Vec<ManifestCatalog>
default:"[]"
Catalog definitions provided by the addon
addonCatalogs
Vec<ManifestCatalog>
default:"[]"
Addon catalog definitions
behaviorHints
ManifestBehaviorHints
default:"{}"
Behavior hints for the addon

ManifestResource

Defines a resource that the addon supports. Can be in short or full format. Short format: Just a string with the resource name
ManifestResource::Short(String)
Full format: Detailed resource definition
name
String
required
Resource name (e.g., “catalog”, “meta”, “stream”, “subtitles”)
types
Option<Vec<String>>
Content types supported by this resource (subset of manifest types)
idPrefixes
Option<Vec<String>>
ID prefixes supported by this resource (subset of manifest idPrefixes)

ManifestCatalog

Defines a catalog provided by the addon.
id
String
required
Unique identifier for the catalog
type
String
required
Content type (e.g., movie, series)
name
Option<String>
Display name for the catalog
extra
ManifestExtra
Extra properties supported by the catalog

ManifestExtra

Defines extra properties for catalogs. Can be in short or full format. Full format:
extra
Vec<ExtraProp>
Array of extra property definitions
Short format:
extraRequired
Vec<String>
default:"[]"
Names of required extra properties
extraSupported
Vec<String>
default:"[]"
Names of supported extra properties

ExtraProp

Defines an extra property for catalogs.
name
String
required
Name of the extra property
isRequired
bool
default:"false"
Whether this property is required
options
Vec<String>
default:"[]"
Available options for this property
optionsLimit
OptionsLimit
default:"1"
Maximum number of options that can be selected

ManifestBehaviorHints

Behavior hints for the addon.
adult
bool
default:"false"
Whether the addon contains adult content
p2p
bool
default:"false"
Whether the addon uses P2P technology
configurable
bool
default:"false"
Whether the addon is configurable
configurationRequired
bool
default:"false"
Whether configuration is required before use

Descriptor

Addon descriptor containing the manifest and transport information.
manifest
Manifest
required
The addon manifest
transportUrl
Url
required
Base URL for accessing the addon
flags
DescriptorFlags
default:"{}"
Addon flags

DescriptorFlags

official
bool
default:"false"
Whether this is an official Stremio addon
protected
bool
default:"false"
Whether this addon is protected from removal

ResourcePath

Defines a resource request path.
resource
String
required
Resource type (e.g., “catalog”, “meta”, “stream”, “subtitles”)
type
String
required
Content type (e.g., “series”, “movie”)
id
String
required
Resource identifier
extra
Vec<ExtraValue>
default:"[]"
Extra query parameters

ExtraValue

name
String
required
Name of the extra parameter
value
String
required
Value of the extra parameter

ResourceRequest

Complete resource request with base URL and path.
base
Url
required
Base URL of the addon
path
ResourcePath
required
Resource path

ResourceResponse

Response from an addon resource request. This is an enum with the following variants:

Metas

metas
Vec<MetaItemPreview>
required
Array of meta item previews (catalog response)

MetasDetailed

metasDetailed
Vec<MetaItem>
required
Array of detailed meta items with videos

Meta

meta
MetaItem
required
Single detailed meta item

Streams

streams
Vec<Stream>
required
Array of stream objects

Subtitles

subtitles
Vec<Subtitles>
required
Array of subtitle objects

Addons

addons
Vec<Descriptor>
required
Array of addon descriptors

ResourceResponseCache

Resource response with caching information.
cacheMaxAge
Option<u64>
Cache max age in seconds
staleRevalidate
Option<u64>
Stale-while-revalidate time in seconds
staleError
Option<u64>
Stale-if-error time in seconds
resource
ResourceResponse
required
The actual resource response

Build docs developers (and LLMs) love