# Torrin > Self-hostable debrid + streaming service. Add a magnet, NZB, or link, get an instant HTTPS stream. - [Introduction](https://docs.torrin.app/self-hosting/introduction.md): What Torrin is and how it works. - [Requirements](https://docs.torrin.app/self-hosting/requirements.md): What you need before installing Torrin. - [Quick start](https://docs.torrin.app/self-hosting/quickstart.md): Run a Torrin instance with Docker Compose. - [Configuration](https://docs.torrin.app/self-hosting/configuration.md): Environment variables for a self-hosted instance. - [Storage](https://docs.torrin.app/self-hosting/storage.md): Where cached content lives and how eviction works. - [VPN](https://docs.torrin.app/self-hosting/vpn.md): Route downloads through a VPN so your host IP is never exposed. - [Exposing publicly](https://docs.torrin.app/self-hosting/exposing.md): Put Torrin behind HTTPS so you can use it remotely and with Stremio. - [Stremio addon](https://docs.torrin.app/self-hosting/stremio.md): Stream your Torrin instance from Stremio. - [WebDAV](https://docs.torrin.app/self-hosting/webdav.md): Mount your Torrin library in VLC, Infuse, Kodi, or a file manager. - [Sonarr / Radarr download client](https://docs.torrin.app/self-hosting/download-clients.md): Use Torrin as a drop-in download client in an *arr stack. - [Torrin as a search indexer (Newznab + Torznab)](https://docs.torrin.app/self-hosting/search-indexer.md): Use Torrin's built-in search as a Newznab (usenet) or Torznab (torrent) indexer in Prowlarr, NZBHydra2, Jackett, and the *arr stack. - [Bring Your Own Storage](https://docs.torrin.app/self-hosting/byos.md): Pipe content to your own cloud provider via rclone. - [Accounts & plans](https://docs.torrin.app/self-hosting/accounts.md): How users sign up and how plan limits work. - [Updating](https://docs.torrin.app/self-hosting/updating.md): Move your instance to a newer version. - [Troubleshooting](https://docs.torrin.app/self-hosting/troubleshooting.md): Verify your instance and fix common issues. - [API Overview](https://docs.torrin.app/api-reference/introduction.md): Torrin's HTTP API — RealDebrid-compatible, StremThru store, and public endpoints. - [How the API works](https://docs.torrin.app/api-reference/concepts.md): Torrin's model — jobs, the shared cache, and signed streams — and how the two API dialects map onto it. - [Authentication](https://docs.torrin.app/api-reference/authentication.md): How to get and use your torrin API key. - [Get the current account](https://docs.torrin.app/api-reference/account/get-the-current-account.md) - [Update email](https://docs.torrin.app/api-reference/account/update-email.md) - [Delete the account](https://docs.torrin.app/api-reference/account/delete-the-account.md) - [Pause the subscription](https://docs.torrin.app/api-reference/account/pause-the-subscription.md): Freezes the remaining time on the subscription so it isn't consumed while unused. - [Resume the subscription](https://docs.torrin.app/api-reference/account/resume-the-subscription.md) - [Account audit log](https://docs.torrin.app/api-reference/account/account-audit-log.md) - [Regenerate the API key](https://docs.torrin.app/api-reference/account/regenerate-the-api-key.md): Rotates the API key. The old key stops working immediately. - [Watch history](https://docs.torrin.app/api-reference/account/watch-history.md) - [Referral code and stats](https://docs.torrin.app/api-reference/account/referral-code-and-stats.md) - [Your usage stats](https://docs.torrin.app/api-reference/account/your-usage-stats.md) - [End-of-month recap](https://docs.torrin.app/api-reference/account/end-of-month-recap.md): A year-in-review style recap. Available only in the last 7 days of each month. - [Monthly ingest usage](https://docs.torrin.app/api-reference/account/monthly-ingest-usage.md): Your uncached ingest this calendar month against your plan's cap. - [Log in with email and password](https://docs.torrin.app/api-reference/auth/log-in-with-email-and-password.md): Returns a challenge to complete at /api/auth/login/verify with the emailed or authenticator code. - [Log in with an API key](https://docs.torrin.app/api-reference/auth/log-in-with-an-api-key.md) - [Complete a login challenge](https://docs.torrin.app/api-reference/auth/complete-a-login-challenge.md) - [Set or change your password](https://docs.torrin.app/api-reference/auth/set-or-change-your-password.md) - [Begin two-factor enrollment](https://docs.torrin.app/api-reference/auth/begin-two-factor-enrollment.md): Returns a secret / otpauth URI to add to an authenticator app, then confirm at /api/auth/2fa/confirm. - [Confirm two-factor enrollment](https://docs.torrin.app/api-reference/auth/confirm-two-factor-enrollment.md) - [Verify a two-factor code](https://docs.torrin.app/api-reference/auth/verify-a-two-factor-code.md) - [Disable two-factor](https://docs.torrin.app/api-reference/auth/disable-two-factor.md) - [List API keys](https://docs.torrin.app/api-reference/auth/list-api-keys.md) - [Create an API key](https://docs.torrin.app/api-reference/auth/create-an-api-key.md) - [Revoke an API key](https://docs.torrin.app/api-reference/auth/revoke-an-api-key.md) - [Add anything (auto-detected)](https://docs.torrin.app/api-reference/jobs/add-anything-auto-detected.md): One endpoint that detects what you send and routes it automatically, so nothing has to pick a type. Send a magnet URI, a 40-char info-hash, or a supported web/file-host URL as the raw request body, or upload a `.torrent` or `.nzb` file as `multipart/form-data`. Cached content returns `200` with a re… - [Add a job](https://docs.torrin.app/api-reference/jobs/add-a-job.md): Add a magnet, info-hash, or a supported web/file-host URL. Cached content returns `200` with a ready job (stream URLs populated); a new download returns `202`. - [List jobs](https://docs.torrin.app/api-reference/jobs/list-jobs.md) - [Get a job](https://docs.torrin.app/api-reference/jobs/get-a-job.md) - [Job progress](https://docs.torrin.app/api-reference/jobs/job-progress.md): Lightweight status/progress for polling an active download. - [Download all files as a zip](https://docs.torrin.app/api-reference/jobs/download-all-files-as-a-zip.md) - [Retry a job](https://docs.torrin.app/api-reference/jobs/retry-a-job.md): Requeues a failed or evicted job. - [Recheck a job](https://docs.torrin.app/api-reference/jobs/recheck-a-job.md): Re-verifies a completed torrent or Usenet download. - [Sign stream URLs](https://docs.torrin.app/api-reference/jobs/sign-stream-urls.md): Returns fresh signed, geo-routed stream URLs for a completed job's files. - [Delete a job](https://docs.torrin.app/api-reference/jobs/delete-a-job.md) - [Add a file-host link](https://docs.torrin.app/api-reference/jobs/add-a-file-host-link.md): Unrestrict a supported file-host URL. Requires a paid plan. - [Add an NZB](https://docs.torrin.app/api-reference/jobs/add-an-nzb.md): Upload an `.nzb` file body to download from Usenet. - [Upload a .torrent file](https://docs.torrin.app/api-reference/jobs/upload-a-torrent-file.md): Upload a .torrent (multipart field `torrent`, max 5 MiB) to start a download or a private-tracker seed. - [Grab an HDEncode release](https://docs.torrin.app/api-reference/jobs/grab-an-hdencode-release.md): Starts a download of a chosen HDEncode release. Paid plans only. - [Grab a scene-rls release](https://docs.torrin.app/api-reference/jobs/grab-a-scene-rls-release.md): Starts a download of a chosen scene-rls release. Paid plans only. - [Import hashes from your debrid library](https://docs.torrin.app/api-reference/jobs/import-hashes-from-your-debrid-library.md): Bulk-import provider hashes as Torrin download jobs. Paid plans only. Partial failures are reported in `errors`, not the status code. - [Search the cache](https://docs.torrin.app/api-reference/search-&-availability/search-the-cache.md): The public search API. Give an IMDB id (or a title) and get back everything torrin has cached for it, ready to stream — build addons, tools, whatever you want. One person's grab is cached for everyone. Requires an active monthly, yearly, or lifetime plan. - [Check one hash](https://docs.torrin.app/api-reference/search-&-availability/check-one-hash.md): Whether a single info-hash is cached in torrin's shared store. - [Check many hashes](https://docs.torrin.app/api-reference/search-&-availability/check-many-hashes.md) - [Queue a metadata scrape](https://docs.torrin.app/api-reference/search-&-availability/queue-a-metadata-scrape.md): Asks torrin to fetch metadata for the given hashes in the background. - [Search Usenet](https://docs.torrin.app/api-reference/search-&-availability/search-usenet.md): Searches the configured Usenet indexer. Requires an indexer to be set. - [Grab a Usenet result](https://docs.torrin.app/api-reference/search-&-availability/grab-a-usenet-result.md) - [Newznab indexer](https://docs.torrin.app/api-reference/search-&-availability/newznab-indexer.md): Exposes Torrin's Usenet search as a Newznab indexer for Prowlarr, NZBHydra2, Jackett, and the *arr apps. Add as a "Generic Newznab" indexer with base URL `/newznab` and your Torrin API key. Returns a Newznab RSS/XML feed (or caps XML). - [Newznab NZB download](https://docs.torrin.app/api-reference/search-&-availability/newznab-nzb-download.md): Resolves a search result to its .nzb file (this is the download link inside the feed). - [Torznab indexer](https://docs.torrin.app/api-reference/search-&-availability/torznab-indexer.md): Exposes Torrin's torrent search as a Torznab indexer for Prowlarr, Jackett, and the *arr apps. Add as a "Generic Torznab" indexer with base URL `/torznab` and your Torrin API key. Returns a Torznab RSS/XML feed of magnets (or caps XML). Cached releases are tagged and ranked first. Requires any paid… - [Browse your debrid library](https://docs.torrin.app/api-reference/search-&-availability/browse-your-debrid-library.md): Paginated view of your existing library on a debrid provider (20 per page). Paid plans only. - [Search HDEncode](https://docs.torrin.app/api-reference/search-&-availability/search-hdencode.md) - [Search scene-rls](https://docs.torrin.app/api-reference/search-&-availability/search-scene-rls.md) - [Bring your own key (BYOK)](https://docs.torrin.app/api-reference/byok.md): Add your own RealDebrid, AllDebrid, Premiumize, or TorBox key. - [Get RealDebrid key status](https://docs.torrin.app/api-reference/debrid-keys/get-realdebrid-key-status.md) - [Set RealDebrid key](https://docs.torrin.app/api-reference/debrid-keys/set-realdebrid-key.md) - [Remove RealDebrid key](https://docs.torrin.app/api-reference/debrid-keys/remove-realdebrid-key.md) - [Get AllDebrid key status](https://docs.torrin.app/api-reference/debrid-keys/get-alldebrid-key-status.md) - [Set AllDebrid key](https://docs.torrin.app/api-reference/debrid-keys/set-alldebrid-key.md) - [Remove AllDebrid key](https://docs.torrin.app/api-reference/debrid-keys/remove-alldebrid-key.md) - [Get Premiumize key status](https://docs.torrin.app/api-reference/debrid-keys/get-premiumize-key-status.md) - [Set Premiumize key](https://docs.torrin.app/api-reference/debrid-keys/set-premiumize-key.md) - [Remove Premiumize key](https://docs.torrin.app/api-reference/debrid-keys/remove-premiumize-key.md) - [Get TorBox key status](https://docs.torrin.app/api-reference/debrid-keys/get-torbox-key-status.md) - [Set TorBox key](https://docs.torrin.app/api-reference/debrid-keys/set-torbox-key.md) - [Remove TorBox key](https://docs.torrin.app/api-reference/debrid-keys/remove-torbox-key.md) - [Debrid usage](https://docs.torrin.app/api-reference/debrid-keys/debrid-usage.md): Reports which providers are configured and how they've been used. - [Bring your own storage (BYOS)](https://docs.torrin.app/api-reference/byos.md): Stream from your own cloud — S3 or an rclone remote. - [Get storage status](https://docs.torrin.app/api-reference/storage/get-storage-status.md) - [Configure storage (S3-style)](https://docs.torrin.app/api-reference/storage/configure-storage-s3-style.md): Set the primary BYOS credentials directly (S3-compatible bucket, or an rclone backend). For pasting a full rclone config block, use `/api/storage/connect` instead. - [Disconnect storage](https://docs.torrin.app/api-reference/storage/disconnect-storage.md) - [Connect storage](https://docs.torrin.app/api-reference/storage/connect-storage.md): Connect a bring-your-own-storage backend (S3-compatible or an rclone remote). Content you stream is written to your storage, encrypted, and served back through torrin. - [Set storage pool](https://docs.torrin.app/api-reference/storage/set-storage-pool.md): Add providers to the storage pool and set placement. Submitted providers are merged into the existing pool. `union_policy` is `epmfs` (spread by free space) or `all` (mirror). - [Remove pool provider](https://docs.torrin.app/api-reference/storage/remove-pool-provider.md): Remove one provider from the pool by its index (0-based over the added providers). - [Export rclone config](https://docs.torrin.app/api-reference/storage/export-rclone-config.md): Download an rclone.conf for your storage so you can mount it yourself. Holds your access keys and encryption passphrase, so keep it private. - [Set storage cleanup rules](https://docs.torrin.app/api-reference/storage/set-storage-cleanup-rules.md): Auto-clean your own storage by age or size. 0 disables a rule. - [Remove content from your storage](https://docs.torrin.app/api-reference/storage/remove-content-from-your-storage.md): Remove one release from your storage. It stays in your library and is served from the shared cache if still available. - [Start storage OAuth](https://docs.torrin.app/api-reference/storage/start-storage-oauth.md): Begins the OAuth flow for a provider that needs it (e.g. Google Drive). - [List WebDAV naming overrides](https://docs.torrin.app/api-reference/webdav/list-webdav-naming-overrides.md) - [Set a WebDAV naming override](https://docs.torrin.app/api-reference/webdav/set-a-webdav-naming-override.md): Changes how a release's folder is named in the WebDAV library. - [Usenet](https://docs.torrin.app/api-reference/usenet.md): Add a Usenet provider and indexer, search, and grab. - [Get Usenet provider status](https://docs.torrin.app/api-reference/usenet/get-usenet-provider-status.md) - [Set Usenet provider](https://docs.torrin.app/api-reference/usenet/set-usenet-provider.md) - [Remove Usenet provider](https://docs.torrin.app/api-reference/usenet/remove-usenet-provider.md) - [Test the Usenet provider](https://docs.torrin.app/api-reference/usenet/test-the-usenet-provider.md) - [Check cached Usenet releases](https://docs.torrin.app/api-reference/usenet/check-cached-usenet-releases.md): Returns already-cached, playable files for a title. - [List your Usenet providers](https://docs.torrin.app/api-reference/usenet/list-your-usenet-providers.md) - [Add a Usenet provider](https://docs.torrin.app/api-reference/usenet/add-a-usenet-provider.md) - [Test Usenet provider credentials](https://docs.torrin.app/api-reference/usenet/test-usenet-provider-credentials.md) - [Update a Usenet provider](https://docs.torrin.app/api-reference/usenet/update-a-usenet-provider.md) - [Delete a Usenet provider](https://docs.torrin.app/api-reference/usenet/delete-a-usenet-provider.md) - [Enable or disable a Usenet provider](https://docs.torrin.app/api-reference/usenet/enable-or-disable-a-usenet-provider.md) - [Get indexer status](https://docs.torrin.app/api-reference/usenet/get-indexer-status.md) - [Set indexer](https://docs.torrin.app/api-reference/usenet/set-indexer.md) - [Remove indexer](https://docs.torrin.app/api-reference/usenet/remove-indexer.md) - [Test an indexer](https://docs.torrin.app/api-reference/usenet/test-an-indexer.md) - [List your Usenet indexers](https://docs.torrin.app/api-reference/usenet/list-your-usenet-indexers.md) - [Add a Usenet indexer](https://docs.torrin.app/api-reference/usenet/add-a-usenet-indexer.md): Add a Newznab indexer (paid plans only). Up to 8 per account. - [Test a Usenet indexer](https://docs.torrin.app/api-reference/usenet/test-a-usenet-indexer.md): Validates and live-tests an indexer config before saving. - [Edit a Usenet indexer](https://docs.torrin.app/api-reference/usenet/edit-a-usenet-indexer.md) - [Delete a Usenet indexer](https://docs.torrin.app/api-reference/usenet/delete-a-usenet-indexer.md) - [Enable or disable a Usenet indexer](https://docs.torrin.app/api-reference/usenet/enable-or-disable-a-usenet-indexer.md) - [Built-in indexer state](https://docs.torrin.app/api-reference/usenet/built-in-indexer-state.md): The built-in Torrin indexer's availability (needs Standard/Pro) and on/off state. - [Toggle the built-in indexer](https://docs.torrin.app/api-reference/usenet/toggle-the-built-in-indexer.md) - [Cairn](https://docs.torrin.app/api-reference/cairn.md): Permanent, Usenet-backed archive of your cached content. - [List archives](https://docs.torrin.app/api-reference/cairn/list-archives.md): Items you've archived to torrin's permanent Usenet-backed store. - [Archive an item](https://docs.torrin.app/api-reference/cairn/archive-an-item.md): Posts a cached item to Usenet so it survives cache eviction. - [Remove an archive](https://docs.torrin.app/api-reference/cairn/remove-an-archive.md) - [Restore from archive](https://docs.torrin.app/api-reference/cairn/restore-from-archive.md): Re-hydrates an archived item back into the live cache from Usenet. - [List feeds](https://docs.torrin.app/api-reference/rss/list-feeds.md) - [Add a feed](https://docs.torrin.app/api-reference/rss/add-a-feed.md): Adds an RSS feed; matching items are auto-added as jobs. - [Update a feed](https://docs.torrin.app/api-reference/rss/update-a-feed.md) - [Delete a feed](https://docs.torrin.app/api-reference/rss/delete-a-feed.md) - [Enable or disable a feed](https://docs.torrin.app/api-reference/rss/enable-or-disable-a-feed.md) - [List feed tags](https://docs.torrin.app/api-reference/rss/list-feed-tags.md) - [Telegram link status](https://docs.torrin.app/api-reference/telegram/telegram-link-status.md) - [Generate a Telegram link code](https://docs.torrin.app/api-reference/telegram/generate-a-telegram-link-code.md): Returns a short-lived code (15 min) to link the account from the Telegram bot. - [Unlink Telegram](https://docs.torrin.app/api-reference/telegram/unlink-telegram.md) - [Start a crypto checkout](https://docs.torrin.app/api-reference/billing/start-a-crypto-checkout.md): Creates a Bitcart invoice; poll the returned invoice id for payment status. - [Get a crypto invoice](https://docs.torrin.app/api-reference/billing/get-a-crypto-invoice.md): Poll the status of a crypto checkout invoice. - [Get an invoice payment address](https://docs.torrin.app/api-reference/billing/get-an-invoice-payment-address.md): Returns a pay-to address for the chosen coin on a crypto invoice. - [Start a card checkout](https://docs.torrin.app/api-reference/billing/start-a-card-checkout.md): Creates a Bachs hosted checkout and returns its URL. - [Open the Bachs billing portal](https://docs.torrin.app/api-reference/billing/open-the-bachs-billing-portal.md) - [Redeem a code](https://docs.torrin.app/api-reference/billing/redeem-a-code.md): Redeem a reseller/gift code to activate a plan. - [Get wallet balance](https://docs.torrin.app/api-reference/wallet/get-wallet-balance.md) - [Top up the wallet](https://docs.torrin.app/api-reference/wallet/top-up-the-wallet.md): Starts a checkout to add credit to your balance. - [Buy a plan from wallet balance](https://docs.torrin.app/api-reference/wallet/buy-a-plan-from-wallet-balance.md) - [Get the current user](https://docs.torrin.app/api-reference/realdebrid-compatible/get-the-current-user.md) - [List torrents](https://docs.torrin.app/api-reference/realdebrid-compatible/list-torrents.md) - [Add a magnet](https://docs.torrin.app/api-reference/realdebrid-compatible/add-a-magnet.md) - [Get torrent info](https://docs.torrin.app/api-reference/realdebrid-compatible/get-torrent-info.md) - [Select files](https://docs.torrin.app/api-reference/realdebrid-compatible/select-files.md): Compatibility no-op — torrin auto-selects video files server-side. - [Delete a torrent](https://docs.torrin.app/api-reference/realdebrid-compatible/delete-a-torrent.md) - [Instant availability](https://docs.torrin.app/api-reference/realdebrid-compatible/instant-availability.md): Returns a key for every hash — a `rd` array when cached, `{}` when not. - [Unrestrict a link](https://docs.torrin.app/api-reference/realdebrid-compatible/unrestrict-a-link.md): Turns a `torrin://` file reference into a signed HTTPS URL valid 24h. - [Get store user](https://docs.torrin.app/api-reference/stremthru-store/get-store-user.md) - [List magnets](https://docs.torrin.app/api-reference/stremthru-store/list-magnets.md) - [Check magnets](https://docs.torrin.app/api-reference/stremthru-store/check-magnets.md): Per-magnet status: cached, acceleratable, or unknown. - [Add a magnet](https://docs.torrin.app/api-reference/stremthru-store/add-a-magnet.md) - [Get a magnet](https://docs.torrin.app/api-reference/stremthru-store/get-a-magnet.md) - [Delete a magnet](https://docs.torrin.app/api-reference/stremthru-store/delete-a-magnet.md) - [Generate link](https://docs.torrin.app/api-reference/stremthru-store/generate-link.md) - [Check cached NZBs](https://docs.torrin.app/api-reference/stremthru-store/check-cached-nzbs.md): StremThru usenet store. torz aliases (/v0/store/torz/*) mirror the magnet store. - [List your NZB store items](https://docs.torrin.app/api-reference/stremthru-store/list-your-nzb-store-items.md) - [Add an NZB](https://docs.torrin.app/api-reference/stremthru-store/add-an-nzb.md): Upload an .nzb file (multipart field "file") or pass JSON with a "link" to fetch. - [Get an NZB store item](https://docs.torrin.app/api-reference/stremthru-store/get-an-nzb-store-item.md) - [Remove an NZB store item](https://docs.torrin.app/api-reference/stremthru-store/remove-an-nzb-store-item.md) - [Generate a download link for an NZB store item](https://docs.torrin.app/api-reference/stremthru-store/generate-a-download-link-for-an-nzb-store-item.md) - [qBittorrent login](https://docs.torrin.app/api-reference/download-client/qbittorrent-login.md): qBittorrent WebUI auth. Send your Torrin API key as the username or password. Returns the text "Ok." and a session cookie, matching qBittorrent so Sonarr/Radarr connect unchanged. See the Download client guide. - [qBittorrent add torrent](https://docs.torrin.app/api-reference/download-client/qbittorrent-add-torrent.md): Adds a magnet (urls field) or an uploaded .torrent (torrents field), optionally under a category. Torrin ingests it through its normal pipeline. - [qBittorrent list torrents](https://docs.torrin.app/api-reference/download-client/qbittorrent-list-torrents.md): Returns your jobs in qBittorrent's torrent-list shape so the *arr app can track progress and detect completion. - [qBittorrent delete torrent](https://docs.torrin.app/api-reference/download-client/qbittorrent-delete-torrent.md) - [SABnzbd API](https://docs.torrin.app/api-reference/download-client/sabnzbd-api.md): SABnzbd-compatible endpoint (also served at /sabnzbd/api). The mode parameter selects the function. Authenticate with apikey set to your Torrin API key. - [SABnzbd API (file upload)](https://docs.torrin.app/api-reference/download-client/sabnzbd-api-file-upload.md): SABnzbd addfile. POST an .nzb as multipart field "name" with mode=addfile. - [Create an account](https://docs.torrin.app/api-reference/public/create-an-account.md) - [Public instance configuration](https://docs.torrin.app/api-reference/public/public-instance-configuration.md): Feature flags and settings the web app reads before login. - [List plans](https://docs.torrin.app/api-reference/public/list-plans.md) - [List supported file hosters](https://docs.torrin.app/api-reference/public/list-supported-file-hosters.md) - [List supported link sites](https://docs.torrin.app/api-reference/public/list-supported-link-sites.md) - [Public instance stats](https://docs.torrin.app/api-reference/public/public-instance-stats.md) - [Platform-wide wrapped stats](https://docs.torrin.app/api-reference/public/platform-wide-wrapped-stats.md) ## OpenAPI Specs - [openapi](/api-reference/openapi.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.