Get Started with Our API

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

Download Endpoint

GET

Initialize a download request for content from supported platforms.

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.)
X-URL Required URL-encoded content link
X-FORMAT YouTube Only Desired output format (mp3, mp4, etc.)
Request Example
HTTP Request
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
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
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

Progress Endpoint

GET

Check the progress and status of your download requests.

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"
}

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

Code Examples

Python Implementation
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)
JavaScript (Node.js) Implementation
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);
    });
PHP Implementation
$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 Command
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'
Python Progress Tracking
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
JavaScript Progress Tracking
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();
PHP Progress Tracking
$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 Progress Check
curl -X GET 'https://developers.visolix.com/api/progress?id=your_download_id_here' \
     -H 'X-API-KEY: your-api-key-here'