Skip to content
API and integrations

The SMM Panel API Explained: How add, status, services and the Other Actions Work

A plain-English guide to the standard SMM panel API v2: every action with request and response examples, how panel scripts use it, and common mistakes.

Programming code on a dark monitor

An SMM panel API is a single URL that accepts an API key and an action, so software can do what you would do by hand in the panel: list services, place orders, check their status, request refills, cancel, and read your balance. Most panels share the same v2 shape, which is why one panel script can plug in many providers.

This guide explains that standard API in plain English, with real request and response shapes from Orbismm's implementation, then covers what our REST API v1 and sandbox add on top. The formal reference lives in the API docs.

How does the standard SMM panel API work?

  • One endpoint. On Orbismm it's https://orbismm.com/api/v2, documented in the API v2 reference. Every action goes to the same URL.
  • Two required fields. key (your API key) and action (what you want to do), sent as form fields. Other fields depend on the action.
  • POST is the norm. GET also works, but POST keeps your key out of URLs and server logs.
  • JSON back. Every response is JSON. Errors come back as {"error": "..."} with HTTP status 200, which is what existing panel scripts expect, so always read the body, not just the status code.
  • Money as strings. Amounts such as rate, charge and balance are decimal strings in USD, for example "0.9500".

Every Orbismm account can use the API from day one. There are no API, deposit, monthly or setup fees. The default rate limit is 60 requests per second per key.

Which actions does API v2 support?

ActionFields you sendWhat you get back
serviceskey, actionThe service list: service, name, type, category, rate, min, max, refill, cancel, dripfeed
addservice, link, quantity; optional runs and interval for drip-feedorder: the new order ID
statusorder, or orders with comma-separated IDscharge, start_count, status, remains, currency
refillorder, or ordersrefill: the refill ID
refill_statusrefill, or refillsstatus: Pending, In progress, Completed or Rejected
cancelorders (or order)One row per order with cancel: 1 or an error
balancekey, actionbalance and currency

What do requests and responses look like?

The IDs, prices and counts below are for example only. The field names are exactly what the API returns.

  • List services: action=services returns an array, for example [{"service":102,"name":"Instagram Followers","type":"Default","category":"Instagram Followers","rate":"0.9500","min":"100","max":"50000","refill":true,"cancel":true,"dripfeed":false}]. rate is the price per 1,000 at your tier.
  • Place an order: action=add&service=102&link=https://www.instagram.com/example&quantity=1000 returns {"order":51873}.
  • Check one order: action=status&order=51873 returns {"charge":"0.9500","start_count":"5200","status":"In progress","remains":"400","currency":"USD"}. charge already reflects any refund, so a Partial order shows what it actually cost.
  • Check several orders: action=status&orders=51873,51874 returns an object keyed by order ID, for example {"51873":{...},"51874":{"error":"Incorrect order ID"}}. One bad ID doesn't fail the whole call.
  • Request a refill: action=refill&order=51873 returns {"refill":812}. With orders, you get [{"order":51873,"refill":812}].
  • Check a refill: action=refill_status&refill=812 returns {"status":"Completed"}. With refills, you get [{"refill":812,"status":"Completed"}].
  • Cancel: action=cancel&orders=51873 returns [{"order":51873,"cancel":1}], or an error such as {"error":"This service does not support cancel."} in place of the 1.
  • Balance: action=balance returns {"balance":"250.0000","currency":"USD"}.

Statuses match what you see in the panel: Pending, Processing, In progress, Completed, Partial and Canceled. Our guide to order statuses explains each one and what happens to your money, and what refill covers explains when a refill request makes sense.

How do panel scripts use the API to add a provider?

If you run your own panel on a script, you don't write API calls yourself. The script's provider feature does it. Orbismm's API v2 works with any panel script that supports providers. The flow is the same everywhere:

  1. In your panel's admin, add a provider with the API URL https://orbismm.com/api/v2 and your key.
  2. Import services. The script calls services and stores each service ID with its rate, min and max.
  3. Set your own prices on top of the provider rate and choose which services to show your customers.
  4. When a customer orders, the script calls add with the provider's service ID and stores the returned order ID next to your own order.
  5. A scheduled job calls status for open orders and updates your customers' orders. Refill and cancel buttons call refill and cancel.
  6. The script calls balance so you can see when to top up. On Orbismm, top-ups are in cryptocurrency through Cryptomus; see pricing.

