The Torrentio plugin connects Riven to Torrentio — a public Stremio addon that aggregates torrents from a wide range of indexers including YTS, EZTV, RARBG mirrors, The Pirate Bay, and more. No API key or self-hosted instance is required. Riven sends a single HTTP request per item using a configurable filter string, then parses the returned stream list intoDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/rivenmedia/riven-ts/llms.txt
Use this file to discover all available pages before exploring further.
{ infoHash → title } pairs that feed the torrent ranking engine.
What Torrentio does
When Riven raises aMediaItemScrapeRequested event, the Torrentio plugin:
- Resolves the Stremio-style identifier for the item via the shared
getStremioScrapeConfigutility. - Calls
GET /{filter}/stream/{type}/{identifier}.jsonontorrentio.strem.fun. - Parses each stream object, strips the seeder count suffix from the title (everything after
\n👤), and collectsinfoHash → rawTitlepairs. - Returns the full torrent map for the ranking engine to score and select from.
Torrentio requires every scraped item to have an IMDb ID. Items without an
imdbId are skipped with an error log entry.Enabling the plugin
Addtorrentio to RIVEN_SETTING__enabledPlugins:
Settings
The Torrentio filter string appended to every stream request URL. Controls sort order and which quality tiers are excluded from results. The default filter sorts by quality-adjusted size and removes 3D, 480p, screener, and cam releases.
Configuration
Full .env example
Customising the filter string
The filter string is passed directly as a URL path segment totorrentio.strem.fun. You can build a custom filter using the Torrentio web configurator at torrentio.strem.fun — click Install, copy the path from the generated addon URL, and paste it into the filter setting.
Common filter parameters
Common filter parameters
| Parameter | Description | Example |
|---|---|---|
sort | Sort order for results | sort=qualitysize, sort=seeders |
qualityfilter | Comma-separated qualities to exclude | qualityfilter=threed,480p,scr,cam |
providers | Limit to specific indexer providers | providers=yts,eztv |
limit | Maximum number of results per request | limit=20 |
%7C (URL-encoded |). Example:Supported media types
The Torrentio plugin uses Riven’s sharedgetStremioScrapeConfig utility to build identifiers, producing the same path format used across all Stremio addons:
Identifier format by media type
Identifier format by media type
| Media type | Torrentio endpoint pattern |
|---|---|
| Movie | /{filter}/stream/movie/{imdbId}.json |
| Show (all seasons) | /{filter}/stream/series/{imdbId}.json |
| Season | /{filter}/stream/series/{imdbId}:{seasonNumber}.json |
| Episode | /{filter}/stream/series/{imdbId}:{seasonNumber}:{episodeNumber}.json |
Rate limiting
The Torrentio plugin applies an in-process rate limiter of 150 requests per 60 seconds to stay within Torrentio’s acceptable use limits. Sincetorrentio.strem.fun is a public, unauthenticated service, avoid configuring very high scrape frequencies.
Combining with Comet
Torrentio and Comet serve complementary roles. Torrentio is the zero-config public option; Comet adds debrid-aware filtering from a self-hosted or private instance. Enabling both maximises torrent candidate coverage before the ranking step.Comet Plugin
Add Comet alongside Torrentio for debrid-checked, self-hosted torrent scraping.
Ranking Overview
Configure how Riven scores and selects from the combined scraper results.