What are Stremio Addons?
Stremio addons are external services that extend Stremio’s functionality by providing additional content sources. They communicate with Stremio Core through a well-defined protocol, delivering metadata, streams, subtitles, and catalogs.Key Concepts
Addon Descriptor
An addon is represented by aDescriptor which contains:
- Manifest: Defines the addon’s capabilities, supported resources, and metadata
- Transport URL: The base URL where the addon can be accessed
- Flags: Additional metadata like
officialandprotectedstatus
Resource Types
Addons can provide four main types of resources:| Resource | Description | Example Use Case |
|---|---|---|
| catalog | Lists of content items | Browse movies by genre |
| meta | Detailed metadata for items | Get movie details, cast, videos |
| stream | Playable video sources | Stream a specific episode |
| subtitles | Subtitle tracks | Download subtitles for a movie |
Resource Path Structure
All addon requests follow a consistent URL pattern:/catalog/movie/top.json- Top movies catalog/meta/series/tt0944947.json- Metadata for a series/stream/movie/tt1254207.json- Streams for a movie/subtitles/movie/tt1254207.json- Subtitles for a movie
Addon Communication Flow
Transport Layer
Stremio Core uses theAddonTransport trait to communicate with addons. The primary implementation is AddonHTTPTransport, which handles HTTP requests to addon endpoints.
The transport layer automatically handles URL encoding, extra parameter serialization, and response parsing.
Type Safety
All addon interactions are strongly typed in Rust:- Requests use
ResourceRequestandResourcePathtypes - Responses are parsed into
ResourceResponseenum variants - Manifests are validated against the
Manifeststruct
Next Steps
Manifest Structure
Learn about manifest fields and configuration
Resources
Explore resource types and responses
Transport
Understand the transport layer
Creating Addons
Build your first addon