What are the common mistakes when connecting an SMM panel API?

  • Wrong service ID. Service IDs belong to each provider. An ID copied from another provider, or one that was never re-imported after a catalogue change, points to a different service or none. Re-import after changes and check the name matches.
  • Link doesn't match the service. Followers services need a profile link; likes and views need a post or video link. Send full URLs. In the Orbismm panel, the pasted link is read and only matching services are offered; over the API, your script has to get this right.
  • Quantity outside min and max. Read min and max from services and validate before calling add.
  • Retrying add on a timeout. If the request timed out, the order may still have been created. Blindly retrying can create a duplicate. Check status first, or use API v1 with an Idempotency-Key.
  • Polling too often. Checking every order every few seconds wastes your rate limit and changes nothing. Poll every few minutes and use orders to check many at once.
  • Treating HTTP 200 as success. Errors also return 200. Check for an error field in every response.
  • Re-ordering a stuck link. Placing a second order on the same link doesn't speed anything up. On Orbismm it waits for the first to finish.
Error messageWhat it usually means
Invalid API keyKey is wrong, revoked or copied with extra spaces
Incorrect actionTypo in action, or an action this API doesn't have
Incorrect order IDID doesn't exist on this account, or a live key is looking for a sandbox order (or the reverse)
Refill not foundWrong refill ID
This API key is not allowed to do thatThe key's scope doesn't include placing or changing orders

What does Orbismm's API v1 add?

API v2 is built for compatibility with existing scripts. If you're writing your own integration from scratch, API v1 is REST and JSON at https://orbismm.com/api/v1, with features the v2 format can't express:

FeatureWhat it's for
Bearer keys with scopesKeys limited to read, orders or webhooks, so a reporting tool can't place orders
Idempotency-KeySend the same key when retrying order creation; you get the original order back instead of a duplicate
Batch ordersPlace many orders in one request
Signed webhooksWe tell you when things change instead of you polling; the signature lets you verify each call came from us. See webhooks
OpenAPIA machine-readable spec at /api/v1/openapi.json for generating clients

Price cuts apply immediately, and price increases are announced at least 48 hours ahead in the panel and by webhook, so an integration can update its own prices before they change.

How does the sandbox work?

Test keys run full order lifecycles with play money and never place real orders. They work on v2 and v1, so you can connect a panel script, place orders, watch statuses move, and try refill and cancel before spending anything. Test keys only see sandbox orders and live keys only see live ones, and balance on a test key shows your play-money balance. Details are in the sandbox docs.

Switch a finished integration to a live key without changing anything else. If it worked in the sandbox, the same calls work live.

From Orbismm order data

Orbismm currently runs 0 services. Across still being measured orders in the last 30 days, the median start time was still being measured.

Connect Orbismm to your panel in two minutes

Get your API key and try the sandbox first. Read the API docs

Create account

Frequently asked questions

What API actions does a standard SMM panel API support?
The standard v2 API supports services, add, status, refill, refill_status, cancel and balance. Orbismm supports all seven at https://orbismm.com/api/v2.
Do I need to know how to code to use an SMM panel API?
Not if you run a panel script: you paste the API URL and key into its provider settings and it handles the calls. You need code only to build your own integration.
How do I authenticate API requests?
On API v2 you send your key in the key field with every request. On API v1 you send a bearer key, which can be limited to the read, orders or webhooks scopes.
What's the difference between the REST API and the classic key/action API?
The key/action API v2 is the standard format panel scripts already understand. The REST API v1 adds JSON requests, scoped keys, Idempotency-Key, batch orders, signed webhooks and an OpenAPI spec.
Is there a sandbox or test mode before I connect my real panel?
Yes. Test keys run full order lifecycles with play money and never place real orders.
Are there fees for using the API?
No. Every account can use the API from day one with no API, deposit, monthly or setup fees. You pay only for orders.
OR
Orbismm Research

The team that runs the router and measures every service. Numbers in our guides come from our own orders.

Join the next generation

Stop babysitting your suppliers. Start selling.

Measured services · automatic rerouting · refunds to balance · support that answers 24/7