Bestdebrid

Documentation de l'API

Débridez des liens premium, développez dossiers et playlists, gérez vos torrents et intégrez BestDebrid dans vos applications. Référence complète des endpoints REST du build 1.07.

JSON via HTTPS Clé API 70 liens / 24 h Build 1.07
Sur cette page

Introduction

L'API BestDebrid est une interface REST qui renvoie du JSON via HTTPS. La plupart des endpoints acceptent GET et POST, avec les paramètres en query string ou dans le corps de la requête.

Les tables techniques (paramètres, champs, exemples de code) sont en anglais.

URL de base

https://bestdebrid.com/api/v1

Enveloppe de réponse

Chaque endpoint renvoie un objet JSON avec un entier error (0 = succès) et un message : texte lisible en cas d'échec, ou charge utile (chaîne, tableau, objet) en cas de succès. Les endpoints plus riches ajoutent leurs propres champs à côté de error.

{
  "error": 0,
  "message": "OK"
  // additional fields depending on the endpoint
}

Authentification

Tous les endpoints sauf /, /time et /regex exigent votre clé API. Deux façons de la transmettre :

Option 1 — en-tête HTTP (recommandé)

Authorization: YOUR_API_KEY

Option 2 — query string

?auth=YOUR_API_KEY
Où trouver votre clé : connectez-vous, elle est affichée dans votre profil (section API). Régénérez-la à tout moment avec /newkey. /newkey
Gardez votre clé secrète. Ne l'exposez jamais dans du code côté client, un dépôt public ou une extension distribuée. En cas de fuite, régénérez-la immédiatement.
Votre clé API pour les essais Utilisée par les blocs « Essayer » de cette page, jamais enregistrée.

Gestion des erreurs

Le champ error indique le résultat. Une valeur non nulle est accompagnée d'un message descriptif. Les codes sont réutilisés entre endpoints ; c'est le message qui porte le sens.

0Succès — la requête a abouti.
1Paramètre manquant ou invalide (lien vide, mauvaise clé API, mot de passe absent).
2Format d'URL invalide — le lien doit commencer par http:// ou https://.
3Lien non supporté, magnet invalide ou utilisateur non connecté.
4Les comptes gratuits ne peuvent pas débrider cet hébergeur (premium uniquement).
5Trop de torrents actifs (5 maximum) ou erreur du serveur torrent.
6Limite journalière gratuite atteinte, torrent en double ou hébergeur en maintenance.
7Taille de fichier au-dessus de la limite gratuite, ou erreur de génération du lien.
8Taille du torrent indéterminable, ou torrent au-dessus de 90 Gio.
9Quota de l'hébergeur atteint avant génération (liens journaliers sur cet hébergeur).
10Génération échouée — l'hébergeur a renvoyé une erreur.
19Limite de l'hébergeur atteinte après génération du lien.
21Abonnement premium requis pour l'accès API.
22Accès API banni sur ce compte.
55Service en maintenance, ou type de paramètre invalide (ex. isFile non numérique).
56Adresse IP invalide, délai d'attente non écoulé, ou quota journalier gratuit.
121Quota journalier de téléchargement atteint (70 liens uniques / 24 h).
122Trop de débridages en cours — réessayez dans ~1 min.
632VPN/proxy détecté (interdit pour les comptes gratuits).
Quota journalier : chaque compte est limité à 70 fichiers uniques par 24 h, web et API confondus (erreur 121). Les débridages en cours comptent aussi (erreur 122).

Racine — liste des endpoints

Renvoie un tableau JSON de chaînes décrivant chaque endpoint du build courant. Pratique pour un test de disponibilité.

GEThttps://bestdebrid.com/api/v1/
Aucune authentification requise.

Exemple de réponse

[
  "time ( function : time of bestdebrid.com )",
  "newkey ( function : renew api key, params [ auth=apikey, pass=password of account ] )",
  "user ( function : user infos, params [ auth=apikey ] )",
  "...",
  "** api build [1.07]  **"
]
Essayer

Exemples de code

curl https://bestdebrid.com/api/v1/
<?php
$data = json_decode(file_get_contents('https://bestdebrid.com/api/v1/'), true);
print_r($data);
const res  = await fetch('https://bestdebrid.com/api/v1/');
const data = await res.json();
console.log(data);

Heure du serveur

Renvoie l'heure courante du serveur. Utile pour synchroniser un client ou détecter une dérive d'horloge.

