Entsperren Sie Premium-Links, expandieren Sie Ordner und Playlists, verwalten Sie Torrents und integrieren Sie BestDebrid in Ihre Anwendungen. Vollständige Referenz der REST-Endpunkte von Build 1.07.
JSON über HTTPS
API-Schlüssel
70 Links / 24 h
Build 1.07
Die BestDebrid-API ist eine REST-Schnittstelle, die JSON über HTTPS liefert. Die meisten Endpunkte akzeptieren GET und POST, mit Parametern im Query-String oder im Request-Body.
Die technischen Tabellen (Parameter, Felder, Codebeispiele) sind auf Englisch.
Basis-URL
https://bestdebrid.com/api/v1
Antwortstruktur
Jeder Endpunkt liefert ein JSON-Objekt mit einer Ganzzahl error (0 = Erfolg) und einer message: lesbarer Text bei Fehlern oder die Nutzdaten (String, Array, Objekt) bei Erfolg. Umfangreichere Endpunkte fügen eigene Felder neben error hinzu.
{
"error": 0,
"message": "OK"// additional fields depending on the endpoint
}
Authentifizierung
Alle Endpunkte außer /, /time und /regex benötigen Ihren API-Schlüssel. Zwei Wege, ihn zu übergeben:
Option 1 — HTTP-Header (empfohlen)
Authorization: YOUR_API_KEY
Option 2 — Query-String
?auth=YOUR_API_KEY
Wo Sie Ihren Schlüssel finden: melden Sie sich an, er steht in Ihrem Profil (Abschnitt API). Erneuern Sie ihn jederzeit mit /newkey. /newkey
Halten Sie Ihren Schlüssel geheim. Nie in clientseitigem Code, öffentlichen Repositories oder verteilten Erweiterungen offenlegen. Bei einem Leak sofort erneuern.
Ihr API-Schlüssel für die TestsWird von den „Ausprobieren“-Blöcken dieser Seite verwendet, nie gespeichert.
Fehlerbehandlung
Das Feld error zeigt das Ergebnis an. Ein Wert ungleich null wird von einer beschreibenden message begleitet. Codes werden zwischen Endpunkten wiederverwendet; die Bedeutung steckt in der Nachricht.
0Erfolg — die Anfrage wurde abgeschlossen.
1Fehlender oder ungültiger Parameter (leerer Link, falscher API-Schlüssel, fehlendes Passwort).
2Ungültiges URL-Format — der Link muss mit http:// oder https:// beginnen.
3Nicht unterstützter Link, ungültiger Magnet oder Benutzer nicht angemeldet.
4Kostenlose Konten können diesen Hoster nicht entsperren (nur Premium).
5Zu viele aktive Torrents (max. 5) oder Fehler des Torrent-Servers.
6Kostenloses Tageslimit erreicht, doppelter Torrent oder Hoster in Wartung.
7Dateigröße über dem kostenlosen Limit oder Fehler bei der Link-Erzeugung.
8Torrent-Größe nicht ermittelbar oder Torrent über 90 GiB.
9Hoster-Kontingent vor der Erzeugung erreicht (tägliche Links bei diesem Hoster).
10Erzeugung fehlgeschlagen — der Hoster hat einen Fehler gemeldet.
19Hoster-Limit erreicht, nachdem der Link bereits erzeugt wurde.
21Premium-Tarif für den API-Zugriff erforderlich.
22API-Zugriff für dieses Konto gesperrt.
55Dienst in Wartung oder ungültiger Parametertyp (z. B. nicht numerisches isFile).
56Ungültige IP-Adresse, Wartezeit nicht abgelaufen oder kostenloses Tageskontingent.
121Tägliches Download-Kontingent erreicht (70 eindeutige Links / 24 h).
122Zu viele laufende Entsperrungen — in ~1 Min. erneut versuchen.
Tageskontingent: jedes Konto ist auf 70 eindeutige Dateien pro 24 h begrenzt, Web und API zusammen (Fehler 121). Laufende Entsperrungen zählen ebenfalls (Fehler 122).
Wurzel — Endpunkte auflisten
Liefert ein JSON-Array mit Strings, die jeden Endpunkt des aktuellen Builds beschreiben. Praktisch für Verfügbarkeitstests.
GEThttps://bestdebrid.com/api/v1/
Keine Authentifizierung erforderlich.
Beispielantwort
[
"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] **"
]
const r = await fetch('https://bestdebrid.com/api/v1/time');
console.log((await r.json()).message);
Reguläre Ausdrücke der Hoster
Liefert die Liste der regulären Ausdrücke (PCRE), die unterstützte Links erkennen. Damit lassen sich URLs clientseitig filtern, bevor /generateLink aufgerufen wird.
GEThttps://bestdebrid.com/api/v1/regex
Keine Authentifizierung erforderlich.
Antwortschema
Feld
Typ
Beschreibung
[]
string[]
Flat JSON array of PCRE patterns (PHP preg_match syntax, with delimiters). The last pattern matches base64-encoded http(s):// links.
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.
Unwiderrufliche Aktion: kein „Ausprobieren“-Block für diesen Endpunkt.
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));
Unterstützte Hoster
Vollständige Liste der Premium-Hoster mit Status, Icons, Domains und einem hostfolder-Flag, das angibt, welche per /hostfolder expandiert werden können.
GEThttps://bestdebrid.com/api/v1/hosts
Parameter
Parameter
Typ
Beschreibung
autherforderlich
string
Your API key — as Authorization header or ?auth= query param.
Antwortschema (pro Eintrag)
Feld
Typ
Beschreibung
name
string
Hoster identifier (e.g. rapidgator, mega).
status
string
up or down.
picture
string
Relative path to the standard icon (img/hosters/name.png).
picture_100_100
string
Relative path to the 100×100 icon.
lastcheck
string
Timestamp of the last availability check.
downsincedate
string
Timestamp since the hoster is down (empty string if up).
hostfolder
boolean
true if the hoster supports folder/playlist expansion via /hostfolder (gofile, youtube, mega, terabox).
domains
string[]
Domain aliases handled as this hoster (e.g. rapidgator.net, rg.to).
Hostname normalization: aliases are rewritten before processing — rg.to → rapidgator.net, keep2share.cc → k2s.cc, fr.scribd.com → scribd.com, mixdrop.* → mixdrop.ag, TeraBox mirrors → terabox.com, and so on.
Free-user restrictions: free accounts can only unrestrict links from hosters flagged as free where at least one free server is up. VPN/proxy usage is forbidden on free accounts (error 632). A per-file size cap may also apply.
const body = new URLSearchParams({
link: 'https://rapidgator.net/file/abc123'
});
const res = await fetch('https://bestdebrid.com/api/v1/generateLink', {
method : 'POST',
headers: { 'Authorization': 'YOUR_API_KEY' },
body
});
const data = await res.json();
if (data.error === 0) console.log(data.link);
import requests
r = requests.post('https://bestdebrid.com/api/v1/generateLink',
headers={'Authorization': 'YOUR_API_KEY'},
data={'link': 'https://rapidgator.net/file/abc123'})
data = r.json()
if data['error'] == 0:
print(data['link'])
Ordner / Playlist expandieren
Löst einen Ordner, eine Freigabe oder eine Playlist in eine Liste von Datei-URLs auf, die an /generateLink übergeben werden. Unterstützt Gofile, TeraBox (und Aliase), YouTube-Playlists und Mega-Ordner.
POSThttps://bestdebrid.com/api/v1/hostfolder
Funktioniert mit GET und POST.
Parameter
Parameter
Typ
Beschreibung
autherforderlich
string
Your API key — as Authorization header or ?auth= query param.
linkerforderlich
string
The folder / playlist URL.
listoptional
string
YouTube playlist ID — only needed if link is a YouTube URL missing list=.
diroptional
string
TeraBox sub-path inside the share.
pathoptional
string
Alias for dir.
fsidoptional
string
TeraBox file ID — filters a single file from the share.
fileNameoptional
string
TeraBox filename filter (use with fsid).
Antwortschema
Feld
Typ
Beschreibung
error
integer
0 on success, 1 on failure.
message
string[] | string
Array of resolved URLs on success; human-readable error message on failure.
Beispielantworten
// 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.
Stellt einen Magnet-Link oder eine .torrent-Datei in die Warteschlange. Heruntergeladene Dateien werden danach über HTTPS via /gettorrentFile bereitgestellt.
POSThttps://bestdebrid.com/api/v1/torrentFile
Parameter
Parameter
Typ
Beschreibung
autherforderlich
string
Your API key — as Authorization header or ?auth= query param.
magneterforderlich
string
Magnet URI, or base64-encoded .torrent file bytes when isFile=1.
isFileoptional
integer
1 if magnet is a base64 torrent file, 0 for a magnet URI (default). Must be numeric — otherwise error 55.
nocheckoptional
boolean
Skip the duplicate check (adding the same torrent twice otherwise returns error 6). Default false.
ipoptional
string
IP address allowed to later download the resulting files. Must be a valid IPv4/IPv6.
Antwortschema
Feld
Typ
Beschreibung
error
integer
0 on success.
message
string
"OK" on success.
torrent_id
string
Torrent infohash — use it with /gettorrentFile and /deltorrentFile.
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.
Codebeispiele
# 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'
Vollständige Details eines Torrents: Fortschritt, Ratio, Größe, Geschwindigkeit und — nach Abschluss — die Liste der herunterladbaren Dateien plus ein ZIP-Archiv.
GEThttps://bestdebrid.com/api/v1/gettorrentFile
Parameter
Parameter
Typ
Beschreibung
autherforderlich
string
Your API key — as Authorization header or ?auth= query param.
torrentiderforderlich
string
Torrent infohash returned by /torrentFile or /gettorrentList.
Antwortschema
Feld
Typ
Beschreibung
error
integer
0 on success.
id
string
Torrent infohash.
message
string
"OK".
filename
string
Torrent display name.
img-progress
string
Relative path to a status icon (img/torrents/ok.gif, deb-loading.gif, wait.png, error.gif).
progress
float
Percent done (0–1).
ratio
float | string
Upload ratio; empty string when unknown.
seeders
integer
Number of connected peers.
size
integer
Total size in bytes.
sizeString
string
Human-readable size (e.g. "3.2 GB").
speed
string
Current download speed (e.g. "4.52 MB/s").
serverID
integer
Internal ID of the seedbox storing the torrent.
links
object | string
Once finished, an object with zip (URL of the full ZIP) and files (array of per-file URLs). While downloading, the literal string "Waiting...".
Entfernt einen Torrent aus dem Konto. Die Dateien werden nur von der Seedbox gelöscht, wenn kein anderer Benutzer ihn in den letzten 4 Tagen hinzugefügt hat und die Ratio ≥ 1 ist.
DELhttps://bestdebrid.com/api/v1/deltorrentFile
Parameter
Parameter
Typ
Beschreibung
autherforderlich
string
Your API key — as Authorization header or ?auth= query param.
torrentiderforderlich
string
Torrent infohash to delete.
Beispielantwort
{
"error": 0,
"message": "Torrent deleted"
}
Irreversible. The torrent entry and any generated download links will no longer be accessible from your account.
Unwiderrufliche Aktion: kein „Ausprobieren“-Block für diesen Endpunkt.