SMM Panel API Documentation
The Jeskie Panel SMM API lets you place and track social media orders from your own smm website, over a single endpoint. You send an HTTP POST to https://jeskieinc.com/api/v2 with your API key and an action, and you get a JSON response.
- Endpoint:
https://jeskieinc.com/api/v2 - Method: HTTP POST, body as
application/x-www-form-urlencoded - Response format: JSON
- Authentication: your
key(API key) on every request - Actions:
services,add,status,balance
Quick start: connect in five steps
- Get your API key. Log in and open the Account page, then copy your API key. Keep it secret and store it server-side.
- Set the base URL. Point your client at
https://jeskieinc.com/api/v2. - List services. Call the
servicesaction to get every service with its ID, rate, and min and max. - Place a test order. Call
addwith a service ID, a public link, and a quantity. You get back an order ID. - Check status and go live. Call
statuswith that order ID to track delivery. Once a test order completes, you are ready to automate.
Authentication
Every request includes your API key as the key parameter. There are no separate tokens or OAuth steps. Treat the key like a password: store it server-side, never expose it in client-side code, and regenerate it on the Account page if you think it has leaked. A missing or wrong key returns {"error": "Invalid API Key."}.
Base URL and request format
| API URL | https://jeskieinc.com/api/v2 |
| HTTP method | POST |
| Body encoding | application/x-www-form-urlencoded |
| Response | JSON |
| Auth parameter | key |
Send the key and an action with every call. The sections below list the extra parameters each action takes.
Service list (services)
Returns every active service with its ID, type, category, rate, and limits.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | services |
Sample response
[
{
"service": 1,
"name": "Followers",
"type": "Default",
"category": "First Category",
"rate": "0.90",
"min": "50",
"max": "10000"
},
{
"service": 2,
"name": "Comments",
"type": "Custom Comments",
"category": "Second Category",
"rate": "8",
"min": "10",
"max": "1500"
}
]
The rate is per 1000 units in the panel base currency. The type tells you which parameters the add action needs (see the service types below).
Place an order (add)
Creates a new order and returns its ID. The parameters depend on the service type.
Default
| Parameter | Description |
|---|---|
| key | Your API key |
| action | add |
| service | Service ID |
| link | Link to the page or post |
| quantity | Needed quantity |
| runs (optional) | Runs to deliver (drip-feed) |
| interval (optional) | Interval in minutes (drip-feed) |
Package (fixed-size package, no quantity)
| Parameter | Description |
|---|---|
| key | Your API key |
| action | add |
| service | Service ID |
| link | Link to the page |
Custom Comments
| Parameter | Description |
|---|---|
| key, action, service, link | As above |
| comments | Comments list separated by \r\n or \n |
Sample response (all add types)
{
"order": 23501
}
For drip-feed on a Default service, the total delivered is runs multiplied by quantity, with interval minutes between each run.
Order status (status)
Returns the current state of one order.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | status |
| order | The order ID returned by add |
Sample response
{
"charge": "0.27819",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD"
}
Match these status values case-insensitively in your client.
Account balance (balance)
| Parameter | Description |
|---|---|
| key | Your API key |
| action | balance |
Sample response
{
"balance": "100.84292",
"currency": "USD"
}
Order status values
| Status | Meaning |
|---|---|
| Pending | The order has been received and is queued to start. |
| In progress | Delivery has started. |
| Processing | The order is being processed. |
| Completed | The full quantity has been delivered. |
| Partial | Only part of the order was delivered. The undelivered portion is refunded to your balance. |
| Canceled | The order was canceled and the charge was refunded to your balance. |
Error responses
Errors return a JSON object with an error field, for example {"error": "Invalid API Key."}.
| Error message | Cause | Fix |
|---|---|---|
| Incorrect request. | The action or key was missing. | Send both action and key. |
| Invalid API Key. | The key was not recognised. | Check or regenerate the key on the Account page. |
| The account is inactive. | The account is disabled. | Contact support to reactivate it. |
| Incorrect Service ID. | The service was empty or invalid. | Use a valid ID from the services action. |
| Package or service not found. | The service ID does not exist. | Use a current service ID. |
| Link field is required. | No link was sent. | Provide the public link. |
| Order quantity field is required. | quantity was missing or not a number. | Send a numeric quantity. |
| The quantity specified must be less than the maximum quantity. | quantity is above the service max. | Lower it to within the service max. |
| The quantity specified must be greater than the minimum quantity. | quantity is below the service min. | Raise it to the service min. |
| You don't have sufficient balance to place this order. | Balance is too low. | Add funds, then retry. |
| You cannot start a new order with the same link that is already in progress. | A live order already exists for that link. | Wait for it to finish, or use a different link. |
| Incorrect order ID | The order ID was not found. | Check the order ID. |
| API Version not supported or is invalid. | The endpoint version is wrong. | Post to /api/v2. |
Code samples
A ready-made PHP client is available as a sample file. Minimal examples in three languages follow.
PHP
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://jeskieinc.com/api/v2",
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query([
"key" => "YOUR_API_KEY",
"action" => "add",
"service" => 1,
"link" => "https://instagram.com/yourprofile",
"quantity" => 1000
]),
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
cURL
curl -X POST https://jeskieinc.com/api/v2 \ -d "key=YOUR_API_KEY" \ -d "action=add" \ -d "service=1" \ -d "link=https://instagram.com/yourprofile" \ -d "quantity=1000"
Python
import requests
resp = requests.post("https://jeskieinc.com/api/v2", data={
"key": "YOUR_API_KEY",
"action": "add",
"service": 1,
"link": "https://instagram.com/yourprofile",
"quantity": 1000,
})
print(resp.json())
To list services, change action to services and drop the order fields. To check status, send action=status with order.
A note on usage
There is no hard request limit, but use the API considerately. Cache the services response and refresh it on a schedule rather than calling it on every order, and poll status at a sensible interval instead of in a tight loop. This keeps your integration fast and reliable.
Frequently asked questions
What is the SMM panel API and what does it do?
The Jeskie Panel SMM API is a POST and JSON endpoint at https://jeskieinc.com/api/v2 that lets your own smm website list services, place orders, check order status, and read your balance.
How do I get my API key?
Log in, open the Account page, and copy your API key. Keep it server-side and treat it like a password. You can regenerate it on the Account page if it is ever exposed.
How do I find a service ID?
Call the services action. It returns every active service with its service ID, name, type, category, rate, and min and max. You place orders against the service ID.
How do I place an order through the API?
Send action=add with your key, a service ID, a public link, and the fields that match the service type, for example a quantity for a Default service or a comments list for a Custom Comments service. For drip-feed, add runs and interval. You get back an order ID.
What do the order statuses mean?
Pending means queued, In progress means delivery has started, Processing means it is being worked, Completed means fully delivered, Partial means only part was delivered and the rest was refunded to your balance, and Canceled means the order was stopped and refunded.
Is there a rate limit?
There is no hard limit, but please cache the services list and poll order status at sensible intervals rather than in a tight loop.
Start building
Grab your API key from the Account page, browse service IDs on the services page, and place your first test order with add. If you are setting up a reseller business, see the child panel and white label and API options, which connect to this same API.
Maintained by Jeskie Services Africa, the team behind Jeskie Panel. Last updated July 2026.