Download Clients#
Download clients are entirely optional in Prowlarr, but are available so you can manually perform grabs entirely within Prowlarr.
In Buildarr, download clients for Prowlarr are configured in much the same way as they are for Sonarr, although some attributes are different.
The main differences are:
- All instances of the
recent_priority
attribute are renamed toclient_priority
. - The
older_priority
attribute has been removed. - Any attribute relating to post-import management has been removed.
Download clients that use Usenet or BitTorrent can be configured.
prowlarr:
settings:
download_clients:
definitions:
Transmission:
type: "transmission"
host: "transmission"
port: 9091
...
Some download clients support mapping categories within a download client to Prowlarr categories, to automatically classify downloads by content type.
This can be defined in Buildarr using the category_mappings
attribute.
prowlarr:
settings:
download_clients:
definitions:
qBittorrent:
type: "qbittorrent"
...
category_mappings:
"movies":
- "Movies/HD"
- "Movies/SD"
...
delete_unmanaged: bool = False
class-attribute
instance-attribute
#
Automatically delete download clients not defined in Buildarr.
definitions: Dict[str, Annotated[DownloadClientType, Field(discriminator='type')]] = {}
class-attribute
instance-attribute
#
Define download clients under this attribute.
Configuring download clients#
Download clients are defined using the following format. Here is an example of a Transmission download client being configured.
---
prowlarr:
settings:
download_clients:
definitions:
Transmission: # Name of the download client
type: "transmission" # Type of download client
enable: true # Enable the download client in Prowlarr
host: "transmission"
port: 9091
category: "prowlarr"
# Define any other type-specific or global
# download client attributes as needed.
Every download client definition must have the correct type
value defined,
to tell Buildarr what type of download client to configure.
The name of the download client definition is just a name, and has no meaning.
enable
can be set to False
to keep the download client configured on Prowlarr,
but disabled so that it is inactive.
The below attributes can be defined on any type of download client.
enable: bool = True
class-attribute
instance-attribute
#
When True
, this download client is active and Prowlarr is able to send requests to it.
priority: PositiveInt = 1
class-attribute
instance-attribute
#
Download client priority.
Clients with a lower value are prioritised. Round-robin is used for clients with the same priority.
tags: Set[NonEmptyStr] = set()
class-attribute
instance-attribute
#
Prowlarr tags to assign to the download clients. Only media under those tags will be assigned to this client.
If no tags are assigned, all media can use the client.
Usenet download clients#
These download clients retrieve media using the Usenet discussion and content delivery system.
Download Station (Usenet)#
Download client which uses Usenet via Download Station.
type: Literal['downloadstation-usenet'] = 'downloadstation-usenet'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
Download Station host name.
port: Port = 5000
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
username: NonEmptyStr
instance-attribute
#
User name to use when authenticating with the download client.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
category: Optional[str] = None
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Creates a [category]
subdirectory in the output directory.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
directory: Optional[str] = None
class-attribute
instance-attribute
#
Optional shared folder to put downloads into.
Leave blank, set to null
or undefined to use the default download client location.
NZBGet#
NZBGet download client.
type: Literal['nzbget'] = 'nzbget'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
NZBGet host name.
port: Port = 5000
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: Optional[str] = None
class-attribute
instance-attribute
#
Adds a prefix to the NZBGet url, e.g. http://[host]:[port]/[url_base]/jsonrpc
.
username: NonEmptyStr
instance-attribute
#
User name to use when authenticating with the download client.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
category: Optional[str] = None
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
client_priority: NzbgetPriority = NzbgetPriority.normal
class-attribute
instance-attribute
#
Priority to use when grabbing releases.
Values:
verylow
low
normal
high
veryhigh
force
add_paused: bool = False
class-attribute
instance-attribute
#
Add media to the download client in the paused state.
This option requires NZBGet version 16.0 or later.
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
NZBVortex#
NZBVortex download client.
type: Literal['nzbvortex'] = 'nzbvortex'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
NZBVortex host name.
port: Port = 4321
class-attribute
instance-attribute
#
Download client access port.
url_base: Optional[str] = None
class-attribute
instance-attribute
#
Adds a prefix to the NZBVortex url, e.g. http://[host]:[port]/[url_base]/api
.
api_key: Password
instance-attribute
#
API key to use to authenticate with the download client.
category: Optional[str] = None
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
client_priority: NzbvortexPriority = NzbvortexPriority.normal
class-attribute
instance-attribute
#
Priority to use when grabbing releases.
Values:
low
normal
high
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
Pneumatic#
SABnzbd#
SABnzbd download client.
type: Literal['sabnzbd'] = 'sabnzbd'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
SABnzbd host name.
port: Port = 4321
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: Optional[str] = None
class-attribute
instance-attribute
#
Adds a prefix to the SABnzbd URL, e.g. http://[host]:[port]/[url_base]/api/
.
api_key: Optional[SecretStr] = None
class-attribute
instance-attribute
#
API key to use to authenticate with SABnzbd, if required.
category: Optional[str] = None
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
client_priority: SabnzbdPriority = SabnzbdPriority.default
class-attribute
instance-attribute
#
Priority to use when grabbing releases.
Values:
default
paused
low
normal
high
force
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
Usenet Blackhole#
Torrent download clients#
These download clients use the BitTorrent peer-to-peer file sharing protocol to retrieve media files.
Aria2#
Aria2 download client.
type: Literal['aria2'] = 'aria2'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
Aria2 host name.
port: Port = 6800
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
rpc_path: NonEmptyStr = '/rpc'
class-attribute
instance-attribute
#
XML RPC path in the Aria2 client URL.
secret_token: Password
instance-attribute
#
Secret token to use to authenticate with the download client.
Deluge#
Deluge download client.
type: Literal['deluge'] = 'deluge'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
Deluge host name.
port: Port = 8112
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: Optional[str] = None
class-attribute
instance-attribute
#
Adds a prefix to the Deluge JSON URL, e.g. http://[host]:[port]/[url_base]/json
.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
category: Optional[str] = 'prowlarr'
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
client_priority: DelugePriority = DelugePriority.last
class-attribute
instance-attribute
#
Priority to use when grabbing releases.
Values:
last
first
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
Download Station (Torrent)#
Download client which uses torrents via Download Station.
type: Literal['downloadstation-torrent'] = 'downloadstation-torrent'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
Download Station host name.
port: Port = 5000
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
username: NonEmptyStr
instance-attribute
#
User name to use when authenticating with the download client.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
category: Optional[str] = None
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Creates a [category]
subdirectory in the output directory.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
directory: Optional[str] = None
class-attribute
instance-attribute
#
Optional shared folder to put downloads into.
Leave blank, set to null
or undefined to use the default download client location.
Flood#
Flood download client.
type: Literal['flood'] = 'flood'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
Flood host name.
port: Port = 3000
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: Optional[str] = None
class-attribute
instance-attribute
#
Optionally adds a prefix to Flood API, such as [protocol]://[host]:[port]/[url_base]api
.
username: NonEmptyStr
instance-attribute
#
User name to use when authenticating with the download client.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
destination: Optional[str] = None
class-attribute
instance-attribute
#
Manually specified download destination.
flood_tags: Set[NonEmptyStr] = {'prowlarr'}
class-attribute
instance-attribute
#
Initial tags of a download within Flood.
To be recognized, a download must have all initial tags. This avoids conflicts with unrelated downloads.
additional_tags: Set[FloodMediaTag] = set()
class-attribute
instance-attribute
#
Adds properties of media as tags within Flood.
add_paused: bool = False
class-attribute
instance-attribute
#
Add media to the download client in the Paused state.
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
Freebox#
Download client for connecting to a Freebox instance.
type: Literal['freebox'] = 'freebox'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr = 'mafreebox.freebox.fr'
class-attribute
instance-attribute
#
Hostname or host IP address of the Freebox.
The default of mafreebox.freebox.fr
will only work if on the same network.
port: Port = 443
class-attribute
instance-attribute
#
Freebox access port.
Set to the HTTPS default port as Freebox uses HTTPS by default.
use_ssl: bool = True
class-attribute
instance-attribute
#
Use a secure connection when connecting to the Freebox API.
api_url: NonEmptyStr = '/api/v1'
class-attribute
instance-attribute
#
Define Freebox API base URL with API version, e.g. http[s]://<host>:<port>/<api_url>/
.
app_id: NonEmptyStr
instance-attribute
#
App ID used to authenticate with the Freebox.
app_token: Password
instance-attribute
#
Unique token used to authenticate with the Freebox.
destination_directory: Optional[str] = None
class-attribute
instance-attribute
#
Optional location to put downloads in, on the Freebox node.
Leave blank, undefined or set to null
to use the default Freebox download location.
category: Optional[str] = None
class-attribute
instance-attribute
#
Default category to classify downloads under if no category mappings apply to it.
This will create a [category]
subdirectory in the output directory.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads.
client_priority: FreeboxPriority = FreeboxPriority.last
class-attribute
instance-attribute
#
Priority to use when adding a download to the client.
add_paused: bool = False
class-attribute
instance-attribute
#
Add media to the download client in the Paused state.
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
Hadouken#
Hadouken download client.
type: Literal['hadouken'] = 'hadouken'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
Hadouken host name.
port: Port = 7070
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: Optional[str] = None
class-attribute
instance-attribute
#
Adds a prefix to the Hadouken url, e.g. http://[host]:[port]/[url_base]/api
.
username: NonEmptyStr
instance-attribute
#
User name to use when authenticating with the download client.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
category: NonEmptyStr = 'prowlarr'
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
qBittorrent#
qBittorrent download client.
type: Literal['qbittorrent'] = 'qbittorrent'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
qBittorrent host name.
port: Port = 8080
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: Optional[str] = None
class-attribute
instance-attribute
#
Adds a prefix to the qBittorrent URL, e.g. http://[host]:[port]/[url_base]/api
.
username: NonEmptyStr
instance-attribute
#
User name to use when authenticating with the download client.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
category: Optional[str] = 'prowlarr'
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
client_priority: QbittorrentPriority = QbittorrentPriority.last
class-attribute
instance-attribute
#
Priority to use when grabbing releases.
Values:
last
first
initial_state: QbittorrentState = QbittorrentState.start
class-attribute
instance-attribute
#
Initial state for torrents added to qBittorrent.
Note that forced torrents do not abide by seed restrictions.
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
RTorrent (ruTorrent)#
RTorrent (ruTorrent) download client.
type: Literal['rtorrent', 'rutorrent'] = 'rtorrent'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
RTorrent host name.
port: Port = 8080
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: NonEmptyStr = 'RPC2'
class-attribute
instance-attribute
#
Path to the XMLRPC endpoint, e.g. http(s)://[host]:[port]/[url_base]
.
When using RTorrent this usually is RPC2
or plugins/rpc/rpc.php
.
username: NonEmptyStr
instance-attribute
#
User name to use when authenticating with the download client.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
category: Optional[str] = 'prowlarr'
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
client_priority: RtorrentPriority = RtorrentPriority.normal
class-attribute
instance-attribute
#
Priority to use when grabbing releases.
Values:
verylow
low
normal
high
add_stopped: bool = False
class-attribute
instance-attribute
#
Enabling will add torrents and magnets to RTorrent in a stopped state.
This may break magnet files.
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.
Torrent Blackhole#
Torrent Blackhole download client.
type: Literal['torrent-blackhole'] = 'torrent-blackhole'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
torrent_folder: NonEmptyStr
instance-attribute
#
Folder in which Prowlarr will store .torrent
files.
save_magnet_files: bool = False
class-attribute
instance-attribute
#
Save the magnet link if no .torrent
file is available.
Only useful if the download client supports magnets saved to a file.
magnet_file_extension: NonEmptyStr = '.magnet'
class-attribute
instance-attribute
#
Extension to use for magnet links.
Transmission/Vuze#
Transmission and Vuze use the same configuration parameters.
To use Transmission, set the type
attribute in the download client to transmission
.
To use Vuze, set the type
attribute in the download client to vuze
.
Configuration options common to both Transmission and Vuze download clients:
host: NonEmptyStr
instance-attribute
#
Transmission/Vuze host name.
port: Port = 9091
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: NonEmptyStr = '/transmission/'
class-attribute
instance-attribute
#
Adds a prefix to the Transmission/Vuze RPC url, e.g.http://[host]:[port][url_base]rpc
.
This is set by default in most clients to /transmission/
.
username: Optional[str] = None
class-attribute
instance-attribute
#
User name to use when authenticating with the download client, if required.
password: Optional[SecretStr] = None
class-attribute
instance-attribute
#
Password to use to authenticate the download client user, if required.
category: Optional[str] = None
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Creates a [category]
subdirectory in the output directory.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
directory: Optional[str] = None
class-attribute
instance-attribute
#
Optional shared folder to put downloads into.
Leave blank, set to null
or undefined to use the default download client location.
client_priority: TransmissionPriority = TransmissionPriority.last
class-attribute
instance-attribute
#
Priority to use when grabbing releases.
Values:
last
first
add_paused: bool = False
class-attribute
instance-attribute
#
Add media to the download client in the Paused state.
uTorrent#
uTorrent download client.
type: Literal['utorrent'] = 'utorrent'
class-attribute
instance-attribute
#
Type value associated with this kind of download client.
host: NonEmptyStr
instance-attribute
#
uTorrent host name.
port: Port = 8080
class-attribute
instance-attribute
#
Download client access port.
use_ssl: bool = False
class-attribute
instance-attribute
#
Use a secure connection when connecting to the download client.
url_base: Optional[str] = None
class-attribute
instance-attribute
#
Adds a prefix to the uTorrent URL, e.g. http://[host]:[port]/[url_base]/api
.
username: NonEmptyStr
instance-attribute
#
User name to use when authenticating with the download client.
password: Password
instance-attribute
#
Password to use to authenticate the download client user.
category: Optional[str] = 'prowlarr'
class-attribute
instance-attribute
#
Associate media from Prowlarr with a category.
Adding a category specific to Prowlarr avoids conflicts with unrelated non-Prowlarr downloads. Using a category is optional, but strongly recommended.
client_priority: UtorrentPriority = UtorrentPriority.last
class-attribute
instance-attribute
#
Priority to use when grabbing releases.
Values:
last
first
initial_state: UtorrentState = UtorrentState.start
class-attribute
instance-attribute
#
Initial state for torrents added to uTorrent.
category_mappings: Dict[NonEmptyStr, Set[LowerCaseNonEmptyStr]] = {}
class-attribute
instance-attribute
#
Category mappings for associating a category on the download client with the selected Prowlarr categories.