Skip to content
SparkLikes

SMM panel API documentation

The SparkLikes API is one endpoint, https://api.sparklikes.com/api/v2, that accepts the standard SMM panel actions: services, add, status, refill, refill_status and balance. Send a POST request with your API key and an action, and you get JSON back. Create your key in the account app. Orders are paid from your wallet balance.

By SparkLikes · Reviewed

How does the SparkLikes API work?

The API works like most SMM panel APIs: you send a POST request to a single URL with your key, an action and that action's parameters, and the reply is JSON.

  • Endpoint: https://api.sparklikes.com/api/v2
  • Method: POST
  • Body: form-encoded (application/x-www-form-urlencoded) or JSON
  • Authentication: your API key in the key parameter
  • Reply: JSON. Errors come back as {"error": "message"}.

Orders placed through the API are charged to your wallet, appear in your order history and follow the same refill and refund rules as orders placed on the site.

How do I get an API key?

You create an API key in the account app after signing up for a free account. Open the API section, create a key and copy it into your panel or script.

Treat the key like a password: anyone who has it can place orders against your wallet. If it leaks, delete it and create a new one in the account app. Top up your wallet before placing orders, by UPI or USDT; see payment methods.

Which actions does the API support?

The API supports six actions:

  • services: list all services with rate, minimum, maximum and whether refill is supported.
  • add: place a new order.
  • status: get the status of one order, or several at once.
  • refill: request a refill on a completed, refill-eligible order.
  • refill_status: check the status of a refill request.
  • balance: get your wallet balance.

How do I list services?

Send action=services with your key to get every service available to your account. Rates are per 1,000 units, in your account currency.

Request: key=YOUR_API_KEY&action=services

Reply: [{"service": 1, "name": "Instagram Followers · High-Retention · 60-day refill", "type": "Default", "category": "Instagram Followers", "rate": "120.00", "min": "50", "max": "50000", "refill": true, "cancel": false}]

The values above are an example of the format only. Always read live rates and limits from the services action.

How do I place an order?

Send action=add with a service ID, a link and a quantity. The reply is the new order ID.

Request: key=YOUR_API_KEY&action=add&service=1&link=https://www.instagram.com/yourusername/&quantity=1000

Reply: {"order": "SLX3CEB3QS9D"}

Some service types take extra parameters, such as comments (one comment per line) for custom comment services. The link must be public. The order is charged to your wallet when it is accepted; if your balance is too low you get an error and no order is created.

How do I check order status?

Send action=status with an order ID. For several orders, send orders with up to 100 comma-separated IDs.

Request: key=YOUR_API_KEY&action=status&order=SLX3CEB3QS9D

Reply: {"charge": "120.00", "start_count": "3572", "status": "In progress", "remains": "157", "currency": "INR"}

Multiple orders: key=YOUR_API_KEY&action=status&orders=SLX3CEB3QS9D,SLWRONG0000

Reply: {"SLX3CEB3QS9D": {"charge": "120.00", "start_count": "3572", "status": "Completed", "remains": "0", "currency": "INR"}, "SLWRONG0000": {"error": "Incorrect order ID"}}

Status values are Pending, In progress, Processing, Completed, Partial and Canceled. For Partial and Canceled orders, the undelivered amount is refunded to your wallet automatically.

How do I request a refill through the API?

Send action=refill with the order ID of a completed order whose service supports refill and whose refill window is still open. The reply is a refill ID.

Request: key=YOUR_API_KEY&action=refill&order=SLX3CEB3QS9D

Reply: {"refill": "1"}

Check progress with refill_status: key=YOUR_API_KEY&action=refill_status&refill=1

Reply: {"status": "Completed"}

Refills usually start within about 24 hours. Requests on services without refill, or outside the window, return an error. The rules are in our refill and drop policy.

Can I cancel an order?

You can't. Orders are sent for delivery the moment they're placed and can't be cancelled afterwards, so check the link and quantity before you order. The cancel action exists only for script compatibility and always returns an error.

If an order can't be delivered, it is marked Canceled or Partial and the undelivered amount is refunded to your wallet automatically.

How do I check my balance?

Send action=balance to get your current wallet balance and its currency.

Request: key=YOUR_API_KEY&action=balance

Reply: {"balance": "2540.50", "currency": "INR"}

What errors can the API return?

Errors return a JSON object with an error message and no other fields. Common ones:

  • Invalid API key: the key is missing, wrong or deleted.
  • Incorrect request / unknown action: the action name is not one of the seven above.
  • Not enough funds: your wallet balance does not cover the order.
  • Incorrect service ID, link or quantity: the service does not exist, the link is not valid for it, or the quantity is outside min and max.
  • Refill not available: the service has no refill, the order is not completed, or the window has closed.

Please poll status at a sensible interval, for example every few minutes per batch of orders, rather than in a tight loop. Heavy polling may be slowed down.

Full API reference

Getting started

API URLhttps://api.sparklikes.com/api/v2
HTTP methodPOST
Body formatapplication/x-www-form-urlencoded (or multipart, or JSON)
Response formatJSON
Authenticationkey parameter in every request
CurrencyINR (rates per 1,000, charges and balance)
CompatibilityStandard SMM panel API v2 — works with most panel scripts

Every request sends key and action. Errors always come back as { "error": "message" }; an invalid or missing key returns HTTP 401. Orders are paid from your wallet, so keep it topped up.

Service list

Every service you can order, with your price per 1,000 (in INR), limits and whether refill is included.

