12 unstable releases (5 breaking)

Uses new Rust 2024

new 0.6.0 Apr 7, 2026
0.5.0 Apr 5, 2026
0.4.0 Apr 4, 2026
0.3.1 Dec 31, 2024
0.1.2 Dec 17, 2024

#4 in #q-bittorrent


Used in rogue_tremolo

AGPL-3.0-only

60KB
1K SLoC

qbittorrent_api

An async Rust API client for qBittorrent v4.1 through v5.0+.

Scope

This crate intentionally provides a small subset of the qBittorrent WebUI API, covering only the endpoints needed by dependent projects:

  • Authentication - login with session cookie persistence
  • Torrent listing - GET /torrents/info with filtering, sorting, and pagination
  • Torrent upload - POST /torrents/add with multipart file upload

Other endpoints (pause/resume, delete, categories, tags, trackers, preferences, etc.) are not implemented. Contributions are welcome.

API field coverage

The Torrent response struct and State enum are based on the qBittorrent source code, not the wiki documentation. The wiki API docs are significantly out of date and missing many fields that the API actually returns (e.g. comment, private, reannounce, popularity, infohash_v1, infohash_v2).

Fields present in all versions from v4.1.0 onwards are required. Fields added in later versions (v4.4+, v4.5+, v4.6+, v5.0+) are Option for backwards compatibility.

Releases and changes

Releases and a full changelog are available via GitHub Releases.

Release versions follow the Semantic Versioning 2.0.0 specification.

Commit messages follow the Conventional commit specification.

Dependencies

~15–35MB
~389K SLoC