📡 YourPanel API

Integrate YourPanel into your own application. Automate orders, check balances, and manage services programmatically.

Get API Key Free Login

🚀 Getting Started

Everything you need to start using the YourPanel API
Base URL
https://yourdomain.com/api/v2
Authentication: All requests must include your key parameter. Every request is a POST request. Responses are always JSON.

💰 Get Balance

Retrieve your current account balance
POST /api/v2 action=balance
ParameterTypeDescription
keyrequiredstringYour API key
actionrequiredstringMust be balance
{
  "balance": "100.84036",
  "currency": "USD"
}

📦 Get Services

List all available services with pricing
POST /api/v2 action=services
ParameterTypeDescription
keyrequiredstringYour API key
actionrequiredstringMust be services
[
  {
    "service": 1,
    "name": "Instagram Followers [Real HQ]",
    "type": "Default",
    "category": "Instagram Followers",
    "rate": "0.9000",
    "min": "100",
    "max": "10000",
    "refill": true,
    "cancel": false
  }
]

🛒 Add Order

Place a new order for a service
POST /api/v2 action=add
ParameterTypeDescription
keyrequiredstringYour API key
actionrequiredstringMust be add
servicerequiredintegerService ID from services list
linkrequiredstringFull URL of the post/profile/video
quantityrequiredintegerNumber of followers/likes/views etc.
runsoptionalintegerFor Drip-feed: number of runs
intervaloptionalintegerFor Drip-feed: minutes between runs
{
  "order": 23501
}

📋 Order Status

Check the status of a single order
POST /api/v2 action=status
ParameterTypeDescription
keyrequiredstringYour API key
actionrequiredstringMust be status
orderrequiredintegerOrder ID
{
  "charge": "0.27819",
  "start_count": "3572",
  "status": "Partial",
  "remains": "157",
  "currency": "USD"
}

📊 Multiple Order Status

Check status of up to 100 orders at once
POST /api/v2 action=status (multiple)
ParameterTypeDescription
keyrequiredstringYour API key
actionrequiredstringMust be status
ordersrequiredstringComma-separated order IDs: 1,2,3
{
  "1": { "charge": "0.27819", "start_count": "3572", "status": "Partial", "remains": "157", "currency": "USD" },
  "2": { "charge": "0.08900", "start_count": "0",    "status": "Pending", "remains": "500",  "currency": "USD" }
}

🔄 Create Refill

Request a refill for a completed order (if service supports it)
POST /api/v2 action=refill
ParameterTypeDescription
keyrequiredstringYour API key
actionrequiredstringMust be refill
orderrequiredintegerOrder ID to refill
{ "refill": 1 }

❌ Cancel Orders

Cancel one or more pending orders
POST /api/v2 action=cancel
ParameterTypeDescription
keyrequiredstringYour API key
actionrequiredstringMust be cancel
ordersrequiredstringComma-separated order IDs
[
  { "order": 1, "cancel": { "1": "success" } },
  { "order": 2, "cancel": { "2": "success" } }
]

⚠️ Error Codes

Errors are returned with an error key in the JSON response
Error MessageMeaning
Incorrect requestMissing required parameter
Incorrect API keyInvalid or missing API key
Not enough fundsInsufficient balance
Invalid serviceService ID does not exist or is disabled
Invalid quantityQuantity below min or above max
Invalid linkMalformed or missing URL

💻 Code Examples

Copy-paste ready snippets
PHP
$ch = curl_init('https://yourdomain.com/api/v2');
curl_setopt_array($ch, [
  CURLOPT_POST           => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POSTFIELDS     => http_build_query([
    'key'      => 'YOUR_API_KEY',
    'action'   => 'add',
    'service'  => 1,
    'link'     => 'https://instagram.com/yourprofile',
    'quantity' => 1000,
  ]),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
echo 'Order ID: ' . $response['order'];
Python
import requests

response = requests.post('https://yourdomain.com/api/v2', data={
  'key':      'YOUR_API_KEY',
  'action':   'add',
  'service':  1,
  'link':     'https://instagram.com/yourprofile',
  'quantity': 1000,
})
data = response.json()
print(f"Order ID: {data['order']}")
JavaScript (Node.js)
const res = await fetch('https://yourdomain.com/api/v2', {
  method: 'POST',
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  body: new URLSearchParams({
    key:      'YOUR_API_KEY',
    action:   'add',
    service:  '1',
    link:     'https://instagram.com/yourprofile',
    quantity: '1000',
  }),
});
const data = await res.json();
console.log('Order ID:', data.order);