ParameterRequiredDescription
keyYesYour API key
actionYesservices

Example request

curl -X POST https://api.sparklikes.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=services

Example response

[
  {
    "service": 200,
    "name": "Instagram Followers · Real mixed · 30-day refill",
    "type": "Default",
    "category": "Instagram Followers",
    "rate": "71.2774",
    "min": "100",
    "max": "100000",
    "refill": true,
    "cancel": false
  }
]
  • rate is the price per 1,000 units in INR. For Package types, rate is the price of one package.
  • type is one of Default, Package, Custom Comments, Custom Comments Package, Subscriptions.
  • Prices follow the provider and can change; fetch the list again before quoting your customers.

Add order

Place an order. It is paid from your wallet balance immediately and sent for delivery automatically.

ParameterRequiredDescription
keyYesYour API key
actionYesadd
serviceYesService ID from the services list
linkYesPublic link or @username the service is delivered to
quantityYesAmount to order, between the service's min and max (ignored for Package types)
commentsOptionalCustom Comments types only: one comment per line (separate with \n). Quantity = number of lines

Example request

curl -X POST https://api.sparklikes.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=add \
  -d service=200 \
  -d link=https://www.instagram.com/yourname/ \
  -d quantity=1000

Example response

{ "order": "SLX3CEB3QS9D" }
  • Order IDs are text references (e.g. SLX3CEB3QS9D), not numbers. Store them as strings.
  • Minimum order value is ₹10. Orders can't be cancelled once placed — check the link and quantity first.
  • Common errors: "Your wallet balance is too low for this order.", "Quantity must be between 100 and 1,00,000.", "This service is not available right now."

Order status

Status of one order.

ParameterRequiredDescription
keyYesYour API key
actionYesstatus
orderYesOrder ID returned by add

Example request

curl -X POST https://api.sparklikes.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=status \
  -d order=SLX3CEB3QS9D

Example response

{
  "charge": "280.5900",
  "start_count": "1824718447",
  "status": "In progress",
  "remains": "640",
  "currency": "INR"
}
  • status is one of: Pending, Processing, In progress, Completed, Partial, Canceled.
  • Partial and Canceled orders are refunded to your wallet automatically for the undelivered part.

Multiple orders status

Status of up to 100 orders in one call.

ParameterRequiredDescription
keyYesYour API key
actionYesstatus
ordersYesOrder IDs separated by commas (max 100)

Example request

curl -X POST https://api.sparklikes.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=status \
  -d orders="SLX3CEB3QS9D,SLDARV3ZLEGE,SLWRONG0000"

Example response

{
  "SLX3CEB3QS9D": { "charge": "280.5900", "start_count": "1824718447", "status": "In progress", "remains": "640", "currency": "INR" },
  "SLDARV3ZLEGE": { "charge": "10.6600", "start_count": "0", "status": "Completed", "remains": "0", "currency": "INR" },
  "SLWRONG0000": { "error": "Incorrect order ID" }
}

Create refill

Request a free refill on a completed order whose service includes refill, while the refill window is open.

ParameterRequiredDescription
keyYesYour API key
actionYesrefill
orderYesOrder ID

Example request

curl -X POST https://api.sparklikes.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=refill \
  -d order=SLDARV3ZLEGE

Example response

{ "refill": "42" }
  • Errors: "This service doesn't include refills.", "Refills are available once an order is completed.", "The 30-day refill window for this order has ended.", "A refill for this order is already in progress."

Refill status

Status of a refill request.

ParameterRequiredDescription
keyYesYour API key
actionYesrefill_status
refillYesRefill ID returned by refill

Example request

curl -X POST https://api.sparklikes.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=refill_status \
  -d refill=42

Example response

{ "status": "Completed" }
  • status is one of: Pending, In progress, Completed, Rejected.

Balance

Your current wallet balance.

ParameterRequiredDescription
keyYesYour API key
actionYesbalance

Example request

curl -X POST https://api.sparklikes.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=balance

Example response

{ "balance": "489.34", "currency": "INR" }

PHP example

<?php
$api = 'https://api.sparklikes.com/api/v2';
$key = 'YOUR_API_KEY';

function call($api, $data) {
    $ch = curl_init($api);
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => http_build_query($data),
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 30,
    ]);
    $res = curl_exec($ch);
    curl_close($ch);
    return json_decode($res, true);
}

$services = call($api, ['key' => $key, 'action' => 'services']);
$order    = call($api, ['key' => $key, 'action' => 'add', 'service' => 200,
                        'link' => 'https://www.instagram.com/yourname/', 'quantity' => 1000]);
$status   = call($api, ['key' => $key, 'action' => 'status', 'order' => $order['order']]);
$balance  = call($api, ['key' => $key, 'action' => 'balance']);

Frequently asked questions

Is the API free to use?

Yes. There is no API fee; you pay only for orders, from your wallet.

Does the API work with my panel script?

Most SMM panel scripts accept providers in this standard v2 format. Add https://api.sparklikes.com/api/v2 as the API URL and paste your key.

What currency are API rates in?

Rates, charges and balance are in your account currency, returned in the currency field. Rates are per 1,000 units.

How do I top up my balance for API orders?

Top up your wallet in the account app by UPI or USDT. API orders draw from the same wallet as orders placed on the site.

Can I have more than one API key?

You manage your keys in the account app, where you can create a new key and delete old ones, for example if a key may have leaked.