Stremio Addon Sdk

🧙 A Node.js SDK for creating and publishing Stremio add-ons
Alternatives To Stremio Addon Sdk
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Stremio Addon Sdk4701828 days ago36October 30, 202239mitJavaScript
🧙 A Node.js SDK for creating and publishing Stremio add-ons
Flutter Tizen400
9 days ago11bsd-3-clauseDart
Flutter tools for Tizen
Facebook Instant Articles Sdk Php2305366 months ago53March 21, 201939otherPHP
The Facebook Instant Articles SDK for PHP provides a native interface for creating and publishing Instant Articles.
Android Lyrics Plugin Sdk46
9 years ago1Java
SDK for opening the Musixmatch lyrics app from a third party app
Push Notifications Php4087a year ago15October 23, 2020mitPHP
Pusher Beams PHP Server SDK
Freertos Stm3236
4 years ago1C
Chatkit Server Node187863 years ago21December 11, 20193mitTypeScript
Node.js SDK for Pusher Chatkit
Paypal Sdk Constants17
a month ago4apache-2.0JavaScript
2 years ago27PHP
LBRY WordPress plugin
5 years ago
How To Build FPKG with Unity PS4
Alternatives To Stremio Addon Sdk
Select To Compare

Alternative Project Comparisons

Stremio Addon SDK 🧙


The 🧙 Stremio Addon SDK 🧙 was developed by the Stremio Team as a way of vastly simplifying Node.js addon creation for our streaming platform.

Stremio currently supports Windows, macOS, Linux, Android and iOS.

Important: We strongly recommend deploying addons to the BeamUp servers

Quick Example

This arbitrary example creates an addon that provides a stream for Big Buck Bunny and outputs a HTTP address where you can access it.

const { addonBuilder, serveHTTP, publishToCentral }  = require('stremio-addon-sdk')

const builder = new addonBuilder({
    id: 'org.myexampleaddon',
    version: '1.0.0',

    name: 'simple example',

    // Properties that determine when Stremio picks this addon
    // this means your addon will be used for streams of the type movie
    catalogs: [],
    resources: ['stream'],
    types: ['movie'],
    idPrefixes: ['tt']

// takes function(args)
builder.defineStreamHandler(function(args) {
    if (args.type === 'movie' && === 'tt1254207') {
        // serve one stream to big buck bunny
        const stream = { url: '' }
        return Promise.resolve({ streams: [stream] })
    } else {
        // otherwise return no streams
        return Promise.resolve({ streams: [] })

serveHTTP(builder.getInterface(), { port: process.env.PORT || 7000 })
//publishToCentral("https://your-domain/manifest.json") // <- invoke this if you want to publish your addon and it's accessible publically on "your-domain"

Save this as addon.js and run:

npm install stremio-addon-sdk
node ./addon.js

It will output a URL that you can use to install the addon in Stremio

Please note: addon URLs in Stremio must be loaded with HTTPS (except and must support CORS! CORS support is handled automatically by the SDK, but if you're trying to load your addon remotely (not from, you need to support HTTPS.

Getting started with a new addon

In order to scaffold a new Stremio addon, we've made a tool called addon-bootstrap.

You can use it in the following way:

npm install -g stremio-addon-sdk # use sudo if on Linux
addon-bootstrap hello-world

You'll be asked about what resources and types you want to support, after which the addon will be created in the hello-world directory, and you'll be able to run it:

cd hello-world
npm install
npm start -- --launch

If you wish to install the addon in the Desktop version of Stremio (which you can download here), you should use npm start -- --install


All our documentation is right here on GitHub. Take a look at our examples list for some high-level information, or dive straight into our SDK documentation for our code reference docs.

We also have an example addon that you can use as a guide to help you build your own addon.

We've made two step by step guides: one for this SDK, and one for any programming language, which you can read here.

If you don't wish to use Node.js (and therefore not use this SDK either), you can create addons in any programming language, see the addon protocol specification for more information.

It is also possible to create an addon without any programming language, see our static addon example based on the protocol specification.

SDK Features Include:


For developers looking for a quick way to test their new addons, you can either:


In order for your addon to be used by others, it needs to be deployed online.

You can check our list of recommended hosting providers for Node.js or alternatively host it locally with localtunnel.

After you've deployed publically, in order to get your addon to show in Stremio (through the public Addon collection), you need to use publishToCentral or publish manually through the UI.

Examples & tutorials

Check out our ever growing list of examples and demo addons. This list also includes examples & tutorials on how to develop Stremio addons in PHP, Python, Ruby, C#, Rust, Java and Go. It also includes a list of video tutorials.

Rust version

There is a third-party Rust version of this SDK built on stremio-core developed by Sleeyax here.

Go version

There is a third-party Go version of this SDK developed by doingodswork here.

Advanced Usage

Read our guide for advanced usage to understand the many ways that addons can be used.

Reporting Issues

If you have any issues regarding the Stremio Addon SDK, please feel free to report them here.

Migration from v0.x

To migrate from v0.x, you need to:

  • change new addonSDK to new addonBuilder, which you can import via const addonBuilder = require('stremio-addon-sdk').addonBuilder
  • change to serveHTTP(addon.getInterface(), opts), which you can import via const serveHTTP = require('stremio-addon-sdk').serveHTTP
  • all handlers have to return a Promise (rather than take a cb)

Use Cases Outside Addon SDK

The use of this SDK is not mandatory for creating Stremio Addons. You can use any programming language that supports creating a HTTP server to make Stremio Addons. Refer to our protocol specification for details and examples.

One useful scenario of not using the SDK is when you need user specific data for you addon (for example, an API Autherntication Token), you can see an example of passing user specific data in the Addon URL here. This example uses Node.js and Express to get user specific data. (Update: the Addon SDK now supports user settings)

built with love and serious coding skills by the Stremio Team

Popular Publishing Projects
Popular Sdk Projects
Popular Content Management Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Programming Language
Video Streaming