qBittorrent WebUI API
Manage torrents via qBittorrent's WebUI API (v4.1+).
Setup
Config: ~/.clawdbot/credentials/qbittorrent/config.json
json
{
"url": "http://localhost:8080",
"username": "admin",
"password": "adminadmin"
}
Quick Reference
List Torrents
bash
# All torrents ./scripts/qbit-api.sh list # Filter by status ./scripts/qbit-api.sh list --filter downloading ./scripts/qbit-api.sh list --filter seeding ./scripts/qbit-api.sh list --filter paused # Filter by category ./scripts/qbit-api.sh list --category movies
Filters: all, downloading, seeding, completed, paused, active, inactive, stalled, errored
Get Torrent Info
bash
./scripts/qbit-api.sh info <hash> ./scripts/qbit-api.sh files <hash> ./scripts/qbit-api.sh trackers <hash>
Add Torrent
bash
# By magnet or URL ./scripts/qbit-api.sh add "magnet:?xt=..." --category movies # By file ./scripts/qbit-api.sh add-file /path/to/file.torrent --paused
Control Torrents
bash
./scripts/qbit-api.sh pause <hash> # or "all" ./scripts/qbit-api.sh resume <hash> # or "all" ./scripts/qbit-api.sh delete <hash> # keep files ./scripts/qbit-api.sh delete <hash> --files # delete files too ./scripts/qbit-api.sh recheck <hash>
Categories & Tags
bash
./scripts/qbit-api.sh categories ./scripts/qbit-api.sh tags ./scripts/qbit-api.sh set-category <hash> movies ./scripts/qbit-api.sh add-tags <hash> "important,archive"
Transfer Info
bash
./scripts/qbit-api.sh transfer # global speed/stats ./scripts/qbit-api.sh speedlimit # current limits ./scripts/qbit-api.sh set-speedlimit --down 5M --up 1M
App Info
bash
./scripts/qbit-api.sh version ./scripts/qbit-api.sh preferences
Response Format
Torrent object includes:
- •
hash,name,state,progress - •
dlspeed,upspeed,eta - •
size,downloaded,uploaded - •
category,tags,save_path
States: downloading, stalledDL, uploading, stalledUP, pausedDL, pausedUP, queuedDL, queuedUP, checkingDL, checkingUP, error, missingFiles