API Documentation
Integrate the panel into your platform — REST · JSON · POST
Sign in to get your API key
Every account gets a free personal API key — create one in seconds.
API ENDPOINT
https://thanatosx.com/api/v2
HTTP METHOD
POST (recommended)
FORMAT
JSON
RATE LIMIT
60 req / 60s
AUTHENTICATION
Every request must include your key parameter. Never share it publicly — treat it like a password.
| PARAMETER | DESCRIPTION |
|---|---|
| key | Your API key |
| action | Action name |
# GET example
https://thanatosx.com/api/v2?key=YOUR_KEY&action=balance
# POST example (recommended)
curl -X POST https://thanatosx.com/api/v2 \
-d "key=YOUR_KEY&action=balance"
ENDPOINTS
POST
Service List
action=services
Returns all active services with pricing.
SUCCESS RESPONSE
[
{
"service": 1,
"name": "Instagram Followers",
"category": "Instagram",
"type": 1,
"rate": "2.500000",
"min": 100,
"max": 50000,
"refill": true,
"cancel": true
}
]
GET
Balance
action=balance
Get your current account balance in real-time.
SUCCESS RESPONSE
{
"balance": "96.2500",
"currency": "USD"
}
POST
Add Order
action=add
Places a new order. "order" is also accepted as a legacy alias for "add".
| PARAMETER | DESCRIPTION |
|---|---|
| key | Your API key |
| action | add |
| service | Service ID |
| link | Link or username |
| quantity | Quantity |
SUCCESS RESPONSE
{
"order": 15482
}
POST
Order Status
action=status
Returns the current status of a single order.
| PARAMETER | DESCRIPTION |
|---|---|
| key | Your API key |
| action | status |
| order | Order ID |
SUCCESS RESPONSE
{
"charge": "2.500000",
"start_count": 1204,
"status": "In progress",
"remains": 350,
"currency": "USD"
}
POST
Multiple Orders Status
action=multiStatus
Returns the status of up to 100 orders in one call.
| PARAMETER | DESCRIPTION |
|---|---|
| key | Your API key |
| action | multiStatus |
| orders | Comma-separated order IDs, e.g. 1,2,3 |
SUCCESS RESPONSE
{
"15482": { "charge": "2.500000", "status": "Completed", "remains": 0 },
"15483": { "error": "Order not found." }
}
POST
Create Refill
action=refill
Requests a refill for a completed, refill-eligible order.
| PARAMETER | DESCRIPTION |
|---|---|
| key | Your API key |
| action | refill |
| order | Order ID |
SUCCESS RESPONSE
{
"refill": 15490
}
POST
Refill Status
action=refillStatus
Returns the status of one or more refill requests.
| PARAMETER | DESCRIPTION |
|---|---|
| key | Your API key |
| action | refillStatus |
| refill | Refill ID (or comma-separated IDs) |
SUCCESS RESPONSE
{
"status": "Completed"
}
POST
Cancel Orders
action=cancel
Requests cancellation for one or more orders (comma-separated). Cancellation is reviewed, not instant.
| PARAMETER | DESCRIPTION |
|---|---|
| key | Your API key |
| action | cancel |
| order | Order ID (or comma-separated IDs) |
SUCCESS RESPONSE
{
"order": 15482,
"cancel": "Success"
}
ORDER STATUS VALUES
Pending
Received — awaiting processing
Processing
Preparing to start delivery
In progress
Actively being fulfilled
Completed
Delivered successfully
Partial
Partially delivered, stopped
Canceled
Canceled before completion
Cancel Requested
Cancellation submitted, awaiting confirmation
Refunded
Charge returned to your balance
COMMON ERRORS
401
"Invalid API key."
Key is wrong or inactive — regenerate below
401
"API key required."
The "key" parameter is missing from the request
400
"Invalid action."
Check the action name against the endpoints below
400
"Incorrect quantity."
Below min or above max — check the service limits
400
"Invalid service."
Service ID does not exist or is inactive
402
"Insufficient balance."
Top up at Add Funds, then retry
404
"Order not found."
Order ID does not exist or belongs to another account
429
"Rate limit exceeded."
Slow down — see Rate Limits below
503
"API is disabled."
The site admin has turned off API access
RATE LIMITS
YOUR LIMIT
60 req / 60s
WINDOW
60s
CODE EXAMPLES
PHP
cURL
Python
JavaScript
$api_key = 'YOUR_API_KEY';
$api_url = 'https://thanatosx.com/api/v2';
function smm_api($params) {
global $api_key, $api_url;
$params['key'] = $api_key;
$ch = curl_init($api_url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params),
]);
$res = curl_exec($ch);
curl_close($ch);
return json_decode($res, true);
}
// Balance
$bal = smm_api(['action' => 'balance']);
// Place order
$order = smm_api([
'action' => 'add',
'service' => 1,
'link' => 'https://instagram.com/p/xxxx',
'quantity' => 1000,
]);
curl -X POST https://thanatosx.com/api/v2 \
-d "key=YOUR_API_KEY&action=add&service=1&link=https://instagram.com/p/xxxx&quantity=1000"
import requests
API_KEY = 'YOUR_API_KEY'
API_URL = 'https://thanatosx.com/api/v2'
def smm_api(params):
params['key'] = API_KEY
r = requests.post(API_URL, data=params)
return r.json()
balance = smm_api({'action': 'balance'})
order = smm_api({
'action': 'add',
'service': 1,
'link': 'https://instagram.com/p/xxxx',
'quantity': 1000,
})
const API_KEY = 'YOUR_API_KEY';
const API_URL = 'https://thanatosx.com/api/v2';
async function smmApi(params) {
params.key = API_KEY;
const res = await fetch(API_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams(params),
});
return res.json();
}
const balance = await smmApi({ action: 'balance' });
const order = await smmApi({
action: 'add', service: 1,
link: 'https://instagram.com/p/xxxx', quantity: 1000,
});