Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/rivenmedia/riven/llms.txt

Use this file to discover all available pages before exploring further.

Scrapers are responsible for finding torrent candidates for items in Riven’s queue. Multiple scrapers can be enabled simultaneously; Riven queries all active scrapers in parallel and aggregates the results before ranking. Each scraper has independent timeout, retry, and rate-limiting settings so a slow or unreachable scraper does not block the others. All scraper configuration lives under the scraping key in AppModel.

Global scraper settings

These fields control retry backoff, result bucketing, and anime-specific behaviour across all scrapers.
scraping.after_2
float
default:"2"
Hours to wait before re-scraping an item that has failed 2 times. This is the first backoff tier.
scraping.after_5
float
default:"6"
Hours to wait before re-scraping an item that has failed 5 times.
scraping.after_10
float
default:"24"
Hours to wait before re-scraping an item that has failed 10 times. This is the longest standard backoff.
scraping.enable_aliases
boolean
default:"true"
When enabled, Riven uses known alternative titles (aliases) for a movie or show when querying scrapers. This improves match rates for non-English titles.
scraping.bucket_limit
integer
default:"5"
Maximum number of torrent results to accept per quality bucket (e.g., 4K, 1080p, 720p). Capping per-bucket avoids overwhelming the ranking phase. Range: 0–20.
scraping.max_failed_attempts
integer
default:"0"
Maximum number of failed scrape attempts before Riven stops retrying an item entirely. Set to 0 to retry indefinitely (subject to backoff). Range: 0–10.
scraping.dubbed_anime_only
boolean
default:"false"
When enabled, only dubbed versions of anime content are considered during scraping.

Scrapers

