Bestdebrid

Documentación de la API

Desbloquea enlaces premium, expande carpetas y listas, gestiona torrents e integra BestDebrid en tus aplicaciones. Referencia completa de los endpoints REST del build 1.07.

JSON sobre HTTPS Clave API 70 enlaces / 24 h Build 1.07
En esta página

Introducción

La API de BestDebrid es una interfaz REST que devuelve JSON sobre HTTPS. La mayoría de los endpoints aceptan GET y POST, con parámetros en la query string o en el cuerpo de la petición.

Las tablas técnicas (parámetros, campos, ejemplos de código) están en inglés.

URL base

https://bestdebrid.com/api/v1

Estructura de la respuesta

Cada endpoint devuelve un objeto JSON con un entero error (0 = éxito) y un message: texto legible en caso de fallo, o la carga útil (cadena, array, objeto) en caso de éxito. Los endpoints más completos añaden sus propios campos junto a error.

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

Autenticación

Todos los endpoints salvo /, /time y /regex requieren tu clave API. Dos formas de enviarla:

Opción 1 — cabecera HTTP (recomendada)

Authorization: YOUR_API_KEY

Opción 2 — query string

?auth=YOUR_API_KEY
Dónde encontrar tu clave: inicia sesión, aparece en tu perfil (sección API). Regénérala cuando quieras con /newkey. /newkey
Mantén tu clave en secreto. No la expongas en código del lado cliente, repositorios públicos ni extensiones distribuidas. Si se filtra, regénérala de inmediato.
Tu clave API para las pruebas La usan los bloques «Probar» de esta página; nunca se guarda.

Gestión de errores

El campo error indica el resultado. Un valor distinto de cero va acompañado de un message descriptivo. Los códigos se reutilizan entre endpoints; el significado lo aporta el mensaje.

0Éxito — la petición se completó.
1Parámetro ausente o no válido (enlace vacío, clave API incorrecta, contraseña ausente).
2Formato de URL no válido — el enlace debe empezar por http:// o https://.
3Enlace no soportado, magnet no válido o usuario no conectado.
4Las cuentas gratuitas no pueden desbloquear este alojamiento (solo premium).
5Demasiados torrents activos (máx. 5) o error del servidor de torrents.
6Límite diario gratuito alcanzado, torrent duplicado o alojamiento en mantenimiento.
7Tamaño de archivo superior al límite gratuito, o error al generar el enlace.
8No se pudo determinar el tamaño del torrent, o supera los 90 GiB.
9Cuota del alojamiento alcanzada antes de generar (enlaces diarios en este alojamiento).
10Generación fallida — el alojamiento devolvió un error.
19Límite del alojamiento alcanzado después de generar el enlace.
21Se requiere plan premium para acceder a la API.
22Acceso a la API bloqueado en esta cuenta.
55Servicio en mantenimiento, o tipo de parámetro no válido (p. ej. isFile no numérico).
56Dirección IP no válida, tiempo de espera no transcurrido, o cuota diaria gratuita.
121Cuota diaria de descarga alcanzada (70 enlaces únicos / 24 h).
122Demasiados desbloqueos en curso — reintenta en ~1 min.
632VPN/proxy detectado (prohibido para cuentas gratuitas).
Cuota diaria: cada cuenta está limitada a 70 archivos únicos cada 24 h, web y API incluidos (error 121). Los desbloqueos en curso también cuentan (error 122).

Raíz — lista de endpoints

Devuelve un array JSON de cadenas que describen cada endpoint del build actual. Útil para comprobaciones.

GEThttps://bestdebrid.com/api/v1/
No requiere autenticación.

Ejemplo de respuesta

[
  "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]  **"
]
Probar

Ejemplos de código

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);

Hora del servidor

Devuelve la hora actual del servidor. Útil para sincronizar clientes o detectar desfases de reloj.

GEThttps://bestdebrid.com/api/v1/time
No requiere autenticación.

Ejemplo de respuesta

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

Ejemplos de código

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);

Expresiones regulares de alojamientos

Devuelve la lista de expresiones regulares (PCRE) que reconocen los enlaces soportados. Permite filtrar URLs en el cliente antes de llamar a /generateLink.

GEThttps://bestdebrid.com/api/v1/regex
No requiere autenticación.

Esquema de respuesta

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

Ejemplo de respuesta

[
  "/(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.
Probar

Ejemplos de código

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));

Información del usuario

Devuelve el perfil del usuario autenticado: estado premium, caducidad y si la cuenta omite los límites de la API.

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.

Esquema de respuesta

CampoTipoDescripción
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.

Ejemplo de respuesta

{
  "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
}
Probar

Ejemplos de código

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();

Regenerar la clave API

