CrownPanel API Overview

CrownPanel's API allows you to manage your VPS programmatically - including actions like power control, hostname changes, snapshot management, and more.

You can use the API with:

  • PHP scripts
  • CLI tools like curl
  • Monitoring systems
  • Custom control panels or dashboards

Ideal for automation, integration into management panels, or performing bulk operations across multiple VPS instances.


📋 List All VPSes

Use this API to retrieve all VPS instances associated with your CrownPanel account.

🔐 Key(s) and variable(s) required for this call,

Key Variable Description Required
API_KEY YOUR_API_KEY Replace YOUR_API_KEY with your actual API key provided in "Account Settings", under the API section ✅ Yes
QUERY list_vms Fixed value: must be "list_vms". ✅ Yes

Example Responses

✅ If your API_KEY is valid, you would get output consisting of the information VPSes under your account.

Success Output

{"vmid":"1234","status":"Offline","hostname":"test.vps.com","ipaddress":"123.123.123.123","location":"Frankfurt, Germany","virtualization":"KVM","ram":"6144","hdd":"50","cpu":"6","bandwidth":"1024"}

❌ If your API_KEY is invalid, you would get the following output,

Error Output

{"query_status":"invalid","query_result":""}

CURL Example

curl -d "API_KEY=API-KEY-HERE&QUERY=list_vms" -X POST https://api.crownpanel.com

🌐 Other Language Examples

If you prefer to use another language or environment, here are examples for PHP, Python and Node.js:

PHP Example
<?php
$url = "https://api.crownpanel.com";

$post = [
'API_KEY' => 'YOUR_API_KEY',
'QUERY' => 'list_vms',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$response = curl_exec($ch);
var_export($response);
?>
Python Example

âš™ī¸ Install (only once): Required to install necessary libraries before running the code.

pip install requests
import requests

url = "https://api.crownpanel.com"
data = {
    "API_KEY": "YOUR_API_KEY",
    "QUERY": "list_vms"
}

response = requests.post(url, data=data)
print(response.text)
Node.js Example

âš™ī¸ Install (only once): Required to install necessary libraries before running the code.

npm install axios
const axios = require('axios');

const data = new URLSearchParams({
  API_KEY: 'YOUR_API_KEY',
  QUERY: 'list_vms'
});

axios.post('https://api.crownpanel.com', data)
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error('Error:', error);
  });

Need help? Visit our Support Portal or reach out via our live chat.