Skip to content

Torz API

The Torz API provides endpoints for managing Torrent content through StremThru's store interface.

Enums

TorzStatus

ValueDescription
cachedContent is cached on the store
queuedQueued for download
downloadingCurrently downloading
processingProcessing after download
downloadedDownload complete
uploadingCurrently uploading
failedDownload failed
invalidInvalid Torrent
unknownUnknown status

Endpoints

Add Torz

POST /v0/store/torz

Add a torrent for download.

Request (magnet/torrent link):

json
{
  "link": "string"
}

Request (torrent file upload):

multipart/form-data with a torrent file in the file field.

Response:

json
{
  "data": {
    "id": "string",
    "hash": "string",
    "magnet": "string",
    "name": "string",
    "size": "int",
    "status": "TorzStatus",
    "private": "boolean",
    "files": [
      {
        "index": "int",
        "link": "string",
        "name": "string",
        "path": "string",
        "size": "int",
        "video_hash": "string"
      }
    ],
    "added_at": "datetime"
  }
}

If .status is downloaded, .files will contain the list of files.

List Torz

GET /v0/store/torz

List torz on the user's account.

Query Parameters:

ParameterDefaultRange
limit1001500
offset00+

Response:

json
{
  "data": {
    "items": [
      {
        "id": "string",
        "hash": "string",
        "name": "string",
        "size": "int",
        "status": "TorzStatus",
        "private": "boolean",
        "added_at": "datetime"
      }
    ],
    "total_items": "int"
  }
}

Get Torz

GET /v0/store/torz/{torzId}

Get a specific torz on the user's account.

Path Parameters:

  • torzId — Torz ID

Response:

json
{
  "data": {
    "id": "string",
    "hash": "string",
    "name": "string",
    "size": "int",
    "status": "TorzStatus",
    "private": "boolean",
    "files": [
      {
        "index": "int",
        "link": "string",
        "name": "string",
        "path": "string",
        "size": "int",
        "video_hash": "string"
      }
    ],
    "added_at": "datetime"
  }
}

Remove Torz

DELETE /v0/store/torz/{torzId}

Remove a torz from the user's account.

Path Parameters:

  • torzId — Torz ID

Check Torz

GET /v0/store/torz/check

Check torrent hashes.

Query Parameters:

  • hash — Comma-separated hashes (min 1, max 500)
  • sid — Stremio stream ID

Response:

json
{
  "data": {
    "items": [
      {
        "hash": "string",
        "magnet": "string",
        "status": "TorzStatus",
        "files": [
          {
            "index": "int",
            "link": "string",
            "name": "string",
            "path": "string",
            "size": "int",
            "video_hash": "string"
          }
        ]
      }
    ]
  }
}

If .status is cached, .files will contain the list of files.

Notes

  • For offcloud, the .files list is always empty.
  • If .files[].index is -1, the file index is unknown — rely on .name instead.
  • If .files[].size is -1, the file size is unknown.

POST /v0/store/torz/link/generate

Generate a direct link for a torz file link.

Request:

json
{
  "link": "string"
}

Response:

json
{
  "data": {
    "link": "string"
  }
}

Note

The generated direct link should be valid for 12 hours.

Torznab Endpoint

GET /v0/torzab/api

StremThru exposes a Torznab-compatible API endpoint that can be used with tools like Prowlarr, Radarr, Sonarr etc.

Output format: Controlled by the o query parameter (xml default, json supported).