GEThttps://bestdebrid.com/api/v1/time
Aucune authentification requise.

Exemple de réponse

{
  "error": 0,
  "message": "2025-04-19 14: 22: 03"
}
Essayer

Exemples de code

curl https://bestdebrid.com/api/v1/time
<?php
$res = file_get_contents('https://bestdebrid.com/api/v1/time');
echo json_decode($res, true)['message'];
const r = await fetch('https://bestdebrid.com/api/v1/time');
console.log((await r.json()).message);

Expressions régulières des hébergeurs

Renvoie la liste des expressions régulières (PCRE) reconnaissant les liens supportés. Permet de filtrer les URLs côté client avant d'appeler /generateLink.

GEThttps://bestdebrid.com/api/v1/regex
Aucune authentification requise.

Schéma de réponse

ChampTypeDescription
[]string[]Flat JSON array of PCRE patterns (PHP preg_match syntax, with delimiters). The last pattern matches base64-encoded http(s):// links.

Exemple de réponse

[
  "/(http|https):\\/\\/(\\w+\\.)?rapidgator\\.net\\/file\\/[0-9a-z]+/",
  "/(http|https):\\/\\/(\\w+\\.)?gofile\\.io\\/d\\/[0-9A-Za-z]+/",
  "..."
]
Client-side filtering: patterns use PHP delimiters (/…/). Strip the leading and trailing slash before feeding them to another regex engine.
Essayer

Exemples de code

curl https://bestdebrid.com/api/v1/regex
<?php
$patterns = json_decode(file_get_contents('https://bestdebrid.com/api/v1/regex'), true);
$supported = false;
foreach ($patterns as $re) {
    if (preg_match($re, $url)) { $supported = true; break; }
}
const patterns = await (await fetch('https://bestdebrid.com/api/v1/regex')).json();
const supported = patterns.some(p => new RegExp(p.slice(1, -1)).test(url));

Informations utilisateur

Renvoie le profil de l'utilisateur authentifié : statut premium, date d'expiration, et si le compte contourne les limites API.

GEThttps://bestdebrid.com/api/v1/user

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.

Schéma de réponse

ChampTypeDescription
errorinteger0 on success, 1 if the key is invalid.
usernamestringAccount username.
emailstringAccount email.
creditintegerRemaining credits on the account.
IDintegerInternal user ID.
premiumbooleantrue if the account has an active premium plan (expire in the future).
expirestring|nullPremium expiry date in Y-m-d H:i:s, or null if not premium.
bypass_api_limitbooleantrue for accounts allowed to bypass per-host unrestrict limits.

Exemple de réponse

{
  "error": 0,
  "username": "john_doe",
  "email": "john@example.com",
  "credit": 0,
  "ID": 12345,
  "premium": true,
  "expire": "2026-09-14 10: 20: 00",
  "bypass_api_limit": false
}
Essayer

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' \
  https://bestdebrid.com/api/v1/user
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\n"]]);
$user = json_decode(file_get_contents('https://bestdebrid.com/api/v1/user', false, $ctx), true);
const res  = await fetch('https://bestdebrid.com/api/v1/user', {
  headers: { 'Authorization': 'YOUR_API_KEY' }
});
const user = await res.json();

Régénérer la clé API

Génère une nouvelle clé API. L'ancienne est invalidée immédiatement. Renvoie la chaîne littérale true en cas de succès.

GEThttps://bestdebrid.com/api/v1/newkey

Paramètres

ParamètreTypeDescription
authrequisstringYour current API key (or Authorization header).
passrequisstringYour account password (or Password-X header). Confirms the rotation.

Exemples de réponses

// Success (plain text, not JSON)
true

// Failure
{
  "error": 0,
  "message": "Invalid credentials"
}
Headers alternative: the key is also accepted as Authorization and the password as Password-X. When both headers and query params are present, headers win.
Note: on failure the envelope currently returns "error": 0 with an error message — test the body for the literal true rather than the error field.
Action irréversible : pas de bloc « Essayer » pour cet endpoint.

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' -H 'Password-X: YOUR_PASSWORD' \
  https://bestdebrid.com/api/v1/newkey
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\nPassword-X: YOUR_PASSWORD\r\n"]]);
$res = file_get_contents('https://bestdebrid.com/api/v1/newkey', false, $ctx);

