API
Standard SMM panel API — connect your own panel or scripts to our services.
API overview
- HTTP Method
- POST
- API URL
https://www.ox-like.com/api/v2- API Key
- Get an API key from your account — a new key replaces the old one immediately.
- Response format
- JSON — always HTTP 200; errors come back as
{"error": "..."}
Your API key can place orders, cancel and read your balance. Keep it private — never put it in public frontend code.
Service list
| Parameters | Description |
|---|---|
| key | Your API key |
| action | services |
rate = price per 1000 in THB, already calculated for your account (custom rate / discount / user level included).
Example response
[
{
"service": 1,
"name": "Followers",
"type": "Default",
"category": "First Category",
"rate": "90.5",
"min": "50",
"max": "10000",
"refill": true,
"cancel": true,
"dripfeed": true
},
{
"service": 2,
"name": "Comments",
"type": "Custom Comments",
"category": "Second Category",
"rate": "8",
"min": "10",
"max": "1500",
"refill": false,
"cancel": true,
"dripfeed": false
}
]Add order
| Parameters | Description |
|---|---|
| key | Your API key |
| action | add |
| service | Service ID |
| link | Link to page (must start with http:// or https://) |
| quantity | Needed quantity (not used by Package, Custom Comments Package, Custom Comments, Mentions Custom List and Comment Replies) |
| runs (optional) | Runs to deliver |
| interval (optional) | Interval in minutes |
| comments | Custom Comments / Custom Comments Package / Comment Replies: comments, one per line (\n) — the number of lines is the quantity |
| usernames | Mentions / Mentions with Hashtags / Mentions Custom List: usernames, one per line |
| hashtags | Mentions with Hashtags: hashtags, one per line |
| hashtag | Mentions Hashtag: hashtag to scrape users from |
| username | Comment Likes / Comment Replies: comment owner — Mentions User Followers: username to scrape followers from |
| media | Mentions Media Likers: media URL to scrape likers from |
| answer_number | Poll: answer number |
| groups | Invites from Groups: groups, one per line |
| country | Web traffic: country code or full country name, e.g. "TH" or "Thailand" |
| device | Web traffic: 1 Desktop, 2 Mobile (Android), 3 Mobile (iOS), 4 Mixed (Mobile), 5 Mixed (Mobile & Desktop) |
| type_of_traffic | Web traffic: 1 Google Keyword, 2 Custom Referrer, 3 Blank Referrer |
| google_keyword | Web traffic: required when type_of_traffic = 1 |
| referring_url | Web traffic: required when type_of_traffic = 2 |
Send the parameters of the service type (field "type" of action=services); other parameters are ignored. Your balance is charged immediately at the rate calculated at order time — Package / Custom Comments Package: rate = price of one package. runs and interval go together (drip-feed, only for Default / Web traffic services with "dripfeed": true) — quantity is per run and all runs are charged at once.
Example response
{
"order": 23501
}Order status
| Parameters | Description |
|---|---|
| key | Your API key |
| action | status |
| order | Order ID |
Example response
{
"charge": "27.82",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "THB"
}Multiple orders status
| Parameters | Description |
|---|---|
| key | Your API key |
| action | status |
| orders | Order IDs (separated by a comma, up to 100 IDs) |
Example response
{
"1": {
"charge": "27.82",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "THB"
},
"10": {
"error": "Incorrect order ID"
},
"100": {
"charge": "144.22",
"start_count": "234",
"status": "In progress",
"remains": "10",
"currency": "THB"
}
}Create refill
| Parameters | Description |
|---|---|
| key | Your API key |
| action | refill |
| order | Order ID |
Available for Completed / Partial orders of services with refill enabled ("refill": true in the service list).
Example response
{
"refill": 23501
}Create multiple refill
| Parameters | Description |
|---|---|
| key | Your API key |
| action | refill |
| orders | Order IDs (separated by a comma, up to 20 IDs) |
Example response
[
{
"order": 1,
"refill": 1
},
{
"order": 2,
"refill": 2
},
{
"order": 3,
"refill": {
"error": "Incorrect order ID"
}
}
]Get refill status
| Parameters | Description |
|---|---|
| key | Your API key |
| action | refill_status |
| refill | Refill ID |
Example response
{
"status": "Completed"
}Get multiple refill status
| Parameters | Description |
|---|---|
| key | Your API key |
| action | refill_status |
| refills | Refill IDs (separated by a comma, up to 20 IDs) |
Example response
[
{
"refill": 1,
"status": "Completed"
},
{
"refill": 2,
"status": "Rejected"
},
{
"refill": 3,
"status": {
"error": "Refill not found"
}
}
]Create cancel
| Parameters | Description |
|---|---|
| key | Your API key |
| action | cancel |
| orders | Order IDs (separated by a comma, up to 20 IDs) |
Pending / In progress orders of services with cancel enabled. Auto services not yet sent to the provider are refunded at once; manual services become a cancel request that staff approve before the refund.
Example response
[
{
"order": 9,
"cancel": {
"error": "Incorrect order ID"
}
},
{
"order": 2,
"cancel": 1
}
]User balance
| Parameters | Description |
|---|---|
| key | Your API key |
| action | balance |
Example response
{
"balance": "100.84",
"currency": "THB"
}Example of PHP code
<?php
// POST /api/v2: send as form (application/x-www-form-urlencoded) or JSON
function smmApi(array $params) {
$ch = curl_init('https://www.ox-like.com/api/v2');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
$key = 'YOUR_API_KEY';
$services = smmApi(['key' => $key, 'action' => 'services']);
$order = smmApi(['key' => $key, 'action' => 'add', 'service' => 1, 'link' => 'https://example.com/post', 'quantity' => 1000]);
$status = smmApi(['key' => $key, 'action' => 'status', 'order' => $order['order']]);
$balance = smmApi(['key' => $key, 'action' => 'balance']);Try it out
PlaygroundThis action needs nothing but your API key.
View request body
{
"key": "",
"action": "services"
}The response will appear here after you send a request.