{"id":33904793,"url":"https://github.com/flowbe/node-qbittorrent-api-v2","last_synced_at":"2025-12-12T01:38:23.330Z","repository":{"id":37013553,"uuid":"242444503","full_name":"flowbe/node-qbittorrent-api-v2","owner":"flowbe","description":"Wrapper around qBittorrent's Web API v2 to manage your torrents from Node. Documented and everything.","archived":false,"fork":false,"pushed_at":"2022-10-20T18:11:24.000Z","size":42,"stargazers_count":16,"open_issues_count":7,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-02T01:53:47.515Z","etag":null,"topics":["api","bittorrent","client","interface","nodejs","qbittorrent","torrent"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flowbe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-23T02:37:00.000Z","updated_at":"2025-03-11T15:44:41.000Z","dependencies_parsed_at":"2023-01-17T13:10:08.384Z","dependency_job_id":null,"html_url":"https://github.com/flowbe/node-qbittorrent-api-v2","commit_stats":null,"previous_names":["theflow95/node-qbittorrent-api-v2"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/flowbe/node-qbittorrent-api-v2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowbe%2Fnode-qbittorrent-api-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowbe%2Fnode-qbittorrent-api-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowbe%2Fnode-qbittorrent-api-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowbe%2Fnode-qbittorrent-api-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flowbe","download_url":"https://codeload.github.com/flowbe/node-qbittorrent-api-v2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowbe%2Fnode-qbittorrent-api-v2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27673696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-11T02:00:11.302Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","bittorrent","client","interface","nodejs","qbittorrent","torrent"],"created_at":"2025-12-12T01:38:18.854Z","updated_at":"2025-12-12T01:38:23.323Z","avatar_url":"https://github.com/flowbe.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Description\n\nWrapper around [qBittorrent's Web API v2](https://github.com/qbittorrent/qBittorrent/wiki/Web-API-Documentation) to manage your torrents from Node. Documented and everything.\n\nThe Web API v2 applies for version 4.1+ of qBittorrent, for qBittorrent v3.2.0-v4.0.4 check the [qbittorrent-api](https://www.npmjs.com/package/qbittorrent-api) package.\n\n# Installation\n\n```bash\nnpm install qbittorrent-api-v2\n```\n\n# Example\n\n```js\nconst api = require('qbittorrent-api-v2')\n\napi.connect('http://localhost:8080', 'admin', 'your_password')\n\t.then(qbt =\u003e {\n\t\tqbt.torrents()\n\t\t\t.then(torrents =\u003e {\n\t\t\t\tconsole.log(torrents)\n\t\t\t})\n\t\t\t.catch(err =\u003e {\n\t\t\t\tconsole.error(err)\n\t\t\t})\n\t})\n\t.catch(err =\u003e {\n\t\tconsole.error(err)\n\t})\n```\n\n# Documentation\n\nThe module is fully self-documented so you will find all info in the code.\n\nSee [qBittorrent's API documentation](https://github.com/qbittorrent/qBittorrent/wiki/Web-API-Documentation) for more info.\n\n## Overview\n\n- [Authentication](#authentication)\n- [Application](#application)\n- [Log](#log)\n- [Sync](#sync)\n- [Transfer info](#transfer-info)\n- [Torrent management](#torrent-management)\n- [Search](#search)\n\n## Authentication\n\n`connect(host, user, password)`\n\nThis method returns a Promise resolving an object allowing to call the other methods of the API.\n\n## Application\n\n### Get application version\n\n`appVersion()`\n\n### Get API version\n\n`apiVersion()`\n\n### Get build info\n\n`buildInfo()`\n\n### Shutdown application\n\n`shutdown()`\n\n### Get application preferences\n\n`preferences()`\n\n### Set application preferences\n\n**TODO**\n\n### Get default save path\n\n`defaultSavePath()`\n\n## Log\n\n### Get log\n\n`log(normal, info, warning, critical, lastKnownId)`\n\n### Get peer log\n\n`peerLog(lastKnownId)`\n\n## Sync\n\n### Get main data\n\n`syncMainData(rid)`\n\n### Get torrent peers data\n\n`syncPeersData(hash, rid)`\n\n## Transfer info\n\n### Get global transfer info\n\n`transferInfo()`\n\n### Get alternative speed limits state\n\n`speedLimitsMode()`\n\n### Toggle alternative speed limits\n\n`toggleSpeedLimitsMode()`\n\n### Get global download limit\n\n`globalDownloadLimit()`\n\n### Set global download limit\n\n`setGlobalDownloadLimit(limit)`\n\n### Get global upload limit\n\n`globalUploadLimit()`\n\n### Set global upload limit\n\n`setGlobalUploadLimit(limit)`\n\n### Ban peers\n\n`banPeers(peers)`\n\n## Torrent management\n\n### Get torrent list\n\n`torrents([filter], [category], [sort], [reverse], [limit], [offset], [hashes])`\n\n### Get torrent generic properties\n\n`properties(hash)`\n\n### Get torrent trackers\n\n`trackers(hash)`\n\n### Get torrent web seeds\n\n`webseeds(hash)`\n\n### Get torrent contents\n\n`files(hash)`\n\n### Get torrent pieces' states\n\n`pieceStates(hash)`\n\n### Get torrent pieces' hashes\n\n`pieceHashes(hash)`\n\n### Pause torrents\n\n`pauseTorrents(hashes)`\n\n### Resume torrents\n\n`resumeTorrents(hashes)`\n\n### Delete torrents\n\n`deleteTorrents(hashes)`\n\n### Recheck torrents\n\n`recheckTorrents(hashes)`\n\n### Reannounce torrents\n\n`reannounceTorrents(hashes)`\n\n### Edit trackers\n\n`editTrackers(hash, origUrl, newUrl)`\n\n### Remove trackers\n\n`removeTrackers(hash, urls)`\n\n### Add peers\n\n`addPeers(hashes, peers)`\n\n### Add new torrent\n\n**TODO**\n\n### Add trackers to torrent\n\n`addTrackers(hash, urls)`\n\n### Increase torrent priority\n\n`increasePriority(hashes)`\n\n### Decrease torrent priority\n\n`decreasePriority(hashes)`\n\n### Maximal torrent priority\n\n`maxPriority(hashes)`\n\n### Minimal torrent priority\n\n`minPriority(hashes)`\n\n### Set file priority\n\n`setFilePriority(hash, id, priority)`\n\n### Get torrent download limit\n\n`downloadLimit(hashes)`\n\n### Set torrent download limit\n\n`setDownloadLimit(hashes, limit)`\n\n### Set torrent share limit\n\n`setShareLimit(hashes, ratioLimit, seedingTimeLimit)`\n\n### Get torrent upload limit\n\n`uploadLimit(hashes)`\n\n### Set torrent upload limit\n\n`setUploadLimit(hashes, limit)`\n\n### Set torrent location\n\n`setLocation(hashes, location)`\n\n### Set torrent name\n\n`rename(hash, name)`\n\n### Set torrent category\n\n`setCategory(hash, category)`\n\n### Get all categories\n\n`categories()`\n\n### Add new category\n\n`createCategory(category, savePath)`\n\n### Edit category\n\n`editCategory(category, savePath)`\n\n### Remove categories\n\n`removeCategories(categories)`\n\n### Add torrent tags\n\n`addTags(hashes, tags)`\n\n### Remove torrent tags\n\n`removeTags(hashes, tags)`\n\n### Get all tags\n\n`tags()`\n\n### Create tags\n\n`createTags(tags)`\n\n### Delete tags\n\n`deleteTags(tags)`\n\n### Set automatic torrent management\n\n`setAutoManagement(hashes, enable)`\n\n### Toggle sequential download\n\n`toggleSequentialDownload(hashes)`\n\n### Set first/last piece priority\n\n`toggleFirstLastPiecePrio(hashes)`\n\n### Set force start\n\n`setForceStart(hashes, value)`\n\n### Set super seeding\n\n`setSuperSeeding(hashes, value)`\n\n### Rename file\n\n`renameFile(hash, id, name)`\n\n## Search\n\n### Start search\n\n`startSearch(pattern, plugins, category)`\n\n### Stop search\n\n`stopSearch(id)`\n\n### Get search status\n\n`searchStatus([id])`\n\n### Get search results\n\n`searchResults(id, [limit], [offset])`\n\n### Delete search\n\n`deleteSearch(id)`\n\n### Get search categories\n\n`searchCategories([pluginName])`\n\n### Get search plugins\n\n`searchPlugins()`\n\n### Install search plugin\n\n`installPlugin(sources)`\n\n### Uninstall search plugin\n\n`uninstallPlugin(names)`\n\n### Enable search plugin\n\n`enablePlugin(names, enable)`\n\n### Update search plugins\n\n`updatePlugins()`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowbe%2Fnode-qbittorrent-api-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflowbe%2Fnode-qbittorrent-api-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowbe%2Fnode-qbittorrent-api-v2/lists"}