Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
qbittorrent-api 2026.6.0 documentation
qbittorrent-api 2026.6.0 documentation
  • Introduction
  • Behavior & Configuration
  • Async Support
  • Performance
  • Exceptions
  • API Reference
    • Application
    • AttrDict (internal)
    • Authentication
    • Client
    • Definitions
    • Log
    • Request (internal)
    • RSS
    • Search
    • Sync
    • Torrent Creator
    • Torrents
    • Transfer
    • Version
Back to top
View this page

Search¶

class SearchAPIMixIn(host=None, port=None, username=None, password=None, api_key=None, EXTRA_HEADERS=None, REQUESTS_ARGS=None, HTTPADAPTER_ARGS=None, VERIFY_WEBUI_CERTIFICATE=True, FORCE_SCHEME_FROM_HOST=False, RAISE_NOTIMPLEMENTEDERROR_FOR_UNIMPLEMENTED_API_ENDPOINTS=False, RAISE_ERROR_FOR_UNSUPPORTED_QBITTORRENT_VERSIONS=False, VERBOSE_RESPONSE_LOGGING=False, SIMPLE_RESPONSES=False, DISABLE_LOGGING_DEBUG_OUTPUT=False) → None¶

Bases: AppAPIMixIn

Implementation for all Search API methods.

Usage:
>>> from qbittorrentapi import Client
>>> client = Client(host="localhost:8080", username="admin", password="adminadmin")
>>> search_job = client.search_start(pattern="Ubuntu", plugins="all", category="all")
>>> client.search_stop(search_id=search_job.id)
>>> # or
>>> search_job.stop()
search_categories(plugin_name=None, **kwargs) → SearchCategoriesList¶

Retrieve categories for search.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1) and removed with qBittorrent v4.3.0 (Web API v2.6).

Parameters:

plugin_name (str | None) – Limit categories returned by plugin(s) (supports all and enabled)

Return type:

SearchCategoriesList

search_delete(search_id=None, **kwargs) → None¶

Delete a search job.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Raises:

NotFound404Error –

Parameters:

search_id (str | int | None) – ID of search to delete

Return type:

None

search_download_torrent(url=None, plugin=None, **kwargs) → None¶

Download a .torrent file or magnet for a search plugin.

This method was introduced with qBittorrent v5.0.0 (Web API v2.11).

Parameters:
  • url (str | None) – URL for .torrent file or magnet

  • plugin (str | None) – Name of the plugin

Return type:

None

search_enable_plugin(plugins=None, enable=None, **kwargs) → None¶

Enable or disable search plugin(s).

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Parameters:
  • plugins (str | Iterable[str] | None) – list of plugin names

  • enable (bool | None) – Defaults to True if None or unset; use False to disable

Return type:

None

search_install_plugin(sources=None, **kwargs) → None¶

Install search plugins from either URL or file.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Parameters:

sources (str | Iterable[str] | None) – list of URLs or filepaths

Return type:

None

search_plugins(**kwargs) → SearchPluginsList¶

Retrieve details of search plugins.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Return type:

SearchPluginsList

search_results(search_id=None, limit=None, offset=None, **kwargs) → SearchResultsDictionary¶

Retrieve the results for the search.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Raises:
  • NotFound404Error –

  • Conflict409Error –

Parameters:
  • search_id (str | int | None) – ID of search job

  • limit (str | int | None) – number of results to return

  • offset (str | int | None) – where to start returning results

Return type:

SearchResultsDictionary

search_start(pattern=None, plugins=None, category=None, **kwargs) → SearchJobDictionary¶

Start a search. Python must be installed. Host may limit number of concurrent searches.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Raises:

Conflict409Error –

Parameters:
  • pattern (str | None) – term to search for

  • plugins (str | Iterable[str] | None) – list of plugins to use for searching (supports ‘all’ and ‘enabled’)

  • category (str | None) – categories to limit search; dependent on plugins. (supports ‘all’)

Return type:

SearchJobDictionary

search_status(search_id=None, **kwargs) → SearchStatusesList¶

Retrieve status of one or all searches.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Raises:

NotFound404Error –

Parameters:

search_id (str | int | None) – ID of search to get status; leave empty for status of all jobs

Return type:

SearchStatusesList

search_stop(search_id=None, **kwargs) → None¶

Stop a running search.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Raises:

NotFound404Error –

Parameters:

search_id (str | int | None) – ID of search job to stop

Return type:

None

search_uninstall_plugin(names=None, **kwargs) → None¶

Uninstall search plugins.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Parameters:

names (str | Iterable[str] | None) – names of plugins to uninstall

Return type:

None

search_update_plugins(**kwargs) → None¶

Auto update search plugins.

This method was introduced with qBittorrent v4.1.4 (Web API v2.1.1).

Return type:

None

class Search(*args, client, **kwargs)¶

Allows interaction with Search API endpoints.

