Skip to content

Torz API ​

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

Feature Required

This API requires the torz feature to be enabled.

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
limit1001 – 500
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/torznab/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).