DocsOverview
Orbismm API documentation
Place and track orders from your own panel, app or scripts. Two APIs share one account, one balance and the same orders: the standard SMM panel API (v2) and a REST API (v1) with idempotency keys, webhooks and batch orders.
Which API to use
Use v2 if you run a standard SMM panel script: it speaks the protocol those scripts already use, so you add Orbismm as a provider with no code. Use v1 for new integrations and anything that must not place an order twice or wants updates pushed instead of polled.
| API v2 | API v1 | |
|---|---|---|
| Style | One endpoint, form fields key and action | REST and JSON, one URL per resource |
| Authentication | key field | Authorization: Bearer header |
| Errors | {"error": "…"} with HTTP 200 | HTTP status and a stable error code |
| Safe retries | No | Idempotency-Key header |
| Updates | Poll status | Signed webhooks, or poll |
| Bulk | Status, refill and cancel for up to 100 IDs | Up to 100 new orders in one call |
| Sandbox | Yes, with a test key | Yes, with a test key |
Both APIs work on the same orders: an order placed through v2 can be read, canceled or refilled through v1, and the other way round.
Base URLs
| API v2 | https://orbismm.com/api/v2 |
| API v1 | https://orbismm.com/api/v1 |
| OpenAPI 3.1 (v1) | https://orbismm.com/api/v1/openapi.json |
Always use HTTPS. The same URLs serve live and sandbox traffic: the key you send decides which one a request belongs to.
Get an API key
- Sign in to the panel and open API & webhooks.
- Pick Live or Sandbox, then Create key. Choose the scopes the key needs and, if you like, an IP allowlist of up to 20 addresses.
- Copy the key. It is shown once: we keep only a hash of it. If you lose a key, roll it in the panel. You get a new key with the same scopes and allowlist, and the old one stops working at once.
Live keys start with orb_live_ and spend your real balance. Test keys start with orb_test_ and work on the sandbox.
| Scope | Allows |
|---|---|
read | Services, orders, refills and balance. On v2: services, status, refill_status, balance. |
orders | Placing, canceling and refilling orders. On v2: add, cancel, refill. |
webhooks | Managing webhook endpoints (v1 only). |
A key that places orders usually needs read as well, to check their status. Keep keys on your server; anyone who has one can spend your balance.
Authentication
On v2, send the key as the key field of every request. On v1, send it in the Authorization header.
Request
curl https://orbismm.com/api/v2 \
-d key=$ORBISMM_KEY \
-d action=balanceRequest
curl https://orbismm.com/api/v1/me \
-H "Authorization: Bearer $ORBISMM_KEY"Quick start
Four calls take you from a new key to a running order. The examples use a real service from our catalogue, #1001 Instagram Followers.
1. Check your balance
Request
curl https://orbismm.com/api/v2 \
-d key=$ORBISMM_KEY \
-d action=balance
Response · 200 OK
{
"balance": "231.5000",
"currency": "USD"
}Request
curl https://orbismm.com/api/v1/me \
-H "Authorization: Bearer $ORBISMM_KEY"
Response · 200 OK
{
"id": 4182,
"object": "account",
"name": "Northwind Media",
"email": "[email protected]",
"tier": "standard",
"balance": "231.5000",
"currency": "USD",
"livemode": true
}2. Find a service
Every service has an ID, your rate per 1,000 and a minimum and maximum quantity.
Request
curl https://orbismm.com/api/v2 \
-d key=$ORBISMM_KEY \
-d action=services
Response · 200 OK, one entry of the list
[
{
"service": 1001,
"name": "Instagram Followers",
"type": "Default",
"category": "Instagram Followers",
"rate": "2.4000",
"min": "50",
"max": "100000",
"refill": true,
"cancel": true,
"dripfeed": false
}
]Request
curl "https://orbismm.com/api/v1/services?platform=instagram" \
-H "Authorization: Bearer $ORBISMM_KEY"3. Place an order
Request
curl https://orbismm.com/api/v2 \
-d key=$ORBISMM_KEY \
-d action=add \
-d service=1001 \
-d link=https://www.instagram.com/yourbrand \
-d quantity=1000
Response · 200 OK
{
"order": 58213
}Request
curl https://orbismm.com/api/v1/orders \
-H "Authorization: Bearer $ORBISMM_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 3f6c2a9e-8d41-4b7a-9e0c-5d2f1b7a4c88" \
-d '{"service":1001,"link":"https://www.instagram.com/yourbrand","quantity":1000}'
Response · 201 Created: the full order object
{
"id": 58213,
"object": "order",
"service": {
"id": 1001,
"name": "Instagram Followers",
"platform": "instagram"
},
"link": "https://www.instagram.com/yourbrand",
"quantity": 1000,
"status": "pending",
"start_count": null,
"delivered": 0,
"remains": 1000,
"rate": "2.4000",
"charge": "2.4000",
"refunded": "0.0000",
"currency": "USD",
"runs": null,
"interval": null,
"cancel_requested": false,
"can_cancel": true,
"refill": {
"available": false,
"until": null
},
"livemode": true,
"created_at": "2026-09-26T14:02:11Z",
"started_at": null,
"completed_at": null,
"updated_at": "2026-09-26T14:02:11Z"
}4. Check its status
Request
curl https://orbismm.com/api/v2 \
-d key=$ORBISMM_KEY \
-d action=status \
-d order=58213
Response · 200 OK
{
"charge": "2.4000",
"start_count": "18420",
"status": "In progress",
"remains": "688",
"currency": "USD"
}Request
curl https://orbismm.com/api/v1/orders/58213 \
-H "Authorization: Bearer $ORBISMM_KEY"Rather than polling, v1 can push every status change to your server. See Webhooks.
Conventions
- Money is always USD, sent as a string: API v1 uses four decimals (
"2.4000"), API v2 up to six ("2.40","0.00125") like other panels. Rates are per 1,000 units. - Times (v1) are ISO 8601 in UTC, for example
2026-09-26T14:02:11Z. - Language: API responses and webhooks are always in English. Match on codes and statuses, not on message text.
- Live and sandbox never mix. A test key sees only sandbox orders and the sandbox balance; a live key sees only live ones.
- Rate limit: 60 requests per second per key on each API, unless we have set a different limit for your account. Over the limit you get HTTP 429 with a
Retry-Afterheader.
Common questions
Can I add Orbismm as a provider in my SMM panel?
Yes. If your panel adds providers by API URL and key, enter https://orbismm.com/api/v2 and a live key. Services, orders, status, refill, cancel and balance work as they do with any standard provider.
Do test orders cost money?
No. Orders placed with a test key spend a separate $1,000 sandbox balance and never reach a supplier. They still move through a real lifecycle, so you can test status polling and webhooks.
What happens if my script sends the same order twice?
On v2 you get two orders, as with any standard panel. On v1, send an Idempotency-Key header: a retry with the same key returns the first order instead of placing a second one.
Is there a machine-readable spec?
Yes. API v1 is described in OpenAPI 3.1 at https://orbismm.com/api/v1/openapi.json. You can import it into Postman, Insomnia or a client generator.