Usage:
>>> from qbittorrentapi import Client
>>> client = Client(host="localhost:8080", username="admin", password="adminadmin")
>>> # this is all the same attributes that are available as named in the
>>> #  endpoints or the more pythonic names in Client (with or without 'search_' prepended)
>>> # initiate searches and retrieve results
>>> search_job = client.search.start(pattern="Ubuntu", plugins="all", category="all")
>>> status = search_job.status()
>>> results = search_job.result()
>>> search_job.delete()
>>> # inspect and manage plugins
>>> plugins = client.search.plugins
>>> cats = client.search.categories(plugin_name="...")
>>> client.search.install_plugin(sources="...")
>>> client.search.update_plugins()
categories(plugin_name=None, **kwargs) → SearchCategoriesList¶

Implements search_categories().

Return type:

SearchCategoriesList

delete(search_id=None, **kwargs) → None¶

Implements search_delete().

Return type:

None

download_torrent(url=None, plugin=None, **kwargs) → None¶

Implements search_download_torrent().

Return type:

None

enable_plugin(plugins=None, enable=None, **kwargs) → None¶

Implements search_enable_plugin().

Return type:

None

install_plugin(sources=None, **kwargs) → None¶

Implements search_install_plugin().

Return type:

None

property plugins: SearchPluginsList¶

Implements search_plugins().

results(search_id=None, limit=None, offset=None, **kwargs) → SearchResultsDictionary¶

Implements search_results().

Return type:

SearchResultsDictionary

start(pattern=None, plugins=None, category=None, **kwargs) → SearchJobDictionary¶

Implements search_start().

Return type:

SearchJobDictionary

status(search_id=None, **kwargs) → SearchStatusesList¶

Implements search_status().

Return type:

SearchStatusesList

stop(search_id=None, **kwargs) → None¶

Implements search_stop().

Return type:

None

uninstall_plugin(sources=None, **kwargs) → None¶

Implements search_uninstall_plugin().

Return type:

None

update_plugins(**kwargs) → None¶

Implements search_update_plugins().

Return type:

None

class SearchJobDictionary(data, client)¶

Bases: ClientCache[SearchAPIMixIn], Dictionary[None | int | str | bool | Sequence[JsonValueT] | Mapping[str, JsonValueT]]

Response for search_start()

delete(**kwargs) → None¶

Implements search_delete().

Return type:

None

results(limit=None, offset=None, **kwargs) → SearchResultsDictionary¶

Implements search_results().

Return type:

SearchResultsDictionary

status(**kwargs) → SearchStatusesList¶

Implements search_status().

Return type:

SearchStatusesList

stop(**kwargs) → None¶

Implements search_stop().

Return type:

None

class SearchResultsDictionary(data=None, **kwargs)¶

Bases: Dictionary[None | int | str | bool | Sequence[JsonValueT] | Mapping[str, JsonValueT]]

Response for search_results()

Definition: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-5.0)#user-content-get-search-results

class SearchStatusesList(list_entries, client=None)¶

Bases: List[SearchStatus]

Response for search_status()

Definition: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-5.0)#user-content-get-search-status

class SearchStatus(data=None, **kwargs)¶

Bases: ListEntry

Item in SearchStatusesList

class SearchCategoriesList(list_entries, client=None)¶

Bases: List[SearchCategory]

Response for search_categories()

class SearchCategory(data=None, **kwargs)¶

Bases: ListEntry

Item in SearchCategoriesList

class SearchPluginsList(list_entries, client=None)¶

Bases: List[SearchPlugin]

Response for search_plugins().

Definition: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-5.0)#user-content-get-search-plugins

class SearchPlugin(data=None, **kwargs)¶

Bases: ListEntry

Item in SearchPluginsList

Next
Sync
Previous
RSS
Copyright © 2026, Russell Martin
Made with Sphinx and @pradyunsg's Furo
On this page
  • Search
    • SearchAPIMixIn
      • SearchAPIMixIn.search_categories()
      • SearchAPIMixIn.search_delete()
      • SearchAPIMixIn.search_download_torrent()
      • SearchAPIMixIn.search_enable_plugin()
      • SearchAPIMixIn.search_install_plugin()
      • SearchAPIMixIn.search_plugins()
      • SearchAPIMixIn.search_results()
      • SearchAPIMixIn.search_start()
      • SearchAPIMixIn.search_status()
      • SearchAPIMixIn.search_stop()
      • SearchAPIMixIn.search_uninstall_plugin()
      • SearchAPIMixIn.search_update_plugins()
    • Search
      • Search.categories()
      • Search.delete()
      • Search.download_torrent()
      • Search.enable_plugin()
      • Search.install_plugin()
      • Search.plugins
      • Search.results()
      • Search.start()
      • Search.status()
      • Search.stop()
      • Search.uninstall_plugin()
      • Search.update_plugins()
    • SearchJobDictionary
      • SearchJobDictionary.delete()
      • SearchJobDictionary.results()
      • SearchJobDictionary.status()
      • SearchJobDictionary.stop()
    • SearchResultsDictionary
    • SearchStatusesList
    • SearchStatus
    • SearchCategoriesList
    • SearchCategory
    • SearchPluginsList
    • SearchPlugin