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.

Key facts
  • 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

  1. Get your API key. Log in and open the Account page, then copy your API key. Keep it secret and store it server-side.
  2. Set the base URL. Point your client at https://jeskieinc.com/api/v2.
  3. List services. Call the services action to get every service with its ID, rate, and min and max.
  4. Place a test order. Call add with a service ID, a public link, and a quantity. You get back an order ID.
  5. Check status and go live. Call status with 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 URLhttps://jeskieinc.com/api/v2
HTTP methodPOST
Body encodingapplication/x-www-form-urlencoded
ResponseJSON
Auth parameterkey

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.

ParameterDescription
keyYour API key
actionservices

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
ParameterDescription
keyYour API key
actionadd
serviceService ID
linkLink to the page or post
quantityNeeded quantity
runs (optional)Runs to deliver (drip-feed)
interval (optional)Interval in minutes (drip-feed)
Package (fixed-size package, no quantity)
ParameterDescription
keyYour API key
actionadd
serviceService ID
linkLink to the page
Custom Comments
ParameterDescription
key, action, service, linkAs above
commentsComments 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.

ParameterDescription
keyYour API key
actionstatus
orderThe 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)

ParameterDescription
keyYour API key
actionbalance

Sample response

{
    "balance": "100.84292",
    "currency": "USD"
}

Order status values

StatusMeaning
PendingThe order has been received and is queued to start.
In progressDelivery has started.
ProcessingThe order is being processed.
CompletedThe full quantity has been delivered.
PartialOnly part of the order was delivered. The undelivered portion is refunded to your balance.
CanceledThe 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 messageCauseFix
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 IDThe 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.

Sample PHP file

Maintained by Jeskie Services Africa, the team behind Jeskie Panel. Last updated July 2026.