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'