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
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/infowith filtering, sorting, and pagination - Torrent upload -
POST /torrents/addwith 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