API v2 reference

SMM Center API

Connect your own panel, bot or script to SMM Center. List services with current rates, add orders, track their status, request refills and read your balance. Every call is a POST request that returns JSON.

Standard SMM panel API v2No request rate limitWorks with any language
POST /api/v2
curl -X POST https://smm-center.com/api/v2 \
  -d key=your_api_key \
  -d action=add \
  -d service=1 \
  -d link=https://t.me/yourchannel \
  -d quantity=1000
RESPONSE
{
  "order": 23501
}
POSTOne method for every call
JSONResponse format
9Actions on this page
100IDs per batch request
∞No request rate limit
Workflow

How do you get from a key to a finished order?

Four steps. The same four work for a reseller panel, a script or a bot.

  1. 1Create a key

    Open the Account page and create a key in the API section.

  2. 2Read the service list

    Call services to get each service ID, rate, minimum and maximum.

  3. 3Place the order

    Call add with the service ID, link and quantity. Save the order ID you get back.

  4. 4Check the status

    Call status with the order ID whenever you need an update.

Try it here

What does your request look like?

Pick an action, fill in the fields and copy the code. This page only writes the code. It does not send anything.

Keep your key out of this page. Put it only in your own code, on your server.
curl -X POST https://smm-center.com/api/v2 \
  -d key=your_api_key \
  -d action=add \
  -d service=1 \
  -d link=https://t.me/yourchannel \
  -d quantity=1000
Reference

API details

Every action goes to the same URL. The action field decides what happens.

API URLhttps://smm-center.com/api/v2
HTTP methodPOST
Response formatJSON
POST

Service list

action=services

Returns every service your account can order, with its current rate and limits.

keyYour API key
actionservices
Example response
[
  {
    "service": 1,
    "name": "Followers",
    "type": "Default",
    "category": "First Category",
    "rate": "0.90",
    "min": "50",
    "max": "10000",
    "refill": true,
    "cancel": true
  },
  {
    "service": 2,
    "name": "Comments",
    "type": "Custom Comments",
    "category": "Second Category",
    "rate": "8",
    "min": "10",
    "max": "1500",
    "refill": false,
    "cancel": true
  }
]
POST

Add order

action=add

Places one order. The fields depend on the service type, so pick the type first.

keyYour API key
actionadd
serviceService ID
linkLink to page
quantityNeeded quantity
runsRuns to deliver (optional)
intervalInterval in minutes (optional)
Example response
{
  "order": 23501
}
POST

Order status

action=status

Reads the current state of one order.

keyYour API key
actionstatus
orderOrder ID
Example response
{
  "charge": "0.27819",
  "start_count": "3572",
  "status": "Partial",
  "remains": "157",
  "currency": "USD"
}
POST

Multiple orders status

action=status

Reads up to 100 orders in one request.

keyYour API key
actionstatus
ordersOrder IDs (separated by a comma, up to 100 IDs)
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"
  }
}
POST

Create refill

action=refill

Asks for a refill of one order. Works only for services where refill is true.

keyYour API key
actionrefill
orderOrder ID
Example response
{
  "refill": "1"
}
POST

Create multiple refill

action=refill

Asks for a refill of up to 100 orders in one request.

keyYour API key
actionrefill
ordersOrder IDs (separated by a comma, up to 100 IDs)
Example response
[
  {
    "order": 1,
    "refill": 1
  },
  {
    "order": 2,
    "refill": 2
  },
  {
    "order": 3,
    "refill": {
      "error": "Incorrect order ID"
    }
  }
]
POST

Get refill status

action=refill_status

Reads the state of one refill request.

keyYour API key
actionrefill_status
refillRefill ID
Example response
{
  "status": "Completed"
}
POST

Get multiple refill status

action=refill_status

Reads up to 100 refill requests in one request.

keyYour API key
actionrefill_status
refillsRefill IDs (separated by a comma, up to 100 IDs)
Example response
[
  {
    "refill": 1,
    "status": "Completed"
  },
  {
    "refill": 2,
    "status": "Rejected"
  },
  {
    "refill": 3,
    "status": {
      "error": "Refill not found"
    }
  }
]
POST

User balance

action=balance

Returns the balance of your account.

keyYour API key
actionbalance
Example response
{
  "balance": "100.84292",
  "currency": "USD"
}
Glossary

What do the response fields mean?

The fields you will read most often, and the action that returns each one.

FieldReturned byMeaning
serviceservicesThe ID you send when you place an order.
rateservicesPrice per 1,000 for your account.
min / maxservicesSmallest and largest quantity for one order.
refillservicestrue if the service can be sent for refill.
cancelservicestrue if the service can be canceled.
orderaddThe order ID. Save it to check the order later.
chargestatusThe amount taken from your balance for the order.
start_countstatusThe count on the link when the order started.
statusstatusWhere the order is now, for example In progress, Partial or Completed.
remainsstatusThe quantity that has not been delivered.
currencystatus, balanceThe currency of the amounts.
erroranyReturned instead of the data when something is wrong with the request.
Refunds

How much comes back on a partial order?

When an order ends as Partial, the undelivered part goes back to your SMM Center balance automatically. Use the numbers from the status response to check it.

Back to your balance
0.3925
2.50 × 157 ÷ 1000
843 delivered157 refunded

Example values for illustration.

Use cases

What do people connect to the API?

Three common ways to use it.

Reseller panels

Resell SMM Center services on your own panel. Import the service list, set your own prices and pass orders to us automatically.

Automation scripts

Send repeat orders from a script or a scheduled job, for example views for every new post, without logging in.

Bots and apps

Let a Telegram bot, a mobile app or your own order form place orders through SMM Center in the background.

Good practice

What should you do, and avoid, when you automate orders?

Six habits that prevent lost orders and wasted balance.

✓Do

  • Save every order IDIt is the only way to check or refill the order later.
  • Check min and max firstRead them from the service list before you send a quantity.
  • Check statuses in batchesOne request can carry up to 100 order IDs.

✕Don't

  • Put the key in a web page or appAnyone who can read the code can spend your balance. Keep it on your server.
  • Order the same link twice at onceWait until the first order for a link finishes before you send another.
  • Change the link during an orderThe order is then marked Completed and nothing is refunded.
FAQ

API questions

Filter by topic or search for a word.

Sign in, open the Account page and create a key in the API section. Creating a new key disables the old one immediately.

Create your API key

Create a new key on the Account page right away. The old key stops working as soon as the new one is created.

Any language that can send an HTTP POST request, such as PHP, Python, Node.js or Go. No SDK is needed.

No. SMM Center does not cap how many API requests you send per second.

Up to 100 order IDs, separated by commas. The same limit applies to refill requests and refill status checks.

Only that ID returns an error. The other IDs in the same request are still answered.

No. Each service in the services response has a refill field (true or false). Only orders for services with refill set to true can be sent for refill, and only during that service's refill period.

Only part of the order was delivered. The undelivered part is refunded to your SMM Center balance automatically.

Yes. The API follows the common SMM panel API v2 format, so most panel scripts that accept a provider URL and API key can connect to SMM Center.

Yes. The rate in the services response is the price per 1,000 for your account, the same one you see when you order in the panel.

Yes. If you order in large volumes, open a support ticket with your expected monthly volume and we can set custom rates for your account.

Open a ticket

Yes. A child panel is your own panel on your own domain that uses SMM Center as its provider through this API.

Child panel

Ready to send your first request?

Create a key, send a small order to a low-cost service and check its status before you automate anything bigger.

Create a free account