Search

class qbittorrentapi.SearchAPIMixIn(host='', port=None, username=None, password=None, **kwargs)

Implementation for all Search API methods.

search_categories(plugin_name=None, **kwargs)

Retrieve categories for search. Note: endpoint was removed in qBittorrent v4.3.0

Parameters:plugin_name – Limit categories returned by plugin(s) (supports ‘all’ and ‘enabled’)
Returns:list of categories
search_delete(search_id=None, **kwargs)

Delete a search job.

Raises:NotFound404Error
Parameters:search_id – ID of search to delete
Returns:None
search_enablePlugin(plugins=None, enable=None, **kwargs)

Enable or disable search plugin(s). (alias: search_enablePlugin)

Parameters:
  • plugins – list of plugin names
  • enable – True or False
Returns:

None

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

Enable or disable search plugin(s). (alias: search_enablePlugin)

Parameters:
  • plugins – list of plugin names
  • enable – True or False
Returns:

None

search_installPlugin(sources=None, **kwargs)

Install search plugins from either URL or file. (alias: search_installPlugin)

Parameters:sources – list of URLs or filepaths
Returns:None
search_install_plugin(sources=None, **kwargs)

Install search plugins from either URL or file. (alias: search_installPlugin)

Parameters:sources – list of URLs or filepaths
Returns:None
search_plugins(**kwargs)

Retrieve details of search plugins.

Returns:List of plugins. Properties: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#get-search-plugins
search_results(search_id=None, limit=None, offset=None, **kwargs)

Retrieve the results for the search.

Raises:
Parameters:
  • search_id – ID of search job
  • limit – number of results to return
  • offset – where to start returning results
Returns:

Dictionary of results Properties: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#get-search-results

search_start(pattern=None, plugins=None, category=None, **kwargs)

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

Raises:

Conflict409Error

Parameters:
  • pattern – term to search for
  • plugins – list of plugins to use for searching (supports ‘all’ and ‘enabled’)
  • category – categories to limit search; dependent on plugins. (supports ‘all’)
Returns:

search job

search_status(search_id=None, **kwargs)

Retrieve status of one or all searches.

Raises:NotFound404Error
Parameters:search_id – ID of search to get status; leave emtpy for status of all jobs
Returns:dictionary of searches Properties: https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#get-search-status
search_stop(search_id=None, **kwargs)

Stop a running search.

Raises:NotFound404Error
Parameters:search_id – ID of search job to stop
Returns:None
search_uninstallPlugin(names=None, **kwargs)

Uninstall search plugins. (alias: search_uninstallPlugin)

Parameters:names – names of plugins to uninstall
Returns:None
search_uninstall_plugin(names=None, **kwargs)

Uninstall search plugins. (alias: search_uninstallPlugin)

Parameters:names – names of plugins to uninstall
Returns:None
search_updatePlugins(**kwargs)

Auto update search plugins. (alias: search_updatePlugins)

Returns:None
search_update_plugins(**kwargs)

Auto update search plugins. (alias: search_updatePlugins)

Returns:None
class qbittorrentapi.Search(*args, **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)
delete(search_id=None, **kwargs)
enablePlugin(plugins=None, enable=None, **kwargs)
enable_plugin(plugins=None, enable=None, **kwargs)
installPlugin(sources=None, **kwargs)
install_plugin(sources=None, **kwargs)
plugins
results(search_id=None, limit=None, offset=None, **kwargs)
start(pattern=None, plugins=None, category=None, **kwargs)
status(search_id=None, **kwargs)
stop(search_id=None, **kwargs)
uninstallPlugin(sources=None, **kwargs)
uninstall_plugin(sources=None, **kwargs)
updatePlugins(**kwargs)
update_plugins(**kwargs)