REST API Documentation

Integrate Visolix Downloader into your applications

2
Endpoints
6
Platforms
99.9%
Uptime

Get Started with Our API

Create an account to get your unique API key and start integrating Visolix into your applications.

API Pricing

Transparent, pay-per-use pricing for all supported platforms

youtube
$0.00060
per download
instagram
$0.00060
per download
tiktok
$0.00012
per download
facebook
$0.00060
per download
snapchat
$0.00009
per download
okru
$0.00060
per download

Download Endpoint

Initialize a download request for content from supported platforms

GET
https://developers.visolix.com/api/download
Headers
Header
Type
Description
X-API-KEY
Required
Your API authentication key
X-PLATFORM
Required
Platform identifier (youtube, instagram, etc.)
URL
Required
URL-encoded content link
X-FORMAT
YouTube Only
Video: 360, 480, 720, 1080, 1440, 2160 | Audio: mp3, m4a, webm_audio, aac, flac, opus, ogg, wav
Request Example
HTTP Request
GET https://developers.visolix.com/api/download

Headers:
  X-API-KEY: your-api-key-here
  X-PLATFORM: youtube
  URL: https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dabcd1234
  X-FORMAT: mp3
Response Format
Success Response (200 OK)
success Boolean indicating operation success
id Unique download identifier for progress tracking
info Additional metadata about the content
HTTP Status Codes
200 Request processed successfully
400 Missing or invalid parameters
401 Invalid or missing API key
402 Insufficient account balance
500 Internal server error

Progress Endpoint

Check the progress and status of your download requests

GET
https://developers.visolix.com/api/progress
Query Parameters
Parameter
Type
Description
id
Required
Download ID returned from the download endpoint
Request Example
HTTP Request
GET https://developers.visolix.com/api/progress?id=abcd1234
Response Format
Response Properties
progress Progress value (0-1000, where 1000 = 100%)
success Operation status (1 = complete, 0 = in progress)
download_url File download URL (available when complete)
text Human-readable status message
Example Response
{
  "progress": 500,
  "success": 0,
  "download_url": null,
  "text": "Downloading"
}

Code Examples

Ready-to-use code snippets in popular programming languages

Python
import requests

api_key = 'your-api-key-here'
url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
platform = 'youtube'
format = 'mp3'

headers = {
    'X-API-KEY': api_key,
    'X-PLATFORM': platform,
    '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']}")
else:
    print(f"Error: {response.status_code}")
JavaScript (Node.js)
const axios = require('axios');

const apiKey = 'your-api-key-here';
const url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';

const headers = {
    'X-API-KEY': apiKey,
    'X-PLATFORM': 'youtube',
    'URL': url,
    'X-FORMAT': 'mp3'
};

axios.get('https://developers.visolix.com/api/download', { headers })
    .then(response => {
        console.log(`Download ID: ${response.data.id}`);
    })
    .catch(error => {
        console.error(`Error: ${error.response.status}`);
    });
PHP
$apiKey = 'your-api-key-here';
$url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';

$headers = [
    'X-API-KEY: ' . $apiKey,
    'X-PLATFORM: youtube',
    'URL: ' . $url,
    'X-FORMAT: mp3'
];

$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'];
}

curl_close($ch);
cURL
curl -X GET 'https://developers.visolix.com/api/download' \
  -H 'X-API-KEY: your-api-key-here' \
  -H 'X-PLATFORM: youtube' \
  -H 'URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ' \
  -H 'X-FORMAT: mp3'
Python Progress Tracking
import requests
import time

download_id = 'your_download_id_here'

while True:
    response = requests.get(f'https://developers.visolix.com/api/progress?id={download_id}')
    
    if response.status_code == 200:
        data = response.json()
        print(f"Progress: {data['progress']/10}%")
        
        if data['success'] == 1:
            print(f"Download URL: {data['download_url']}")
            break
    
    time.sleep(5)
JavaScript Progress Tracking
const downloadId = 'your_download_id_here';

function checkProgress() {
    axios.get(`https://developers.visolix.com/api/progress?id=${downloadId}`)
        .then(response => {
            console.log(`Progress: ${response.data.progress/10}%`);
            
            if (response.data.success === 1) {
                console.log(`Download URL: ${response.data.download_url}`);
            } else {
                setTimeout(checkProgress, 5000);
            }
        });
}

checkProgress();
PHP Progress Tracking
$downloadId = 'your_download_id_here';

do {
    $response = file_get_contents("https://developers.visolix.com/api/progress?id=" . $downloadId);
    $data = json_decode($response, true);
    
    echo "Progress: " . ($data['progress']/10) . "%\n";
    
    if ($data['success'] === 1) {
        echo "Download URL: " . $data['download_url'];
        break;
    }
    
    sleep(5);
} while (true);
cURL Progress Check
curl -X GET 'https://developers.visolix.com/api/progress?id=your_download_id_here'