Prowlarr

Note

An asynchronous version of this client is available as AsyncProwlarr. The API is identical, but all methods are coroutines and must be awaited.

class pyarr._sync.prowlarr.Prowlarr(host: str, api_key: str, port: int = 9696, tls: bool = True, base_path: str = '', request_timeout: int | None = None, api_ver: str | None = 'v1')[source]

Prowlarr API client.

Applications

class pyarr._sync.prowlarr.applications.Applications(handler: RequestHandler)[source]

Application management actions for Prowlarr.

get(item_id: int | None = None) list[dict[str, Any]] | dict[str, Any][source]

Returns the list of connected applications or a specific application by ID.

Parameters:

item_id (int | None, optional) – ID of the application to return. Defaults to None.

Returns:

The response data.

Return type:

JsonArray | JsonObject

test(data: dict[str, Any]) dict[str, Any][source]

Test connection to an application.

Parameters:

data (JsonObject) – Application configuration to test.

Returns:

Test results.

Return type:

JsonObject

add(data: dict[str, Any]) dict[str, Any][source]

Add a new application.

Parameters:

data (JsonObject) – Application configuration.

Returns:

Added application details.

Return type:

JsonObject

update(item_id: int, data: dict[str, Any]) dict[str, Any][source]

Update an existing application.

Parameters:
  • item_id (int) – Application ID.

  • data (JsonObject) – Updated configuration.

Returns:

Updated application details.

Return type:

JsonObject

delete(item_id: int) None[source]

Delete an application.

Parameters:

item_id (int) – Application ID.

Indexer Proxy

class pyarr._sync.prowlarr.indexer_proxy.IndexerProxy(handler: RequestHandler)[source]

Indexer proxy actions for Prowlarr.

get(item_id: int | None = None) list[dict[str, Any]] | dict[str, Any][source]

Returns the list of indexer proxies or a specific proxy by ID.

Parameters:

item_id (int | None, optional) – ID of the proxy to return. Defaults to None.

Returns:

The response data.

Return type:

JsonArray | JsonObject

add(data: dict[str, Any]) dict[str, Any][source]

Add a new indexer proxy.

Parameters:

data (JsonObject) – Proxy configuration.

Returns:

Added proxy details.

Return type:

JsonObject

update(item_id: int, data: dict[str, Any]) dict[str, Any][source]

Update an existing indexer proxy.

Parameters:
  • item_id (int) – Proxy ID.

  • data (JsonObject) – Updated configuration.

Returns:

Updated proxy details.

Return type:

JsonObject

delete(item_id: int) None[source]

Delete an indexer proxy.

Parameters:

item_id (int) – Proxy ID.

Search

class pyarr._sync.prowlarr.search.Search(handler: RequestHandler)[source]

Search actions for Prowlarr.

get(query: str, indexer_ids: list[int] | None = None, **kwargs) list[dict[str, Any]][source]

Perform a search across indexers.

Parameters:
  • query (str) – Search query.

  • indexer_ids (list[int] | None, optional) – List of indexer IDs to search. Defaults to None.

  • **kwargs – Additional search parameters.

Returns:

List of search results.

Return type:

JsonArray