Loading...

SMM panel API documentation

The AllInOneSMM SMM panel API lets resellers and internal tools list the current catalog, place supported orders, check order status, read account balance, and request supported order actions.

New integrations should use /api/v2. The /api/v1 address remains an alias with the same request and response behavior.

Protect your API key. Treat it like a password: keep it on your server, never place it in browser-side code, public repositories, screenshots, or support messages.

Read the API docs carefully before wiring it into production. You're responsible for whatever the API places on your behalf.

HTTP Method POST
Response format JSON
Content-Type application/x-www-form-urlencoded or application/json
API URL https://allinonesmm.com/api/v2
Legacy URL (alias) https://allinonesmm.com/api/v1 — identical behavior, prefer /api/v2 in new integrations
Rate limit 240 requests / minute by default for each API key and IP pair. Approved high-volume accounts may have a larger customer-specific limit. A throttled request returns HTTP 429 with Retry-After plus X-RateLimit-* headers; wait for the indicated reset.
API Key Log in / Sign up to get an API key

Quick start: verify your API key

Start with the read-only balance action. Replace YOUR_API_KEY with the key from your profile and send the request from a server-side environment.

cURL

curl --max-time 20 -X POST "https://allinonesmm.com/api/v2" \
  --data-urlencode "key=YOUR_API_KEY" \
  --data-urlencode "action=balance"

PHP

<?php
$payload = [
    'key' => 'YOUR_API_KEY',
    'action' => 'balance',
];
$curl = curl_init('https://allinonesmm.com/api/v2');
curl_setopt_array($curl, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($payload),
    CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded'],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_TIMEOUT => 20,
]);
$response = curl_exec($curl);
if ($response === false) {
    throw new RuntimeException(curl_error($curl));
}
curl_close($curl);
$data = json_decode($response, true, 512, JSON_THROW_ON_ERROR);

JavaScript (server runtime)

const body = new URLSearchParams({
  key: "YOUR_API_KEY",
  action: "balance"
});

const response = await fetch("https://allinonesmm.com/api/v2", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body,
  signal: AbortSignal.timeout(20_000)
});
const data = await response.json();

Review the current service catalog before placing orders. New users can create an account.

Status and error reference

Order-status responses use the normalized labels below. A status reports the panel's current record; it is not a delivery-time guarantee.

StatusMeaning
ActiveA scheduled parent order is active.
PendingThe order is recorded and waiting for further processing.
ProcessingThe order is being processed.
In progressDelivery has started but is not complete.
CompletedThe provider reported the order as complete.
PartialOnly part of the requested quantity was delivered; applicable balance handling is reflected by the order.
CanceledThe order was canceled.
RefundedAn applicable amount was returned to panel balance.

Business and validation failures return JSON in the form {"error":"message"}. Common causes are an invalid key or action, missing parameters, an unavailable service, quantity outside its limits, insufficient balance, or an unsupported order action. Only rate limiting has a dedicated HTTP response documented here: HTTP 429 with Retry-After and X-RateLimit-* headers.

Place new Order

Parameter Description
key Your API key
action add
service Service ID
link Link to page
quantity Needed quantity
runs (optional) Runs to deliver
interval (optional) Interval in minutes
Parameter Description
key Your API key
action add
service Service ID
link Link to page
Parameter Description
key Your API key
action add
service Service ID
link Link to page
comments Comments list separated by \r\n or \n
Parameter Description
key Your API key
action add
service Service ID
link Link to page
quantity Needed quantity
usernames Usernames list separated by \r\n or \n
hashtags Hashtags list separated by \r\n or \n
Parameter Description
key Your API key
action add
service Service ID
link Link to page
usernames Usernames list separated by \r\n or \n
Parameter Description
key Your API key
action add
service Service ID
link Link to page
quantity Needed quantity
hashtag Hashtag to scrape usernames from
Parameter Description
key Your API key
action add
service Service ID
link Link to page
quantity Needed quantity
username URL to scrape followers from
Parameter Description
key Your API key
action add
service Service ID
link Link to page
comments Comments list separated by \r\n or \n
Parameter Description
key Your API key
action add
service Service ID
link Link to page
Parameter Description
key Your API key
action add
service Service ID
link Link to page
quantity Needed quantity
username Username of the comment owner
Parameter Description
key Your API key
action add
service Service ID
username Username
min Quantity min
max Quantity max
delay Delay in minutes. Possible values: 0, 5, 10, 15, 20, 30, 40, 50, 60, 90, 120, 150, 180, 210, 240, 270, 300, 360, 420, 480, 540, 600
expiry (optional) Expiry date. Format d/m/Y