Genera una clave API nueva. La anterior queda invalidada de inmediato. Devuelve la cadena literal true si tiene éxito.

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour current API key (or Authorization header).
passobligatoriostringYour account password (or Password-X header). Confirms the rotation.

Ejemplos de respuesta

// 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.
Acción irreversible: sin bloque «Probar» para este endpoint.

Ejemplos de código

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';

Historial de descargas

Devuelve los últimos enlaces desbloqueados del usuario como un objeto indexado desde "1" (no un array JSON).

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.
numopcionalintegerNumber of entries to return. Default 10, capped at 300.

Esquema de respuesta (por entrada)

CampoTipoDescripción
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.

Ejemplo de respuesta

{
  "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"
  }
}
Probar

Ejemplos de código

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));

Alojamientos soportados

Lista completa de alojamientos premium con estado, iconos, dominios y un indicador hostfolder que señala cuáles admiten expansión de carpetas vía /hostfolder.

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.

Esquema de respuesta (por entrada)

CampoTipoDescripción
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).

Ejemplo de respuesta

[
  {
    "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"]
  }
]
Probar

Ejemplos de código

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);

Contadores de alojamientos

Número de alojamientos premium activos e inactivos. Ideal para paneles de estado.

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.

Esquema de respuesta

CampoTipoDescripción
totalhostsintegerTotal number of premium hosters.
hostsupintegerHosters currently marked up.
hostsdownintegerHosters currently marked down.

Ejemplo de respuesta

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

Ejemplos de código

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();

Límites por alojamiento

Límites diarios por alojamiento (número de descargas y ancho de banda) tal como se muestran a los usuarios.

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.

Esquema de respuesta (por entrada)

CampoTipoDescripción
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.

Ejemplo de respuesta

[
  {
    "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"
  }
]
Probar

Ejemplos de código

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();

Expandir una carpeta / lista

Resuelve una carpeta, un recurso compartido o una lista en URLs de archivo para pasar a /generateLink. Soporta Gofile, TeraBox (y alias), listas de YouTube y carpetas de Mega.

POSThttps://bestdebrid.com/api/v1/hostfolder
Funciona con GET y con POST.

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.
linkobligatoriostringThe folder / playlist URL.
listopcionalstringYouTube playlist ID — only needed if link is a YouTube URL missing list=.
diropcionalstringTeraBox sub-path inside the share.
pathopcionalstringAlias for dir.
fsidopcionalstringTeraBox file ID — filters a single file from the share.
fileNameopcionalstringTeraBox filename filter (use with fsid).

Esquema de respuesta

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

Ejemplos de respuesta

// 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.
Probar

Ejemplos de código

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 : [];

Añadir torrent / magnet

Pone en cola un enlace magnet o un archivo .torrent. Los archivos descargados se sirven después por HTTPS vía /gettorrentFile.

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.
magnetobligatoriostringMagnet URI, or base64-encoded .torrent file bytes when isFile=1.
isFileopcionalinteger1 if magnet is a base64 torrent file, 0 for a magnet URI (default). Must be numeric — otherwise error 55.
nocheckopcionalbooleanSkip the duplicate check (adding the same torrent twice otherwise returns error 6). Default false.
ipopcionalstringIP address allowed to later download the resulting files. Must be a valid IPv4/IPv6.

Esquema de respuesta

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

Ejemplo de respuesta

{
  "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.

Ejemplos de código

# 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' })
});

Listar torrents activos

Devuelve hasta los 5 torrents activos más recientes de la cuenta (completados, en curso o en cola — no los eliminados).

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.

Esquema de respuesta (por entrada)

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

Ejemplo de respuesta

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

Ejemplos de código

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();

Detalles de un torrent

Detalles completos de un torrent: progreso, ratio, tamaño, velocidad y — al terminar — la lista de archivos descargables más un archivo ZIP.

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.
torrentidobligatoriostringTorrent infohash returned by /torrentFile or /gettorrentList.

Esquema de respuesta

CampoTipoDescripción
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...".

Ejemplo de respuesta

{
  "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.
Probar

Ejemplos de código

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;
}

Eliminar un torrent

Quita un torrent de la cuenta. Los archivos se borran de la seedbox solo si ningún otro usuario lo añadió en los últimos 4 días y su ratio es ≥ 1.

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

Parámetros

ParámetroTipoDescripción
authobligatoriostringYour API key — as Authorization header or ?auth= query param.
torrentidobligatoriostringTorrent infohash to delete.

Ejemplo de respuesta

{
  "error": 0,
  "message": "Torrent deleted"
}
Irreversible. The torrent entry and any generated download links will no longer be accessible from your account.
Acción irreversible: sin bloque «Probar» para este endpoint.

Ejemplos de código

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' }
});
¿Cuota alcanzada o sin clave? Tu clave y tu plan están en tu perfil.