API Docs

API documentation & integration examples

0
JSON responses UTF-8 CORS enabled
Authentication
Most endpoints require an API key. Get yours from the Devices & API page. Pass it using any of the following methods — all are equivalent:
Authorization Header
Authorization: Bearer YOUR_API_KEY
X-Api-Key Header
X-Api-Key: YOUR_API_KEY
Query Parameter
?apikey=YOUR_API_KEY
Cookie Session
Get cookie by signin in at /login page
Rate Limits
Rate limits apply per API key per minute. When exceeded, the API returns HTTP 429. Cookie-based browser sessions are not rate limited.
120
req/min
Premium accounts
15
req/min
Free accounts
10
req/min
Public endpoints
Error Codes
Errors return a JSON object with error (HTTP status code) and message (human-readable description).
Error Response Format
{ "error": 401, "message": "Authentication required." }
401
Unauthorized — Missing or invalid API key
403
Forbidden — Account locked or feature requires premium
429
Rate Limited — Too many requests, check Retry-After header
500
Server Error — Internal error, retry after a moment
Quick Start
Full working examples to generate a premium link. Replace YOUR_API_KEY with your actual key.
# Generate a premium download link curl -X POST https://www.deepbrid.com/api/v1/generate/link \ -H "Authorization: Bearer YOUR_API_KEY" \ -d "link=https://domain.com/file/abc123" # Get account info curl https://www.deepbrid.com/api/v1/user \ -H "Authorization: Bearer YOUR_API_KEY" # List supported hosters (no auth needed) curl https://www.deepbrid.com/api/v1/hosts # Add a torrent via magnet link curl -X POST https://www.deepbrid.com/api/v1/torrents/add \ -H "Authorization: Bearer YOUR_API_KEY" \ -d "magnet=magnet:?xt=urn:btih:..." # Check your API key usage stats curl https://www.deepbrid.com/api/v1/apikey/info \ -H "Authorization: Bearer YOUR_API_KEY"
import requests API_KEY = "YOUR_API_KEY" BASE = "https://www.deepbrid.com/api/v1" HEADERS = {"Authorization": f"Bearer {API_KEY}"} # Generate a premium download link resp = requests.post(f"{BASE}/generate/link", headers=HEADERS, data={"link": "https://domain.com/file/abc123"} ) print(resp.json()) # Get account info user = requests.get(f"{BASE}/user", headers=HEADERS) print(user.json()) # List supported hosters (public, no auth) hosts = requests.get(f"{BASE}/hosts") print(hosts.json()) # Add a torrent torrent = requests.post(f"{BASE}/torrents/add", headers=HEADERS, data={"magnet": "magnet:?xt=urn:btih:..."} ) print(torrent.json()) # Download history history = requests.get(f"{BASE}/downloads", headers=HEADERS) print(history.json()["data"])
const API_KEY = "YOUR_API_KEY"; const BASE = "https://www.deepbrid.com/api/v1"; const headers = { "Authorization": `Bearer ${API_KEY}` }; // Generate a premium download link const resp = await fetch(`${BASE}/generate/link`, { method: "POST", headers: { ...headers, "Content-Type": "application/x-www-form-urlencoded" }, body: "link=https://domain.com/file/abc123" }); const data = await resp.json(); console.log(data); // Get account info const user = await fetch(`${BASE}/user`, { headers }) .then(r => r.json()); console.log(user); // List supported hosters (public) const hosts = await fetch(`${BASE}/hosts`) .then(r => r.json()); console.log(hosts); // Add a torrent const torrent = await fetch(`${BASE}/torrents/add`, { method: "POST", headers: { ...headers, "Content-Type": "application/x-www-form-urlencoded" }, body: "magnet=magnet:?xt=urn:btih:..." }).then(r => r.json()); console.log(torrent);
$apiKey = "YOUR_API_KEY"; $base = "https://www.deepbrid.com/api/v1"; // Helper function function deepbridApi($endpoint, $post = null) { global $apiKey, $base; $ch = curl_init("{$base}{$endpoint}"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["Authorization: Bearer {$apiKey}"], ]); if ($post) { curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); } $resp = json_decode(curl_exec($ch), true); curl_close($ch); return $resp; } // Generate a premium download link $link = deepbridApi("/generate/link", [ "link" => "https://domain.com/file/abc123" ]); print_r($link); // Get account info $user = deepbridApi("/user"); print_r($user); // List hosters (public) $hosts = deepbridApi("/hosts"); print_r($hosts); // Add a torrent $torrent = deepbridApi("/torrents/add", [ "magnet" => "magnet:?xt=urn:btih:..." ]); print_r($torrent);
using System.Net.Http; using System.Net.Http.Headers; var apiKey = "YOUR_API_KEY"; var baseUrl = "https://www.deepbrid.com/api/v1"; var client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey); // Generate a premium download link var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string,string>("link", "https://domain.com/file/abc123") }); var resp = await client.PostAsync($"{baseUrl}/generate/link", content); var json = await resp.Content.ReadAsStringAsync(); Console.WriteLine(json); // Get account info var user = await client.GetStringAsync($"{baseUrl}/user"); Console.WriteLine(user); // List hosters (public) var hosts = await new HttpClient().GetStringAsync($"{baseUrl}/hosts"); Console.WriteLine(hosts);
package main import ( "fmt" "io" "net/http" "strings" ) const ( apiKey = "YOUR_API_KEY" baseURL = "https://www.deepbrid.com/api/v1" ) func main() { // Generate a premium download link body := strings.NewReader("link=https://domain.com/file/abc123") req, _ := http.NewRequest("POST", baseURL+"/generate/link", body) req.Header.Set("Authorization", "Bearer "+apiKey) req.Header.Set("Content-Type", "application/x-www-form-urlencoded") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() data, _ := io.ReadAll(resp.Body) fmt.Println(string(data)) // Get account info req2, _ := http.NewRequest("GET", baseURL+"/user", nil) req2.Header.Set("Authorization", "Bearer "+apiKey) resp2, _ := http.DefaultClient.Do(req2) defer resp2.Body.Close() data2, _ := io.ReadAll(resp2.Body) fmt.Println(string(data2)) }
User
GET /api/v1/user
Auth required
Returns account information for the authenticated user, including subscription type and expiration.
Response
200 OK
{ "username": "john", "email": "[email protected]", "type": "premium", "fidelity_points": 0, "expiration": "2026-06-15", "maxDownloads": 5, "maxConnections": 1 }
GET /api/v1/user/stats
Auth required
Returns download and traffic usage statistics for the current user.
Response
200 OK
{ "downloads": 42, "bandwidth": "15.30 GB", "bandwidth_bytes": 16424337408, "torrents": 5, "remote": 3 }
GET /api/v1/user/limits
Auth required Premium
Returns per-hoster daily traffic and link usage with limits. Each hoster has either a bandwidth (bytes) or links limit that resets daily.
curl https://www.deepbrid.com/api/v1/user/limits \ -H "Authorization: Bearer YOUR_API_KEY"
limits = requests.get(f"{BASE}/user/limits", headers=HEADERS) for h in limits.json()["hosters"]: if h["type"] == "bandwidth": print(f"{h['domain']}: {h['used_str']} / {h['limit_str']}") else: print(f"{h['domain']}: {h['used']} / {h['limit']} links")
const limits = await fetch(`${BASE}/user/limits`, { headers }) .then(r => r.json()); limits.hosters.forEach(h => { const info = h.type === "bandwidth" ? `${h.used_str} / ${h.limit_str}` : `${h.used} / ${h.limit} links`; console.log(`${h.domain}: ${info}`); });
Response
200 OK
{ "error": 0, "limits_enabled": true, "reset": "daily", "hosters": [ { "domain": "rapidgator.net", "type": "links", "limit": 5, "used": 3, "remaining": 2 }, { "domain": "turbobit.net", "type": "bandwidth", "limit": 10737418240, "used": 2147483648, "remaining": 8589934592, "limit_str": "10.00 GB", "used_str": "2.00 GB", "remaining_str": "8.00 GB" } ] }
POST /api/v1/generate/link
Auth required
Generate a premium download link from a file hoster URL. This is the main endpoint most integrations use.
Parameters
NameTypeDescription
link requiredstringOriginal file hoster URL to unrestrict
passstringPassword for protected files
curl -X POST https://www.deepbrid.com/api/v1/generate/link \ -H "Authorization: Bearer YOUR_API_KEY" \ -d "link=https://domain.com/file/abc123"
resp = requests.post(f"{BASE}/generate/link", headers=HEADERS, data={"link": "https://domain.com/file/abc123"} ) download_url = resp.json()["link"]
const resp = await fetch(`${BASE}/generate/link`, { method: "POST", headers: { ...headers, "Content-Type": "application/x-www-form-urlencoded" }, body: "link=https://domain.com/file/abc123" }); const { link } = await resp.json();
$result = deepbridApi("/generate/link", [ "link" => "https://domain.com/file/abc123" ]); echo $result["link"]; // direct download URL
Response
200 OK
{ "error": 0, "message": "OK", "original_link": "https://rapidgator.net/file/abc123", "hoster": "rapidgator", "hoster-icon": "rapidgator.png", "filename": "my_file.zip", "link": "https://premium-dl.deepbrid.com/d/...", "stream": "hash_for_streaming", "size": "1.50 GB" }
POST /api/v1/generate/folder
Auth required
Premium
Get the list of individual file links inside a hoster folder URL. Accepted folder hosts: Terabox.com, Mega.nz and Gofile.io.
Parameters
NameTypeDescription
link requiredstringHoster folder URL
Downloads
GET /api/v1/downloads
Auth required Premium
Get the download history for the authenticated user. Supports pagination via limit and offset query parameters.
Parameters
NameTypeDescription
limitintMax results, 1-500 (default: 200)
offsetintSkip this many results (default: 0)
curl https://www.deepbrid.com/api/v1/downloads \ -H "Authorization: Bearer YOUR_API_KEY"
history = requests.get(f"{BASE}/downloads", headers=HEADERS) for dl in history.json()["data"]: print(dl["filename"], dl["size"])
const history = await fetch(`${BASE}/downloads`, { headers }) .then(r => r.json()); history.data.forEach(dl => console.log(dl.filename, dl.size));
Response
200 OK
{ "success": true, "count": 1520, "data": [ { "filename": "my_file.zip", "size": "1.50 GB", "original": "https://rapidgator.net/file/abc123", "download": "https://premium-dl.deepbrid.com/d/...", "date": "2026-03-01 14:30:00" } ], "limit": 200, "offset": 0 }
Torrents
POST /api/v1/torrents/add
Auth required Premium
Add a torrent to the cloud using a magnet link.
Parameters
NameTypeDescription
magnet requiredstringMagnet link
curl -X POST https://www.deepbrid.com/api/v1/torrents/add \ -H "Authorization: Bearer YOUR_API_KEY" \ -d "magnet=magnet:?xt=urn:btih:abc123..."
resp = requests.post(f"{BASE}/torrents/add", headers=HEADERS, data={"magnet": "magnet:?xt=urn:btih:abc123..."} )
const resp = await fetch(`${BASE}/torrents/add`, { method: "POST", headers: { ...headers, "Content-Type": "application/x-www-form-urlencoded" }, body: "magnet=magnet:?xt=urn:btih:abc123..." });
GET /api/v1/torrents/info
Auth required Premium Coming Soon
Get status, progress, and file list of a torrent.
Parameters
NameTypeDescription
id requiredstringTorrent ID from the add response or your torrent list
Usenet
POST /api/v1/usenet/add
Auth required Premium
Upload an NZB file or NZB URL for Usenet download processing.
Parameters
NameTypeDescription
nzb_urlstringURL to an NZB file
nzb_filefileNZB file upload (multipart/form-data)
# Upload NZB file curl -X POST https://www.deepbrid.com/api/v1/usenet/add \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "nzb_file=@/path/to/file.nzb" # Or pass an NZB URL curl -X POST https://www.deepbrid.com/api/v1/usenet/add \ -H "Authorization: Bearer YOUR_API_KEY" \ -d "nzb_url=https://example.com/file.nzb"
# Upload NZB file with open("file.nzb", "rb") as f: resp = requests.post(f"{BASE}/usenet/add", headers=HEADERS, files={"nzb_file": f} ) # Or pass a URL resp = requests.post(f"{BASE}/usenet/add", headers=HEADERS, data={"nzb_url": "https://example.com/file.nzb"} )
Remote Upload
POST /api/v1/remote/add
Auth required Premium Coming Soon
Upload a file from a remote URL directly to your Deepbrid cloud storage.
Parameters
NameTypeDescription
link requiredstringURL of the file to upload
Hosts
GET /api/v1/hosts
No auth required
Get the list of all supported file hosting services and their current status. This is a public endpoint, no API key is needed.
curl https://www.deepbrid.com/api/v1/hosts
hosts = requests.get("https://www.deepbrid.com/api/v1/hosts") for h in hosts.json(): for domain, status in h.items(): print(f"{domain}: {status}")
const hosts = await fetch("https://www.deepbrid.com/api/v1/hosts") .then(r => r.json()); hosts.forEach(h => { const [[domain, status]] = Object.entries(h); console.log(`${domain}: ${status}`); });
Response
200 OK
[ { "rapidgator.net": "up" }, { "turbobit.net": "up" }, { "ddownload.com": "down (2026-03-01)" } ]
API Key Management
GET /api/v1/apikey
Auth required
Get the current user's API key.
Response
200 OK
{ "error": 0, "apikey": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4..." }
POST /api/v1/apikey/regenerate
Auth required
Generate a new API key. The previous key is immediately invalidated — all connected apps and integrations will need to be updated with the new key.
Response
200 OK
{ "error": 0, "apikey": "new_key_value_here...", "message": "API key regenerated. Update all your apps." }
GET /api/v1/apikey/devices
Auth required
List all devices and applications that have accessed the API using your key, with IP, user-agent, and request counts.
Parameters
NameTypeDescription
limitintMax results, 1-50 (default: 20)
Response
200 OK
{ "error": 0, "total": 2, "devices": [ { "ip_address": "1.2.3.4", "device_name": "Kodi", "user_agent": "Kodi/21.0", "first_seen_at": "2026-01-15 10:30:00", "last_seen_at": "2026-02-27 14:22:00", "request_count": 482 }, { "ip_address": "5.6.7.8", "device_name": "Python", "user_agent": "python-requests/2.31", "first_seen_at": "2026-02-01 08:00:00", "last_seen_at": "2026-02-27 12:15:00", "request_count": 91 } ] }
GET /api/v1/apikey/info
Auth required
Get cumulative usage statistics for your API key: total requests, links generated, last used date, and creation info.
Response
200 OK
{ "error": 0, "apikey": "a1b2c3d4...", "total_requests": 12450, "total_links": 3201, "last_used_at": "2026-02-27 14:22:00", "last_ip": "1.2.3.4", "created_at": "2026-01-01 00:00:00", "regenerated_at": null }
Addons
GET /api/v1/addons
No auth required
Get available Deepbrid official applications and their latest version info. Useful for implementing auto-update checks in your app.
Response
200 OK
{ "error": 0, "deepbrid-video-player": { "name": "Deepbrid - Video Player (beta)", "version": "1.2.0", "date": "18/02/2026", "url": "https://www.deepbrid.com/content/f/id/2" } }

Legal: Our service acts like a gateway between you and the filehost service, redirecting the file directly to you from filehosts servers. We never save the file on our servers.

© 2013 - 2026 Deepbrid. All rights reserved.