Indexers#

Indexers are used to monitor for new releases of media on external trackers.

Prowlarr acts as a proxy for configured indexer sites. Configured applications will subscribe to Prowlarr, which will perform searches on the applications' behalf, and return the results.

The applications will then decide whether or not to fetch the release, and if so, schedule grabs with their own configured download clients.

For more information on correctly setting up Prowlarr indexers, refer to the Prowlarr indexers configuration guide on WikiArr.

In Buildarr, Prowlarr indexers are configured under the following structure:

prowlarr:
  settings:
    indexers:
      indexers:
        delete_unmanaged: false  # Do not delete indexers not setup by Buildarr by default.
        definitions:
          "Indexer1":
            type: nyaasi
            ...
          "Indexer2":
            type: 1337x
            ...
delete_unmanaged: bool = False class-attribute instance-attribute #

Automatically delete indexers not configured by Buildarr.

If unsure, leave set at the default of false.

definitions: Dict[str, Indexer] = {} class-attribute instance-attribute #

Indexers to manage via Buildarr are defined here.

Adding indexers to Buildarr#

Due to the sheer number of possible indexer types in Prowlarr (583 at the time of writing), indexers are expressed differently in Buildarr compared to other resource types.

Indexer configurations are partly composed of individually defined configuration attributes common to all indexer types, and partly composed of dynamically parsed fields unique to each indexer type.

The easiest way to add an indexer to the Buildarr configuration file is to configure it manually in Prowlarr first, and then export the configuration using buildarr prowlarr dump-config.

The resulting indexer configuration will have all possible attributes defined on it, as shown below. Most of these are not required, so it is a good idea to only use configuration attributes that are actually changed from default.

prowlarr:
  settings:
    indexers:
      indexers:
        definitions:
        1337x:
          enable: false
          fields:
            baseUrl: null
            definitionFile: 1337x
            downloadlink: iTorrents.org
            downloadlink2: magnet
            sort: created
            torrentBaseSettings.seedRatio: null
            torrentBaseSettings.seedTime: null
            type: desc
          grab_limit: null
          indexer_priority: 1
          query_limit: null
          redirect: false
          secret_fields: {}
          sync_profile: Standard
          tags: []
          type: 1337x

Indexer configuration format#

The Prowlarr plugin employs a generic configuration structure for defining indexers, where attributes common to all indexer types are individually defined, and fields unique to each indexer type are set using Prowlarr's internal representation.

Below is an example of two indexers being configured in this manner. Type-specific configuration attribute are defined under the fields attribute.

There is also a secret_fields attribute for defining sensitive information such as API keys.

prowlarr:
  settings:
    indexers:
      indexers:
        definitions:
          "1337x":
            type: "1337x"
            enable: true
            sync_profile: "Standard"
            redirect: false
            priority: 1
            query_limit: 4
            grab_limit: 4
            tags:
              - "shows"
            fields:
              "torrentBaseSettings.seedRatio": 3
              "sort": "created"
              "type": "desc"
          "Nyaa.si":
            type: "nyaasi"
            enable: true
            sync_profile: "Standard"
            redirect: false
            priority: 1
            query_limit: 4
            grab_limit: 4
            tags:
              - "anime"
            fields:
              "torrentBaseSettings.seedRatio": 3
              "sort": "created"
              "type": "desc"
              "cat-id": "All categories"
              "filter-id": "No filter"
              "prefer_magnet_links": true

Attributes common to all indexer types are documented below.

type: LowerCaseNonEmptyStr instance-attribute #

The type of indexer to manage. This attribute is unique to each indexer site.

enable: bool = True class-attribute instance-attribute #

When set to True, the indexer is active and Prowlarr is making requests to it.

sync_profile: NonEmptyStr instance-attribute #

The application sync profile to use for this indexer.

App Sync Profiles should be configured before using it in an indexer.

redirect: bool = False class-attribute instance-attribute #

Redirect incoming download requests for the indexer, and pass the grab directly instead of proxying the request via Prowlarr.

Only supported by some indexer types.

priority: int = Field(25, ge=1, le=50) class-attribute instance-attribute #

Priority of this indexer to prefer one indexer over another in release tiebreaker scenarios.

1 is highest priority and 50 is lowest priority.

query_limit: Optional[Annotated[int, Field(ge=0)]] = None class-attribute instance-attribute #

The number of queries within a rolling 24 hour period Prowlarr will allow to the site.

If empty, undefined or set to 0, use no limit.

grab_limit: Optional[Annotated[int, Field(ge=0)]] = None class-attribute instance-attribute #

The number of grabs within a rolling 24 hour period Prowlarr will allow to the site.

If empty, undefined or set to 0, use no limit.

tags: Set[NonEmptyStr] = set() class-attribute instance-attribute #

Tags to associate this indexer with.

Generally used to associate indexers with applications.

fields: Dict[str, Any] = {} class-attribute instance-attribute #

Define configuration attributes unique to each indexer type.

If an attribute is not defined, its default value is used.

secret_fields: Dict[str, Password] = {} class-attribute instance-attribute #

Same as fields, but used for string attributes containing sensitive information such as API keys.

Any attributes defined here will have their values hidden in the Buildarr log output.