API documentation
Our API follows the widely used SMM panel API v2 format, so existing panel scripts and client libraries work without changes.
- API URL
- http://smmpanel.habibsoft.com/api/v2
- HTTP method
POST(GET is also accepted)- Content type
application/x-www-form-urlencodedor JSON- Response format
- JSON
- API key
- Create an account to get an API key
- Rate limit
- 60 requests per 60 seconds per key (HTTP 429 when exceeded)
Service list
action=services| Parameter | Description |
|---|---|
| key | Your API key |
| action | services |
Example response
[
{
"service": 352,
"name": "Instagram Followers",
"type": "Default",
"category": "Instagram",
"rate": "0.90",
"min": "50",
"max": "10000",
"refill": true,
"cancel": true,
"dripfeed": false
}
]Add order
action=add| Parameter | Description |
|---|---|
| key | Your API key |
| action | add |
| service | Service ID |
| link | Link to page |
| quantity | Needed quantity |
| runs (optional) | Runs to deliver (drip-feed services) |
| interval (optional) | Interval in minutes (drip-feed) |
| comments | Custom comments, one per line (custom comments types) |
| usernames | Usernames, one per line (mentions) |
| username | Username (comment likes) |
| answer_number | Answer number (poll) |
| keywords | Keywords (keywords / search services) |
Example response
{
"order": 23501
}Order status
action=status| Parameter | Description |
|---|---|
| key | Your API key |
| action | status |
| order | Order ID |
Example response
{
"charge": "0.27819",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD"
}Multiple orders status
action=status| Parameter | Description |
|---|---|
| key | Your API key |
| action | status |
| orders | Order IDs separated by comma (up to 100) |
Example response
{
"1": { "charge": "0.27819", "start_count": "3572", "status": "Partial", "remains": "157", "currency": "USD" },
"10": { "error": "Incorrect order ID" },
"100": { "charge": "1.44219", "start_count": "234", "status": "In progress", "remains": "10", "currency": "USD" }
}Create refill
action=refill| Parameter | Description |
|---|---|
| key | Your API key |
| action | refill |
| order | Order ID |
Example response
{
"refill": "1"
}Refill status
action=refill_status| Parameter | Description |
|---|---|
| key | Your API key |
| action | refill_status |
| refill | Refill ID |
Example response
{
"status": "Completed"
}Cancel orders
action=cancel| Parameter | Description |
|---|---|
| key | Your API key |
| action | cancel |
| orders | Order IDs separated by comma (up to 100) |
Example response
[
{ "order": 9, "cancel": { "error": "Incorrect order ID" } },
{ "order": 2, "cancel": 1 }
]User balance
action=balance| Parameter | Description |
|---|---|
| key | Your API key |
| action | balance |
Example response
{
"balance": "100.84292",
"currency": "USD"
}Errors
Errors are returned as {"error": "message"} with an appropriate HTTP status:
401— invalid or missing API key400/422— invalid parameters (e.g.Incorrect service ID, quantity out of range,Not enough funds on balance)429— rate limit exceeded; retry after the window resets403— API access disabled for the account
Order statuses: Pending, Processing, In progress, Completed, Partial, Canceled. Undelivered quantity of partial and cancelled orders is refunded to your balance automatically.