Skip to content

Newz API ​

The Newz API provides endpoints for managing Usenet content through StremThru's store interface.

Feature Required

This API requires the newz feature to be enabled.

Enums ​

NewzStatus ​

ValueDescription
cachedContent is cached and ready
queuedQueued for download
downloadingCurrently downloading
processingProcessing after download
downloadedDownload complete
failedDownload failed
invalidInvalid NZB
unknownUnknown status

Endpoints ​

Add Newz ​

POST /v0/store/newz

Add an NZB for download.

Request (NZB link):

json
{
  "link": "string"
}

Request (NZB file upload):

multipart/form-data with an NZB file in the file field.

Response:

json
{
  "data": {
    "id": "string",
    "hash": "string",
    "status": "NewzStatus"
  }
}

List Newz ​

GET /v0/store/newz

List newz on the user's account.

Query Parameters:

ParameterDefaultRange
limit1001 – 500
offset00+

Response:

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

Get Newz ​

GET /v0/store/newz/{newzId}

Get a specific newz on the user's account.

Path Parameters:

  • newzId — Newz ID

Response:

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

Remove Newz ​

DELETE /v0/store/newz/{newzId}

Remove a newz from the user's account.

Path Parameters:

  • newzId — Newz ID

Check Newz ​

GET /v0/store/newz/check

Check NZB hashes.

Query Parameters:

  • hash — Comma-separated hashes (min 1, max 500)

Response:

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

POST /v0/store/newz/link/generate

Generate a direct link for a newz file link.

Request:

json
{
  "link": "string"
}

Response:

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

Note

The generated direct link should be valid for 12 hours.

Newznab Endpoint ​

GET /v0/newznab/api

Feature Required

vault feature needs to be enabled and configured properly.

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

Authentication: Uses the STREMTHRU_AUTH credentials, passed via the apikey query parameter.

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

WebDAV Endpoint ​

/v0/webdav/newz/

Feature Required

vault feature needs to be enabled and configured properly.

StremThru exposes a WebDAV endpoint for browsing and streaming Newz content using any WebDAV-compatible client.

Authentication: HTTP Basic Auth using STREMTHRU_AUTH credentials.

Directory Structure:

/v0/webdav/newz/
└── {newz-name}/
    └── {file-name}

File Filtering: Only files matching STREMTHRU_WEBDAV_FILE_EXT_FILTER are exposed.

SABnzbd Endpoint ​

GET /v0/sabnzbd/api

Feature Required

vault feature needs to be enabled and configured properly.

StremThru exposes a SABnzbd-compatible API endpoint that can be used with tools like Sonarr, Radarr, Prowlarr etc. to send NZBs to StremThru for processing.

Authentication: Uses the STREMTHRU_AUTH_SABNZBD credentials, passed via the apikey query parameter.

Supported Modes ​

addurl ​

Queue an NZB URL for download.

Query Parameters:

ParameterRequiredDescription
nameYesNZB URL to download
nzbnameNoDisplay name for the NZB
catNoCategory (* is treated as none)
priorityNoPriority integer (-100 treated as 0)
passwordNoPassword for the NZB

Success Response:

json
{
  "status": true,
  "nzo_ids": ["SABnzbd_nzo_<id>"]
}

Error Response:

json
{
  "status": false,
  "error": "<message>"
}