Connection
Send form-encoded POST requests from your backend. JSON bodies and Authorization: Bearer YOUR_API_KEY are also accepted. Never expose your key in frontend code.
curl -X POST https://app.smmpanel.ng/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=balance"Service list
| Parameter | Use | Description |
|---|---|---|
key | Required | Your API key. |
action | Required | Use services. |
[{
"service": 101,
"name": "Instagram Followers",
"type": "Default",
"category": "Instagram",
"rate": "2500.00",
"min": "100",
"max": "10000",
"refill": true,
"cancel": false
}]Rates are the current retail price per 1,000 units in Naira.
Add order
| Parameter | Use | Description |
|---|---|---|
key | Required | Your API key. |
action | Required | Use add. |
service | Required | Service ID from the service list. |
link | Required | Public profile, post, video, or page URL. |
quantity | Required* | Quantity within the service limits. |
runs | Optional | Drip-feed runs when supported. |
interval | Optional | Minutes between runs. |
*Package, custom-comment, and subscription services can require different fields according to their returned type.
curl -X POST https://app.smmpanel.ng/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=101" \
-d "link=https://example.com/public-post" \
-d "quantity=1000"
{ "order": 23501 }The response contains your local order ID. Your Naira wallet is charged before submission, and failed submissions are refunded automatically.
Order status
Use order for one order or orders for up to 100 comma-separated IDs.
key=YOUR_API_KEY&action=status&order=23501
{
"charge": "1250.00",
"start_count": "3572",
"status": "In progress",
"remains": "157",
"currency": "NGN"
}key=YOUR_API_KEY&action=status&orders=23501,23502Refills
Only orders whose service has refill: true are eligible. Use order or up to 100 comma-separated orders.
key=YOUR_API_KEY&action=refill&order=23501
{ "refill": "81" }Check one refill with refill, or multiple IDs with refills.
key=YOUR_API_KEY&action=refill_status&refill=81
{ "status": "Completed" }User balance
key=YOUR_API_KEY&action=balance
{
"balance": "15000.00",
"currency": "NGN"
}Errors and limits
Errors return JSON with an error field and an appropriate HTTP status.
{ "error": "Insufficient wallet balance. Please fund your wallet." }The limit is 120 requests per minute per account. Cancellation is unavailable; validate the service, link, and quantity before submitting an order.