Integrate Visolix Downloader into your applications with our powerful API
Create an account to get your unique API key and start integrating Visolix into your applications.
Initialize a download request for content from supported platforms.
| Header | Type | Description |
|---|---|---|
X-API-KEY |
Required | Your API authentication key |
X-PLATFORM |
Required | Platform identifier (youtube, instagram, etc.) |
X-URL |
Required | URL-encoded content link |
X-FORMAT |
YouTube Only | Desired output format (mp3, mp4, etc.) |
GET https://developers.visolix.com/api/download
Headers:
X-API-KEY: your-api-key-here X-PLATFORM: youtube
X-URL: https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dabcd1234
X-FORMAT: mp3
| Status Code | Description |
|---|---|
| 200 OK | Request processed successfully |
| 400 Bad Request | Missing or invalid parameters |
| 401 Unauthorized | Invalid or missing API key |
| 402 Payment Required | Insufficient account balance |
| 500 Server Error | Internal server error occurred |
Check the progress and status of your download requests.
| Parameter | Type | Description |
|---|---|---|
id |
Required | Download ID returned from the download endpoint |
GET https://developers.visolix.com/api/progress?id=abcd1234
{
"progress": 500,
"success": 0,
"download_url": null,
"text": "Downloading"
}
Transparent, pay-per-use pricing for all supported platforms.
import requests
api_key = 'your-api-key-here'
url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
platform = 'youtube'
format = 'mp3' # Format is only required for YouTube
headers = {
'X-API-KEY': api_key,
'X-PLATFORM': platform,
'X-URL': url,
'X-FORMAT': format
}
response = requests.get('https://developers.visolix.com/api/download', headers=headers)
if response.status_code == 200:
data = response.json()
print(f"Download ID: {data['id']}")
print(f"Success: {data['success']}")
else:
print(f"Error: {response.status_code}")
print(response.text)
const axios = require('axios');
const apiKey = 'your-api-key-here';
const url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
const platform = 'youtube';
const format = 'mp3'; // Format is only required for YouTube
const headers = {
'X-API-KEY': apiKey,
'X-PLATFORM': platform,
'X-URL': url,
'X-FORMAT': format
};
axios.get('https://developers.visolix.com/api/download', { headers })
.then(response => {
console.log(`Download ID: ${response.data.id}`);
console.log(`Success: ${response.data.success}`);
})
.catch(error => {
console.error(`Error: ${error.response.status}`);
console.error(error.response.data);
});
$apiKey = 'your-api-key-here';
$url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
$platform = 'youtube';
$format = 'mp3'; // Format is only required for YouTube
$headers = [
'X-API-KEY: ' . $apiKey,
'X-PLATFORM: ' . $platform,
'X-URL: ' . $url,
'X-FORMAT: ' . $format
];
$ch = curl_init('https://developers.visolix.com/api/download');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode === 200) {
$data = json_decode($response, true);
echo "Download ID: " . $data['id'] . "\n";
echo "Success: " . ($data['success'] ? 'true' : 'false') . "\n";
} else {
echo "Error: " . $httpCode . "\n";
echo $response . "\n";
}
curl_close($ch);
curl -X GET 'https://developers.visolix.com/api/download' \
-H 'X-API-KEY: your-api-key-here' \
-H 'X-PLATFORM: youtube' \
-H 'X-URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ' \
-H 'X-FORMAT: mp3'
import requests
import time
api_key = 'your-api-key-here'
download_id = 'your_download_id_here'
while True:
response = requests.get(f'https://developers.visolix.com/api/progress?id={download_id}',
headers={'X-API-KEY': api_key})
if response.status_code == 200:
data = response.json()
print(f"Progress: {data['progress']/10}%")
print(f"Status: {data['text']}")
if data['success'] == 1:
print(f"Download URL: {data['download_url']}")
break
else:
print(f"Error: {response.status_code}")
print(response.text)
break
time.sleep(5) # Wait for 5 seconds before checking again
const axios = require('axios');
const apiKey = 'your-api-key-here';
const downloadId = 'your_download_id_here';
function checkProgress() {
axios.get(`https://developers.visolix.com/api/progress?id=${downloadId}`, {
headers: { 'X-API-KEY': apiKey }
})
.then(response => {
console.log(`Progress: ${response.data.progress/10}%`);
console.log(`Status: ${response.data.text}`);
if (response.data.success === 1) {
console.log(`Download URL: ${response.data.download_url}`);
} else {
setTimeout(checkProgress, 5000); // Check again after 5 seconds
}
})
.catch(error => {
console.error(`Error: ${error.response.status}`);
console.error(error.response.data);
});
}
checkProgress();
$apiKey = 'your-api-key-here';
$downloadId = 'your_download_id_here';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-KEY: ' . $apiKey]);
do {
curl_setopt($ch, CURLOPT_URL, "https://developers.visolix.com/api/progress?id=" . $downloadId);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode === 200) {
$data = json_decode($response, true);
echo "Progress: " . ($data['progress']/10) . "%\n";
echo "Status: " . $data['text'] . "\n";
if ($data['success'] === 1) {
echo "Download URL: " . $data['download_url'] . "\n";
break;
}
} else {
echo "Error: " . $httpCode . "\n";
echo $response . "\n";
break;
}
sleep(5); // Wait for 5 seconds before checking again
} while (true);
curl_close($ch);
curl -X GET 'https://developers.visolix.com/api/progress?id=your_download_id_here' \
-H 'X-API-KEY: your-api-key-here'