if (trim($res) === 'true') {
    // success — read the new key from your profile page
}
const res = await fetch('https://bestdebrid.com/api/v1/newkey', {
  headers: { 'Authorization': 'YOUR_API_KEY', 'Password-X': 'YOUR_PASSWORD' }
});
const ok = (await res.text()).trim() === 'true';

Historique des téléchargements

Renvoie les derniers liens débridés de l'utilisateur, sous forme d'objet indexé à partir de "1" (pas un tableau JSON).

GEThttps://bestdebrid.com/api/v1/downloadsHistory

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.
numoptionnelintegerNumber of entries to return. Default 10, capped at 300.

Schéma de réponse (par entrée)

ChampTypeDescription
namestringFilename of the downloaded file.
linkstringGenerated unrestricted download link.
originalstringOriginal hoster URL you submitted.
ipstringClient IP that triggered the download.
datestringTimestamp Y-m-d H:i:s.

Exemple de réponse

{
  "1": {
    "name": "Video.mkv",
    "link": "https://debrid2.bestdebrid.com/dl/TY/abc.../Video.mkv",
    "original": "https://rapidgator.net/file/abc123",
    "ip": "1.2.3.4",
    "date": "2025-04-18 22: 13: 07"
  },
  "2": {
    "name": "Archive.zip",
    "link": "https://debrid1.bestdebrid.com/dl/TY/def.../Archive.zip",
    "original": "https://k2s.cc/file/def456",
    "ip": "1.2.3.4",
    "date": "2025-04-18 21: 02: 55"
  }
}
Essayer

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' \
  'https://bestdebrid.com/api/v1/downloadsHistory?num=20'
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\n"]]);
$history = json_decode(file_get_contents('https://bestdebrid.com/api/v1/downloadsHistory?num=20', false, $ctx), true);

foreach ($history as $entry) {
    echo $entry['name'] . "\n";
}
const res  = await fetch('https://bestdebrid.com/api/v1/downloadsHistory?num=20', {
  headers: { 'Authorization': 'YOUR_API_KEY' }
});
const history = await res.json();
Object.values(history).forEach(e => console.log(e.name));

Hébergeurs supportés

Liste complète des hébergeurs premium avec statut, icônes, domaines et un indicateur hostfolder signalant ceux qui supportent l'expansion de dossiers via /hostfolder.

GEThttps://bestdebrid.com/api/v1/hosts

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.

Schéma de réponse (par entrée)

ChampTypeDescription
namestringHoster identifier (e.g. rapidgator, mega).
statusstringup or down.
picturestringRelative path to the standard icon (img/hosters/name.png).
picture_100_100stringRelative path to the 100×100 icon.
lastcheckstringTimestamp of the last availability check.
downsincedatestringTimestamp since the hoster is down (empty string if up).
hostfolderbooleantrue if the hoster supports folder/playlist expansion via /hostfolder (gofile, youtube, mega, terabox).
domainsstring[]Domain aliases handled as this hoster (e.g. rapidgator.net, rg.to).

Exemple de réponse

[
  {
    "name": "rapidgator",
    "status": "up",
    "picture": "img/hosters/rapidgator.png",
    "picture_100_100": "img/hosters/100_100/rapidgator.png",
    "lastcheck": "2025-04-19 14: 00: 12",
    "downsincedate": "",
    "hostfolder": false,
    "domains": ["rapidgator.net", "rg.to"]
  },
  {
    "name": "mega",
    "status": "up",
    "picture": "img/hosters/mega.png",
    "picture_100_100": "img/hosters/100_100/mega.png",
    "lastcheck": "2025-04-19 14: 00: 14",
    "downsincedate": "",
    "hostfolder": true,
    "domains": ["mega.io", "mega.nz", "mega.co.nz"]
  }
]
Essayer

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' https://bestdebrid.com/api/v1/hosts
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\n"]]);
$hosts = json_decode(file_get_contents('https://bestdebrid.com/api/v1/hosts', false, $ctx), true);

// Quick lookup: domain -> hoster entry
$byDomain = [];
foreach ($hosts as $h) {
    foreach ($h['domains'] as $d) $byDomain[$d] = $h;
}
const hosts = await (await fetch('https://bestdebrid.com/api/v1/hosts', {
  headers: { 'Authorization': 'YOUR_API_KEY' }
})).json();

const expandable = hosts
  .filter(h => h.hostfolder && h.status === 'up')
  .map(h => h.name);

