Overview
All requests are sent as HTTP POST to a single endpoint. The action parameter determines what operation is performed. Responses are always JSON.
Your panel's API is available the moment you launch — no extra setup required. Resellers can plug your panel directly into their own system using the same standard format.
Authentication
Every request must include your API key in the key parameter. You can find your API key in your panel under Settings → API.
Keep your API key private. Anyone with your key can place orders and read your balance. Rotate it immediately if you suspect it has been exposed.
POST https://yourpanel.com/api/v2 key=YOUR_API_KEY action=services
Base URL
Replace yourpanel.com with your actual domain. The path is always /api/v2.
https://yourpanel.com/api/v2
Get services POST
Returns the full list of services available on the panel with their IDs, names, categories, rates, and limits.
Parameters
| Parameter | Description | |
|---|---|---|
| key | REQUIRED | Your API key |
| action | REQUIRED | Must be services |
POST /api/v2 key=YOUR_API_KEY&action=services
[
{
"service": 1,
"name": "Instagram Followers",
"type": "Default",
"category": "Instagram",
"rate": "0.90",
"min": 100,
"max": 100000,
"refill": true,
"cancel": false
}
]
Add order POST
Places a new order. Returns the order ID on success.
Parameters
| Parameter | Description | |
|---|---|---|
| key | REQUIRED | Your API key |
| action | REQUIRED | Must be add |
| service | REQUIRED | Service ID from the services list |
| link | REQUIRED | Target URL (post, profile, video, etc.) |
| quantity | REQUIRED | Number of units to order |
| runs | optional | Number of runs — for drip-feed services |
| interval | optional | Minutes between drip-feed runs |
POST /api/v2 key=YOUR_API_KEY &action=add &service=1 &link=https://instagram.com/yourprofile &quantity=1000
{
"order": 23501
}
Order status POST
Returns the current status and progress of a single order.
Parameters
| Parameter | Description | |
|---|---|---|
| key | REQUIRED | Your API key |
| action | REQUIRED | Must be status |
| order | REQUIRED | Order ID returned from add |
POST /api/v2 key=YOUR_API_KEY&action=status&order=23501
{
"charge": "0.90",
"start_count": 1200,
"status": "In progress",
"remains": 650,
"currency": "USD"
}
Multiple order statuses POST
Returns statuses for up to 100 orders in a single request. Pass order IDs as a comma-separated list.
Parameters
| Parameter | Description | |
|---|---|---|
| key | REQUIRED | Your API key |
| action | REQUIRED | Must be status |
| orders | REQUIRED | Comma-separated order IDs (max 100) |
POST /api/v2 key=YOUR_API_KEY&action=status&orders=23501,23502,23503
{
"23501": { "status": "Completed", "remains": 0, "charge": "0.90" },
"23502": { "status": "In progress", "remains": 240, "charge": "1.20" },
"23503": { "status": "Pending", "remains": 500, "charge": "0.45" }
}
Get balance POST
Returns the current balance on the account associated with the API key.
POST /api/v2 key=YOUR_API_KEY&action=balance
{
"balance": "142.50",
"currency": "USD"
}
Refill order POST
Requests a refill on an eligible order. Only available for services where refill: true.
Parameters
| Parameter | Description | |
|---|---|---|
| key | REQUIRED | Your API key |
| action | REQUIRED | Must be refill |
| order | REQUIRED | Order ID to refill |
POST /api/v2 key=YOUR_API_KEY&action=refill&order=23501
{
"refill": 10291
}
Cancel order POST
Cancels one or more orders. Only orders with status Pending or In progress can be cancelled. Refunds are issued as panel balance.
Parameters
| Parameter | Description | |
|---|---|---|
| key | REQUIRED | Your API key |
| action | REQUIRED | Must be cancel |
| orders | REQUIRED | Comma-separated order IDs to cancel |
POST /api/v2 key=YOUR_API_KEY&action=cancel&orders=23501,23502
[
{ "order": 23501, "cancel": { "status": "success" } },
{ "order": 23502, "cancel": { "status": "success" } }
]
Order statuses
| Status | Description | |
|---|---|---|
| Pending | Order received, waiting to be sent to the provider. | |
| In progress | Order is active and being delivered. | |
| Processing | Provider acknowledged — delivery starting shortly. | |
| Completed | All units delivered successfully. | |
| Partial | Partially delivered. Remaining balance refunded. | |
| Cancelled | Order was cancelled. Balance refunded. | |
Error codes
On error, the API returns a JSON object with an error key.
{ "error": "Incorrect request" }
| Message | Cause | |
|---|---|---|
| Invalid API key | The key parameter is missing or wrong. | |
| Incorrect request | A required parameter is missing or malformed. | |
| Invalid service ID | The service does not exist or is disabled. | |
| Invalid quantity | Quantity is below min or above max for the service. | |
| Insufficient balance | Account balance is too low to place the order. | |
| Invalid link | The target URL is malformed or unsupported. | |
Rate limits
The API allows up to 300 requests per minute per API key. If you exceed this, requests return HTTP 429 and resume automatically after 60 seconds.
For bulk status polling, use the multiple statuses endpoint to check up to 100 orders per call instead of looping individual requests.
Ready to integrate?
Create your account and get your API key in the client area.