Example response:

{
  "order": 32
}
            

Status Order

Parameter Description
key Your API key
action status
order Order ID

Example response:

{
  "charge": "0.0360",
  "start_count": "0",
  "status": "Pending",
  "remains": "0",
  "currency": "USD"
}
            

Multiple orders status

Parameter Description
key Your API key
action status
orders Order IDs separated by comma (array data)

Example response:

  {
      "12": {
          "charge": "1.2600",
          "start_count": "0",
          "status": "Processing",
          "remains": "0",
          "currency": "USD"
      },
      "2": {
          "error": "Incorrect order ID"
      },
      "13": {
          "charge": "0.6300",
          "start_count": "0",
          "status": "Pending",
          "remains": "0",
          "currency": "USD"
      }
  }
            

Services Lists

Parameter Description
key Your API key
action services

Example response:

[
  {
      "service": 5,
      "name": "Instagram Followers",
      "type": "Default",
      "category": "Instagram - Followers",
      "rate": "1.0200",
      "min": "500",
      "max": "10000",
      "dripfeed": true,
      "refill": true,
      "cancel": false
  },
  {
      "service": 9,
      "name": "Instagram Likes",
      "type": "Default",
      "category": "Instagram - Likes",
      "rate": "0.0400",
      "min": "50",
      "max": "10000",
      "dripfeed": false,
      "refill": false,
      "cancel": true
  }
]
            

Balance

Parameter Description
key Your API key
action balance

Example response:

  {
      "balance": "-10.0000",
      "currency": "USD",
      "available_balance": "40.0000",
      "debt_balance": "25.0000",
      "credit_limit": "50.0000",
      "credit_used": "10.0000",
      "credit_remaining": "40.0000"
  }
            

Cancel order

Parameter Description
keyYour API key
actioncancel
orderOrder ID

Example response:

  { "cancel": 1 }
            

Batch variant

Pass a comma-separated list of up to 100 IDs via orders instead of order. Overflow is silently truncated.

ParameterDescription
keyYour API key
actioncancel
ordersOrder IDs separated by comma (array data)

Example response:

  [
    { "order": 12345, "cancel": 1 },
    { "order": 12346, "cancel": { "error": "Do not allow cancel this order" } },
    { "order": 12347, "cancel": { "error": "Incorrect order ID" } }
  ]
            

Refill actions

Customer-initiated refill requests are currently unavailable. Calls to refill return an error; submit an order-review support ticket with the relevant order ID instead.

User info

ParameterDescription
keyYour API key
actionuserinfo

Example response:

  {
    "username": "janedoe",
    "balance": "42.5000",
    "currency": "USD",
    "available_balance": "92.5000",
    "debt_balance": "10.0000",
    "credit_limit": "50.0000",
    "credit_used": "0.0000",
    "credit_remaining": "50.0000",
    "status": "active",
    "created_at": "2025-01-15"
  }
            

Response is a strict whitelist. Sensitive fields (password hash, API key, 2FA, reset token, IP history) are never returned.

Orders history Disabled by admin

Note: this endpoint is currently disabled. While disabled, callers receive {"error": "This endpoint is not enabled. Contact support."}. Ask the panel admin to enable it under Settings → API v2 settings.

ParameterDescription
keyYour API key
actionorders
page1
limit20

page is 1-indexed (default 1). limit defaults to 20 and is hard-capped at 100; values above are silently clamped.

Example response:

  {
    "orders": [
      {
        "order": 12345,
        "service": 42,
        "link": "https://instagram.com/someuser",
        "quantity": 500,
        "charge": "0.7500",
        "currency": "USD",
        "status": "Completed",
        "created_at": "2025-03-01 14:22:00"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 137,
      "total_pages": 7
    }
  }