API v1

SMMVersal API Documentation

Place orders, pull the service list, check balance and order status, and top up your balance with QRIS straight from your own app.

Basics

Endpoint: https://smmversal.com/api/v1

Method: POST (JSON or form-urlencoded) / GET

Authentication: send a key parameter or the X-Api-Key header. Grab your key on the Account page.

All amounts are in IDR. Your balance is charged when the order is created and refunded automatically if the order fails or is cancelled.

Get my API key

Example request

curl -X POST https://smmversal.com/api/v1 \
  -H "Content-Type: application/json" \
  -d '{"key":"sv_your_api_key","action":"add","service":1234,"link":"https://instagram.com/username","quantity":1000}'
action=balance

Check balance

{ "balance": 150000, "balance_usd": 9.38, "currency": "IDR" }
action=services

Service list

{ "services": [ { "service": 1234, "name": "Instagram Followers", "category": "Instagram", "rate": "13000", "rate_usd": "0.8125", "min": 100, "max": 100000, "refill": true, "cancel": true, "currency": "IDR" } ] }
action=add

Create an order

  • service Service ID from the service list
  • link Target link / username
  • quantity Amount to order
  • comments Optional — one comment per line (required for comment services)
{ "order": "0f4c...", "charge": 13000, "currency": "IDR" }
action=status

Order status

  • order Order ID returned by add
{ "order": "0f4c...", "status": "Completed", "charge": "13000", "start_count": 1200, "remains": 0 }
action=refill

Request a refill

  • order Order ID
{ "refill": "88123" }
action=cancel

Cancel an order

  • order Order ID
{ "cancel": 1 }
action=topup

Top up balance (QRIS)

  • amount Amount in IDR
{ "reference": "APIL2X...", "amount": 50000, "currency": "IDR", "qr_string": "00020101...", "expires_at": "2026-08-02T04:35:00.000Z" }
action=topup_status

Top up status

  • reference Reference from topup
{ "reference": "APIL2X...", "status": "paid", "amount": 50000 }

Error responses

Every error returns JSON { "error": "message" } with HTTP 400 (bad request), 401 (invalid API key), 402 (insufficient balance), 404 (not found), 409 (duplicate order), or 502 (provider issue).