Torrentio is a Stremio addon that aggregates torrent results from multiple indexers. It is the most popular scraper used with Riven and requires no local installation.
scraping.torrentio.enabled
boolean
default:"false"
Enable the Torrentio scraper.
scraping.torrentio.url
string
default:"\"http://torrentio.strem.fun\""
Base URL of the Torrentio instance. Use the default public instance or a self-hosted one.
scraping.torrentio.filter
string
Torrentio filter string appended to every request URL. The default filters out 480p, screener, and CAM releases and sorts by quality/size. Adjust by constructing your filter on the Torrentio website.
scraping.torrentio.timeout
integer
default:"30"
Request timeout in seconds. Minimum 1.
scraping.torrentio.retries
integer
default:"1"
Number of retries for failed requests.
scraping.torrentio.ratelimit
boolean
default:"true"
Enable automatic rate limiting. The public Torrentio endpoint allows approximately 150 requests per minute; Riven enforces this via a token-bucket limiter.
scraping.torrentio.proxy_url
string
default:"\"\""
Optional proxy URL for Torrentio requests. Useful if the public instance is geographically restricted.
Example configuration
{
  "scraping": {
    "torrentio": {
      "enabled": true,
      "url": "http://torrentio.strem.fun",
      "filter": "sort=qualitysize%7Cqualityfilter=480p,scr,cam",
      "timeout": 30,
      "retries": 1,
      "ratelimit": true,
      "proxy_url": ""
    }
  }
}
Comet is a self-hosted Stremio addon that queries your own debrid service for cached torrents.
scraping.comet.enabled
boolean
default:"false"
Enable the Comet scraper.
scraping.comet.url
string
default:"\"http://localhost:8000\""
URL of your Comet instance.
scraping.comet.timeout
integer
default:"30"
Request timeout in seconds. Minimum 1.
scraping.comet.retries
integer
default:"1"
Number of retries for failed requests.
scraping.comet.ratelimit
boolean
default:"true"
Enable rate limiting for Comet requests.
Jackett is a self-hosted torrent proxy that connects to a wide range of private and public indexers.
scraping.jackett.enabled
boolean
default:"false"
Enable the Jackett scraper.
scraping.jackett.url
string
default:"\"http://localhost:9117\""
URL of your Jackett instance.
scraping.jackett.api_key
string
default:"\"\""
Jackett API key. Find it on the Jackett dashboard under API Key.
scraping.jackett.timeout
integer
default:"30"
Request timeout in seconds for the main scrape call. Minimum 1.
scraping.jackett.retries
integer
default:"1"
Number of retries for failed requests.
scraping.jackett.ratelimit
boolean
default:"true"
Enable rate limiting.
scraping.jackett.infohash_fetch_timeout
integer
default:"30"
Timeout in seconds for the parallel infohash-resolution requests that Jackett may need to make to torrent sites. Minimum 1.
Prowlarr is a modern indexer manager and proxy compatible with the *arr suite.
scraping.prowlarr.enabled
boolean
default:"false"
Enable the Prowlarr scraper.
scraping.prowlarr.url
string
default:"\"http://localhost:9696\""
URL of your Prowlarr instance.
scraping.prowlarr.api_key
string
default:"\"\""
Prowlarr API key. Find it under Settings → General → API Key.
scraping.prowlarr.timeout
integer
default:"30"
Request timeout in seconds. Minimum 1.
scraping.prowlarr.retries
integer
default:"1"
Number of retries for failed requests.
scraping.prowlarr.ratelimit
boolean
default:"true"
Enable rate limiting.
scraping.prowlarr.infohash_fetch_timeout
integer
default:"30"
Timeout in seconds for parallel infohash-resolution requests. Minimum 1.
scraping.prowlarr.limiter_seconds
integer
default:"60"
Rate limiter cooldown period in seconds. Minimum 1.
Orionoid is a paid torrent and usenet search service with a structured API.
scraping.orionoid.enabled
boolean
default:"false"
Enable the Orionoid scraper.
scraping.orionoid.api_key
string
default:"\"\""
Orionoid API key. Obtain one from your Orionoid account.
scraping.orionoid.cached_results_only
boolean
default:"false"
When true, only return results that are already cached by a debrid service. Reduces API usage and speeds up scraping at the cost of coverage.
scraping.orionoid.timeout
integer
default:"30"
Request timeout in seconds. Minimum 1.
scraping.orionoid.retries
integer
default:"1"
Number of retries for failed requests.
scraping.orionoid.ratelimit
boolean
default:"true"
Enable rate limiting.
Orionoid parametersThe parameters sub-object fine-tunes the Orionoid query.
scraping.orionoid.parameters.video3d
boolean
default:"false"
Include 3D video results in search results.
scraping.orionoid.parameters.videoquality
string
default:"\"sd_hd8k\""
Video quality filter string passed directly to the Orionoid API.
scraping.orionoid.parameters.limitcount
integer
default:"5"
Maximum number of results to request from Orionoid per query. Minimum 1.
Zilean is a self-hosted DMM (Debrid Media Manager) hash scraper.
scraping.zilean.enabled
boolean
default:"false"
Enable the Zilean scraper.
scraping.zilean.url
string
default:"\"http://localhost:8181\""
URL of your Zilean instance.
scraping.zilean.timeout
integer
default:"30"
Request timeout in seconds. Minimum 1.
scraping.zilean.retries
integer
default:"1"
Number of retries for failed requests.
scraping.zilean.ratelimit
boolean
default:"true"
Enable rate limiting.
MediaFusion is a self-hosted Stremio addon with multi-provider torrent aggregation.
scraping.mediafusion.enabled
boolean
default:"false"
Enable the Mediafusion scraper.
scraping.mediafusion.url
string
default:"\"http://localhost:8000\""
URL of your Mediafusion instance.
scraping.mediafusion.timeout
integer
default:"30"
Request timeout in seconds. Minimum 1.
scraping.mediafusion.retries
integer
default:"1"
Number of retries for failed requests.
scraping.mediafusion.ratelimit
boolean
default:"true"
Enable rate limiting.
A RARBG-compatible scraper endpoint. Configuration lives at scraping.rarbg.
scraping.rarbg.enabled
boolean
default:"false"
Enable the RARBG scraper.
scraping.rarbg.url
string
default:"\"https://therarbg.to\""
URL of the RARBG-compatible endpoint.
scraping.rarbg.timeout
integer
default:"30"
Request timeout in seconds. Minimum 1.
scraping.rarbg.retries
integer
default:"1"
Number of retries for failed requests.
scraping.rarbg.ratelimit
boolean
default:"true"
Enable rate limiting.
AIOStreams is a self-hosted Stremio addon aggregator. Configure an instance URL along with authentication credentials.
scraping.aiostreams.enabled
boolean
default:"false"
Enable the AIOStreams scraper.
scraping.aiostreams.url
string
default:"\"http://localhost:8000\""
URL of your AIOStreams instance.
scraping.aiostreams.timeout
integer
default:"30"
Request timeout in seconds. Minimum 1.
scraping.aiostreams.retries
integer
default:"1"
Number of retries for failed requests.
scraping.aiostreams.ratelimit
boolean
default:"true"
Enable rate limiting.
scraping.aiostreams.uuid
string
default:"\"\""
User UUID for AIOStreams authentication.
scraping.aiostreams.password
string
default:"\"\""
User password for AIOStreams authentication.
scraping.aiostreams.proxy_url
string
default:"\"\""
Optional proxy URL for AIOStreams requests.
The following is a minimal scraping configuration using only Torrentio, which is the simplest option requiring no local services:
{
  "scraping": {
    "after_2": 2,
    "after_5": 6,
    "after_10": 24,
    "enable_aliases": true,
    "bucket_limit": 5,
    "max_failed_attempts": 0,
    "dubbed_anime_only": false,
    "torrentio": {
      "enabled": true,
      "url": "http://torrentio.strem.fun",
      "filter": "sort=qualitysize%7Cqualityfilter=480p,scr,cam",
      "timeout": 30,
      "retries": 1,
      "ratelimit": true,
      "proxy_url": ""
    }
  }
}
Torrentio requires a valid IMDB ID for every item it scrapes. Riven automatically looks up IMDB IDs for items that only have a TMDB or TVDB identifier before passing them to Torrentio.

Build docs developers (and LLMs) love