Compteurs d'hébergeurs

Nombre d'hébergeurs premium en ligne et hors ligne. Idéal pour un tableau de bord.

GEThttps://bestdebrid.com/api/v1/hostscount

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.

Schéma de réponse

ChampTypeDescription
totalhostsintegerTotal number of premium hosters.
hostsupintegerHosters currently marked up.
hostsdownintegerHosters currently marked down.

Exemple de réponse

{
  "totalhosts": 87,
  "hostsup": 81,
  "hostsdown": 6
}
Essayer

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' https://bestdebrid.com/api/v1/hostscount
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\n"]]);
$counts = json_decode(file_get_contents('https://bestdebrid.com/api/v1/hostscount', false, $ctx), true);
const counts = await (await fetch('https://bestdebrid.com/api/v1/hostscount', {
  headers: { 'Authorization': 'YOUR_API_KEY' }
})).json();

Limites par hébergeur

Limites journalières par hébergeur (nombre de téléchargements et bande passante) telles qu'affichées aux utilisateurs.

GEThttps://bestdebrid.com/api/v1/hostslimits

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.

Schéma de réponse (par entrée)

ChampTypeDescription
namestringHoster identifier.
linksperdayintegerMax daily unrestricts visible to users.
bandwidthstringDaily bandwidth cap with units (e.g. "150 GB"); "∞" when unlimited.
picturestringRelative path to the standard icon.
picture_100_100stringRelative path to the 100×100 icon.

Exemple de réponse

[
  {
    "name": "rapidgator",
    "linksperday": 25,
    "bandwidth": "150 GB",
    "picture": "img/hosters/rapidgator.png",
    "picture_100_100": "img/hosters/100_100/rapidgator.png"
  },
  {
    "name": "k2s",
    "linksperday": 50,
    "bandwidth": "∞",
    "picture": "img/hosters/k2s.png",
    "picture_100_100": "img/hosters/100_100/k2s.png"
  }
]
Essayer

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' https://bestdebrid.com/api/v1/hostslimits
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\n"]]);
$limits = json_decode(file_get_contents('https://bestdebrid.com/api/v1/hostslimits', false, $ctx), true);
const limits = await (await fetch('https://bestdebrid.com/api/v1/hostslimits', {
  headers: { 'Authorization': 'YOUR_API_KEY' }
})).json();

Développer un dossier / une playlist

Résout un dossier, un partage ou une playlist en une liste plate d'URL de fichiers à passer ensuite à /generateLink. Supporte Gofile, TeraBox (et ses alias), les playlists YouTube et les dossiers Mega.

POSThttps://bestdebrid.com/api/v1/hostfolder
Fonctionne en GET et en POST.

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.
linkrequisstringThe folder / playlist URL.
listoptionnelstringYouTube playlist ID — only needed if link is a YouTube URL missing list=.
diroptionnelstringTeraBox sub-path inside the share.
pathoptionnelstringAlias for dir.
fsidoptionnelstringTeraBox file ID — filters a single file from the share.
fileNameoptionnelstringTeraBox filename filter (use with fsid).

Schéma de réponse

ChampTypeDescription
errorinteger0 on success, 1 on failure.
messagestring[] | stringArray of resolved URLs on success; human-readable error message on failure.

Exemples de réponses

// Gofile
{
  "error": 0,
  "message": [
    "https://gofile.io/download/abc123?server=store1",
    "https://gofile.io/download/def456?server=store2"
  ]
}

// Non-supported hoster — link echoed back
{
  "error": 0,
  "message": ["https://rapidgator.net/file/abc123"]
}

// Folder with no direct files (TeraBox)
{
  "error": 1,
  "message": "This link contains folders only. We can only unrestrict folders that contain actual files. Please open your link and navigate through the folders until you reach a folder that contains files."
}
Safe to pipe every URL through /hostfolder. If the URL isn't a known folder type, the endpoint echoes it back wrapped in the message array — your client can always expand → unrestrict without branching.
Essayer

Exemples de code

curl -X POST https://bestdebrid.com/api/v1/hostfolder \
  -H 'Authorization: YOUR_API_KEY' \
  --data-urlencode 'link=https://gofile.io/d/XXXXX'
