> ## Documentation Index
> Fetch the complete documentation index at: https://docs.torrin.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Torrin as a search indexer (Newznab + Torznab)

> Use Torrin's built-in search as a Newznab (usenet) or Torznab (torrent) indexer in Prowlarr, NZBHydra2, Jackett, and the *arr stack.

Torrin can present its search as a **Newznab** (usenet) and a **Torznab**
(torrent) indexer, so Prowlarr, NZBHydra2, Jackett, AIOStreams, and the \*arr apps
can search Torrin the same way they'd search any indexer. It's the companion to
the [download client](/self-hosting/download-clients) integration: use both
together and an \*arr app can **search *and* grab** entirely through Torrin.

<Note>
  Two endpoints: **`/newznab`** for usenet and **`/torznab`** for torrents. Add
  whichever you need (or both). Torznab requires the operator to enable it, see
  [Torznab requirements](#requirements-torznab).
</Note>

## What you get

* A standard **Newznab** endpoint backed by Torrin's usenet search — your own
  indexers (BYOK) and the built-in indexer both flow through it.
* A standard **Torznab** endpoint backed by Torrin's torrent search — results are
  returned as magnets, and anything already in Torrin's cache is tagged so your
  \*arr app can prefer instant content.
* Works anywhere "Generic Newznab" / "Generic Torznab" is supported (Prowlarr,
  NZBHydra2, Jackett, the \*arr apps, AIOStreams).

## Newznab (usenet)

### Requirements

* A plan with usenet search, and at least one indexer available to your account
  (a BYOK Newznab indexer or the built-in one enabled) — the same gate as
  searching inside Torrin.
* Your Torrin **API key**.

### Add Torrin in Prowlarr

**Settings → Indexers → Add Indexer → Generic Newznab**, then set:

| Field | Value |
| - | - |
| URL | `https://<your-torrin-host>/newznab` (e.g. `https://api.torrin.app/newznab`) |
| API Path | `/api` (the default) |
| API Key | your Torrin **API key** |
| Categories | Movies (2000) and/or TV (5000) |

Hit **Test** — it should go green. The same URL + key work in **NZBHydra2** (add a
"Newznab" indexer), **Jackett**, or directly in any \*arr app's indexer settings.

## Torznab (torrents)

### Requirements

* The operator must enable it by setting `COMET_URL` (and `COMET_SEARCH_KEY`) on
  the API service, see [Configuration](/self-hosting/configuration). Until then
  the endpoint returns "not available".
* Any **paid plan**, and your Torrin **API key**.

### Add Torrin in Prowlarr

**Settings → Indexers → Add Indexer → Generic Torznab**, then set:

| Field | Value |
| - | - |
| URL | `https://<your-torrin-host>/torznab` (e.g. `https://api.torrin.app/torznab`) |
| API Path | `/api` (the default) |
| API Key | your Torrin **API key** |
| Categories | Movies (2000) and/or TV (5000) |

Hit **Test** — it should go green. Results carry seeders, size, and infohash, and
cached releases get a `[CACHED]` tag on the title plus higher ranking. To
auto-prefer them, add a Custom Format in Sonarr/Radarr matching `CACHED` and give
it a positive score.

## How it works

<Steps>
  <Step title="The app searches Torrin">
    Prowlarr/\*arr calls `/newznab/api` or `/torznab/api` with `t=search|tvsearch|movie`
    and your API key. Supported params: `q`, `imdbid`, `season`, `ep`.
  </Step>

  <Step title="Torrin runs the search">
    For usenet, Torrin searches your configured indexers (BYOK + built-in). For
    torrents, it runs its torrent search and flags anything already in the cache.
  </Step>

  <Step title="Torrin returns results">
    Usenet results come back as a Newznab RSS feed. Torrent results come back as a
    Torznab feed of magnets, cached-first, with `[CACHED]` tags on releases
    already in Torrin.
  </Step>

  <Step title="The app grabs a result">
    On a usenet grab the link resolves to the real `.nzb` through Torrin; a torrent
    grab hands the magnet to the download client. Either way it works with any
    client, including [Torrin itself](/self-hosting/download-clients).
  </Step>
</Steps>

## Endpoints

| Endpoint | Purpose |
| - | - |
| `GET /newznab/api?t=caps` | Usenet capabilities (no key required) |
| `GET /newznab/api?t=search&q=&apikey=` | Usenet text search |
| `GET /newznab/api?t=tvsearch&imdbid=&season=&ep=&apikey=` | Usenet TV search |
| `GET /newznab/api?t=movie&imdbid=&apikey=` | Usenet movie search |
| `GET /newznab/getnzb?id=&apikey=` | NZB download passthrough |
| `GET /torznab/api?t=caps` | Torrent capabilities (no key required) |
| `GET /torznab/api?t=search&q=&apikey=` | Torrent text search |
| `GET /torznab/api?t=tvsearch&imdbid=&season=&ep=&apikey=` | Torrent TV search |
| `GET /torznab/api?t=movie&imdbid=&apikey=` | Torrent movie search |

<Tip>
  Pair this with the [Sonarr/Radarr download client](/self-hosting/download-clients)
  to search **and** download through Torrin end-to-end.
</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.