Skip to main content

Stremio Core

Build powerful media center applications with a flexible Rust framework designed for correctness, cross-platform compatibility, and an innovative addon system.

Why Stremio Core?

Stremio Core is built from the ground up to contain all the reusable logic between Stremio versions. Whether you’re building a web app, native desktop application, or mobile client, Stremio Core provides the foundation you need.

Elm Architecture

Clean state management with Effects and Update traits

Addon System

Powerful plugin architecture with manifest and transport protocols

Cross-Platform

Environment abstraction works everywhere from WASM to native

Type Safety

Rust’s type system ensures correctness across your entire app

Key Features

Built on the proven Elm architecture pattern with Effect and Update traits, providing predictable state management and clear data flow throughout your application.
A flexible addon system with manifest definitions, resource requests/responses, and multiple transport protocols including HTTP and legacy adapters.
Pre-built models for Context, Library, Catalog, Player, StreamingServer, and more - ready to use in your application.
The Env trait abstracts platform-specific details like networking and storage, making your code portable across web, desktop, and mobile.
First-class WASM support through stremio-core-web, providing JavaScript bindings for seamless web integration.
Built-in support for streaming servers with torrent handling, transcoding, and multi-format delivery.

Get Started

1

Add Stremio Core to Your Project

Install the crate and configure your dependencies

Installation Guide

Learn how to add Stremio Core to your Rust project
2

Follow the Quickstart

Build your first application with Stremio Core

Quickstart Tutorial

Create a basic media center app in minutes
3

Explore the Architecture

Understand the core concepts and patterns

Core Concepts

Learn about models, effects, and the runtime

Architecture Overview

Stremio Core is organized into several key modules:
  • types - Core type definitions used throughout the framework and by addons
  • addon_transport - Communication layer with addon support and protocol adapters
  • runtime - Effect handling, environment abstraction, and the Runtime itself
  • models - Stateful models like Ctx, Library, CatalogWithFilters, Player, etc.

Learn More About the Architecture

Dive deep into how Stremio Core is structured

Building Addons

Create powerful addons that extend Stremio’s functionality

Web Applications

Use WASM bindings to build web-based media centers

Native Apps

Build desktop and mobile applications with native performance

Custom Models

Extend the framework with your own stateful models

Community and Support

GitHub Repository

View source code, report issues, and contribute

API Reference

Complete API documentation for all types and modules

Build docs developers (and LLMs) love