<?php
$ch = curl_init('https://bestdebrid.com/api/v1/hostfolder');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Authorization: YOUR_API_KEY'],
    CURLOPT_POSTFIELDS     => http_build_query(['link' => $folderLink]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

$files = ($response['error'] === 0) ? $response['message'] : [];
const res = await fetch('https://bestdebrid.com/api/v1/hostfolder', {
  method : 'POST',
  headers: { 'Authorization': 'YOUR_API_KEY' },
  body   : new URLSearchParams({ link: folderLink })
});
const { error, message } = await res.json();
const files = error === 0 ? message : [];

Ajouter un torrent / magnet

Met en file un lien magnet ou un fichier .torrent. Les fichiers téléchargés sont ensuite servis en HTTPS via /gettorrentFile.

POSThttps://bestdebrid.com/api/v1/torrentFile

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.
magnetrequisstringMagnet URI, or base64-encoded .torrent file bytes when isFile=1.
isFileoptionnelinteger1 if magnet is a base64 torrent file, 0 for a magnet URI (default). Must be numeric — otherwise error 55.
nocheckoptionnelbooleanSkip the duplicate check (adding the same torrent twice otherwise returns error 6). Default false.
ipoptionnelstringIP address allowed to later download the resulting files. Must be a valid IPv4/IPv6.

Schéma de réponse

ChampTypeDescription
errorinteger0 on success.
messagestring"OK" on success.
torrent_idstringTorrent infohash — use it with /gettorrentFile and /deltorrentFile.
torrent_linkstringHTML-escaped torrent name.

Exemple de réponse

{
  "error": 0,
  "message": "OK",
  "torrent_id": "dc6521c4fec8641eaa5901164c8e57e16a790e05",
  "torrent_link": "Ubuntu.22.04.LTS.iso"
}
Limits: premium plan required · max 5 active torrents (error 5) · max 90 GiB per torrent (error 8) · duplicate within 4 days → error 6 unless nocheck=true · if the total size can't be read from the swarm within ~30 s the torrent is removed and error 8 is returned.

Exemples de code

# magnet URI
curl -X POST https://bestdebrid.com/api/v1/torrentFile \
  -H 'Authorization: YOUR_API_KEY' \
  --data-urlencode 'magnet=magnet:?xt=urn:btih:dc6521c4fec8641eaa5901164c8e57e16a790e05' \
  --data 'isFile=0'
<?php
// Adding a magnet
$ch = curl_init('https://bestdebrid.com/api/v1/torrentFile');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Authorization: YOUR_API_KEY'],
    CURLOPT_POSTFIELDS     => http_build_query([
        'magnet' => 'magnet:?xt=urn:btih:...',
        'isFile' => 0,
    ]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

// Adding a .torrent file
$encoded = base64_encode(file_get_contents('/path/to/file.torrent'));
// ... POST with magnet=$encoded & isFile=1
// magnet
await fetch('https://bestdebrid.com/api/v1/torrentFile', {
  method : 'POST',
  headers: { 'Authorization': 'YOUR_API_KEY' },
  body   : new URLSearchParams({ magnet: 'magnet:?xt=urn:btih:...', isFile: '0' })
});

// .torrent file
const buf = await fetch('/my.torrent').then(r => r.arrayBuffer());
const b64 = btoa(String.fromCharCode(...new Uint8Array(buf)));
await fetch('https://bestdebrid.com/api/v1/torrentFile', {
  method : 'POST',
  headers: { 'Authorization': 'YOUR_API_KEY' },
  body   : new URLSearchParams({ magnet: b64, isFile: '1' })
});

Lister les torrents actifs

Renvoie jusqu'à 5 torrents actifs récents du compte (terminés, en cours ou en attente — pas les supprimés).

GEThttps://bestdebrid.com/api/v1/gettorrentList

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.

Schéma de réponse (par entrée)

ChampTypeDescription
idstringTorrent infohash (use as torrentid in other endpoints).
namestringTorrent display name.
ipstringIP that was locked to this torrent.
datestringTimestamp when the torrent was added.

Exemple de réponse

[
  {
    "id": "dc6521c4fec8641eaa5901164c8e57e16a790e05",
    "name": "Ubuntu.22.04.LTS.iso",
    "ip": "1.2.3.4",
    "date": "2025-04-19 10: 12: 34"
  }
]
Essayer

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' https://bestdebrid.com/api/v1/gettorrentList
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\n"]]);
$list = json_decode(file_get_contents('https://bestdebrid.com/api/v1/gettorrentList', false, $ctx), true);
const list = await (await fetch('https://bestdebrid.com/api/v1/gettorrentList', {
  headers: { 'Authorization': 'YOUR_API_KEY' }
})).json();

Détails d'un torrent

Détails complets d'un torrent : progression, ratio, taille, vitesse et — une fois terminé — la liste des fichiers téléchargeables plus une archive ZIP.

GEThttps://bestdebrid.com/api/v1/gettorrentFile

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.
torrentidrequisstringTorrent infohash returned by /torrentFile or /gettorrentList.

Schéma de réponse

ChampTypeDescription
errorinteger0 on success.
idstringTorrent infohash.
messagestring"OK".
filenamestringTorrent display name.
img-progressstringRelative path to a status icon (img/torrents/ok.gif, deb-loading.gif, wait.png, error.gif).
progressfloatPercent done (0–1).
ratiofloat | stringUpload ratio; empty string when unknown.
seedersintegerNumber of connected peers.
sizeintegerTotal size in bytes.
sizeStringstringHuman-readable size (e.g. "3.2 GB").
speedstringCurrent download speed (e.g. "4.52 MB/s").
serverIDintegerInternal ID of the seedbox storing the torrent.
linksobject | stringOnce finished, an object with zip (URL of the full ZIP) and files (array of per-file URLs). While downloading, the literal string "Waiting...".

Exemple de réponse

{
  "error": 0,
  "id": "dc6521c4fec8641eaa5901164c8e57e16a790e05",
  "message": "OK",
  "filename": "Ubuntu.22.04.LTS.iso",
  "img-progress": "img/torrents/ok.gif",
  "progress": 1,
  "ratio": 1.23,
  "seeders": 12,
  "size": 3489660928,
  "sizeString": "3.25 GB",
  "speed": "0.00 MB/s",
  "serverID": 4,
  "links": {
    "zip": "https://seedbox.bestdebrid.com/index.php?zip=dc6521...&filename=Ubuntu.22.04.LTS.iso",
    "files": [
      "https://seedbox.bestdebrid.com/index.php?filename=dc6521...&id=Ubuntu.22.04.LTS.iso"
    ]
  }
}
ZIP endpoint: links.zip downloads the whole torrent content as a single archive — convenient for multi-file releases.
Essayer

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' \
  'https://bestdebrid.com/api/v1/gettorrentFile?torrentid=dc6521c4...'
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\n"]]);
$t = json_decode(file_get_contents('https://bestdebrid.com/api/v1/gettorrentFile?torrentid=' . $hash, false, $ctx), true);

if ($t['error'] === 0 && is_array($t['links'])) {
    $zip   = $t['links']['zip'];
    $files = $t['links']['files'];
}
const t = await (await fetch('https://bestdebrid.com/api/v1/gettorrentFile?torrentid=' + hash, {
  headers: { 'Authorization': 'YOUR_API_KEY' }
})).json();

if (t.error === 0 && typeof t.links === 'object') {
  const zipUrl = t.links.zip;
  const files  = t.links.files;
}

Supprimer un torrent

Retire un torrent du compte. Les fichiers sont effacés de la seedbox seulement si aucun autre utilisateur ne l'a ajouté depuis 4 jours et si son ratio est ≥ 1.

DELhttps://bestdebrid.com/api/v1/deltorrentFile

Paramètres

ParamètreTypeDescription
authrequisstringYour API key — as Authorization header or ?auth= query param.
torrentidrequisstringTorrent infohash to delete.

Exemple de réponse

{
  "error": 0,
  "message": "Torrent deleted"
}
Irreversible. The torrent entry and any generated download links will no longer be accessible from your account.
Action irréversible : pas de bloc « Essayer » pour cet endpoint.

Exemples de code

curl -H 'Authorization: YOUR_API_KEY' \
  'https://bestdebrid.com/api/v1/deltorrentFile?torrentid=dc6521c4...'
<?php
$ctx = stream_context_create(['http' => ['header' => "Authorization: YOUR_API_KEY\r\n"]]);
$r = json_decode(file_get_contents('https://bestdebrid.com/api/v1/deltorrentFile?torrentid=' . $hash, false, $ctx), true);
await fetch('https://bestdebrid.com/api/v1/deltorrentFile?torrentid=' + hash, {
  headers: { 'Authorization': 'YOUR_API_KEY' }
});
Quota atteint ou clé manquante ? Retrouvez votre clé et votre abonnement sur votre profil.