Learn how to integrate JADA Downloader services into your applications with our simple and powerful API.
Welcome to the JADA Downloader API documentation. Our API allows you to search for YouTube videos and integrate download functionality into your applications.
| Endpoint | Method | Description |
|---|---|---|
| /search.php | GET | Search YouTube videos |
| /youtube.php | POST | Get YouTube video download options |
| /tiktok.php | POST | Get TikTok video download options |
Search for YouTube videos using keywords. Returns video information including titles, thumbnails, and channel names.
| Parameter | Type | Required | Description |
|---|---|---|---|
| q | string | Required | Search query (keywords to search for) |
{
"items": [
{
"id": "dQw4w9WgXcQ",
"title": "Video Title Here",
"channel": "Channel Name",
"thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/mqdefault.jpg"
}
],
"count": 15
}
curl -X GET "https://dl.jadadev.com/search.php?q=music%20video"
const response = await fetch('https://dl.jadadev.com/search.php?q=music%20video');
const data = await response.json();
console.log(data.items);
To ensure fair usage and maintain service quality, the following rate limits apply:
| Endpoint | Limit | Window |
|---|---|---|
| /search.php | 30 requests | Per minute |
| /youtube.php | 10 requests | Per minute |
| /tiktok.php | 10 requests | Per minute |
The API returns appropriate HTTP status codes and error messages:
| Status Code | Meaning | Action |
|---|---|---|
| 200 | Success | Request completed successfully |
| 400 | Bad Request | Check your request parameters |
| 429 | Too Many Requests | Wait and retry later |
| 500 | Server Error | Try again later or contact support |
{
"items": [],
"error": "Error description here"
}
import requests
def search_videos(query):
url = f"https://dl.jadadev.com/search.php?q={query}"
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
data = response.json()
return data.get('items', [])
except requests.RequestException as e:
print(f"Error: {e}")
return []
# Usage
videos = search_videos("music video")
for video in videos:
print(f"{video['title']} - {video['channel']}")
<?php
function searchVideos($query) {
$url = "https://dl.jadadev.com/search.php?q=" . urlencode($query);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
// Usage
$results = searchVideos("music video");
foreach ($results['items'] as $video) {
echo $video['title'] . " - " . $video['channel'] . "\n";
}
?>
const https = require('https');
async function searchVideos(query) {
const url = `https://dl.jadadev.com/search.php?q=${encodeURIComponent(query)}`;
return new Promise((resolve, reject) => {
https.get(url, (res) => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
try {
resolve(JSON.parse(data));
} catch (e) {
reject(e);
}
});
}).on('error', reject);
});
}
// Usage
searchVideos('music video')
.then(data => console.log(data.items))
.catch(err => console.error(err));
No recent downloads