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
...
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.