API for developers — compatible with panels SMM Panel
What is API Arab Platform? And how do you benefit from it?

API is a programming gateway that lets your site, bot or app order Arab Platform services automatically without entering the panel — so it creates orders, tracks their status and reads prices and balance, all within seconds and 24 hours a day.

Open the panel SMM your ownConnect your site to Arab Platform, set your own prices above ours, and profit from every order your customers pay.
Telegram boosting botMake your bot receive orders, send them to us directly and notify the customer of the status automatically.
Automate your businessRun thousands of orders without manual work, with automatic refund of the unfulfilled part and refill for supported services.
The same format as panels SMM Panel popular (API v2): The same command names, fields and responses (services, add, status, balance, refill, cancel). If you have a script SMM ready or a site connected to another panel, just put the link API and your key, and it will work right away without any code changes.
Contact information
Link APIhttps://arb0.com/api/v2
How to orderPOST
Request formatapplication/x-www-form-urlencoded or JSON
Response formatJSON
Key APIfrom Account page (requires login)

The interface is compatible with the panels format SMM standard (API v2), so it works with most ready-made reseller scripts.

Services list services
ParameterDescription
keyKey API
actionservices
Response example
[
  {
    "service": "1",
    "name": "رشق أعضاء تيليجرام",
    "type": "Default",
    "category": "تيليجرام",
    "rate": "0.9000",
    "min": "50",
    "max": "10000",
    "refill": false,
    "cancel": false
  }
]
Create Order add
ParameterDescription
keyKey API
actionadd
serviceNumber Service
linkLink
quantityQuantity
answerAnswer number (for voting services only)
speedoptional — Speed in seconds: 0 or max = max speed, or 1 to 300
langoptional — Accounts type (Represents the account system language): ar / en — see the types table
genderoptional — 0 mixed, 1 Girls (female), 2 boys (male)
messagefor message services only — Message text (also accepts comments)
serveroptional — 1 Fake (fake) or 2 real (real)
Response example
{
  "order": 23501
}
Status of Order status
ParameterDescription
keyKey API
actionstatus
orderOrder number
Response example
{
  "charge": "0.2782",
  "start_count": "3572",
  "status": "Partial",
  "remains": "157",
  "currency": "USD"
}
Status of several orders status (multi)
ParameterDescription
keyKey API
actionstatus
ordersnumbers Orders comma-separated (up to 100)
Response example
{
  "1": {"charge": "0.2782", "start_count": "3572", "status": "Partial", "remains": "157", "currency": "USD"},
  "10": {"error": "Incorrect order ID"}
}
Stop orders cancel
ParameterDescription
keyKey API
actioncancel
ordersnumbers Orders comma-separated (up to 100)
Response example
[
  {"order": 9, "cancel": 1},
  {"order": 2, "cancel": {"error": "لا يمكن إيقاف هذا الطلب."}}
]
Refill refill
ParameterDescription
keyKey API
actionrefill
orderOrder number
Response example
{
  "refill": "1"
}
Refill several orders refill (multi)
ParameterDescription
keyKey API
actionrefill
ordersnumbers Orders comma-separated (up to 100)
Response example
[
  {"order": 1, "refill": 1},
  {"order": 3, "refill": {"error": "هذه الخدمة لا تدعم إعادة التعبئة."}}
]
Status of Refill refill_status
ParameterDescription
keyKey API
actionrefill_status
refillNumber Refill (or refills for several numbers)
Response example
{
  "status": "Completed"
}
Balance balance
ParameterDescription
keyKey API
actionbalance
Response example
{
  "balance": "100.8429",
  "currency": "USD"
}
Order options (speed, account type, gender...)

Each service defines the options it supports. Request action=services and for each service you'll find the field options with allowed and default values:

"options": {
  "answer": {"required": true, "type": "integer"},
  "speed":  {"required": false, "default": 0, "min": 0, "max": 300, "unit": "seconds", "note": "0 = max speed"},
  "lang":   {"required": false, "default": "ar", "values": {"ar": "...", "en": "..."}},
  "gender": {"required": false, "default": 0, "values": {"0": "mixed", "1": "female", "2": "male"}}
}
  • If you don't send the option, the default value is used.
  • If you send an invalid value the order is rejected with a clear error message, and no balance is deducted.
  • Options the service doesn't support are ignored, so standard scripts work without changes.
Available account types (lang) — represents the account system language
ValueTypeExplanation
arArab accounts (ar)Arab accounts — account system language: Arabic
enArab accounts (en)Arab accounts — account system language: English
Example: vote with Arab girls accounts, at 15 seconds speed
curl -X POST https://arb0.com/api/v2 \
  -d key=YOUR_KEY -d action=add -d service=20 \
  -d link=https://t.me/channel/123 -d quantity=500 \
  -d answer=2 -d lang=ar -d gender=1 -d speed=15
Example in PHP
$post = ['key' => 'YOUR_KEY', 'action' => 'add', 'service' => 21,
         'link' => 'https://t.me/group', 'quantity' => 100,
         'message' => 'مرحبا بكم', 'server' => 2];
Example in Python
requests.post("https://arb0.com/api/v2", data={"key": "YOUR_KEY", "action": "add", "service": 22,
    "link": "https://t.me/channel", "quantity": 1000, "gender": "male", "speed": "max"}).json()
Fetch choices (poll / contest buttons / reactions)

For services that require answer and have options.answer.choices in services: fetch the available choices from the post and show them to your customer, then send the value answer of the chosen option as is in action=add.

curl -X POST https://arb0.com/api/v2 -d key=YOUR_KEY -d action=choices -d service=20 -d link=https://t.me/channel/123
{"type": "poll", "title": "أفضل لاعب؟",
 "choices": [{"label": "1. ميسي", "answer": "0"}, {"label": "2. رونالدو", "answer": "1"}]}

type: poll poll options · buttons contest buttons (forced subscription) · reactions channel reactions (premium ones use the emoji ID). Limit: 20 fetch requests per minute. Private channels are supported with the invite link (t.me/+…/رقم المنشور).

Errors and statuses

On error the response looks like: {"error": "رسالة الخطأ"}

Values status possible: Pending, Processing, In progress, Completed, Partial, Canceled.

Option error examples: Invalid speed: use 0 (max) or 1-300 seconds, Invalid lang: use one of ar, en, Invalid gender: use 0 (mixed), 1 (female) or 2 (male).

in services: Field cancel = The service supports stopping, andrefill = support refill. Refill statuses: Pending, In progress, Completed, Rejected.

Limit: 120 orders per minute per key.

Buy SMS numbers via the API

Same URL and same key — your website or bot can sell verification numbers to your customers automatically: list services and countries, buy a number, receive the code, and cancel with a refund if no code arrives.

actionParametersFunction
sms_services—All available numbers: id, service, country, country_iso, price, stock, price_tiers (whether it has several prices)
sms_tiersidPrice tiers for the same number (e.g. 0.25 / 0.30 / 0.55) with stock for each price
sms_buyid, tier (optional), max_price (optional)Buy a number — the price is deducted from your balance and it returns order andphone
sms_statusorderNumber status and received codes (codes) and remaining time in seconds
sms_cancelorderCancel with a full refund (only if no code arrived, and 2 minutes after purchase)
sms_againorderRequest another code on the same number (for services that support it)
sms_finishorderFinish the order after receiving the code
sms_orders—Your last 100 numbers
Values status

waiting Waiting for code · received Code received · finished Completed · cancelled / expired / failed = canceled and refunded automatically.

Steps
  1. Fetch the list with sms_services and show it to your customers at your price (add your profit on top of price).
  2. When the customer orders, send sms_buy with id the number, and give them phone.
  3. Check sms_status every 5 seconds until codes is not empty, then send the code to the customer.
  4. If time runs out without a code, the number is canceled and refunded to your balance automatically — or cancel it yourself with sms_cancel.
Example response for sms_buy
{"order": 1542, "phone": "+6281234567890", "service": "Telegram", "country": "إندونيسيا",
 "price": "0.33", "status": "waiting", "codes": [], "time_left": 1200, "can_cancel": true}
Example in Python
import requests, time
API, KEY = "https://arb0.com/api/v2", "YOUR_KEY"
nums = requests.post(API, data={"key": KEY, "action": "sms_services"}).json()
tg = [n for n in nums if n["service"] == "Telegram"][0]
o = requests.post(API, data={"key": KEY, "action": "sms_buy", "id": tg["id"]}).json()
print("Number:", o["phone"])
while True:
    s = requests.post(API, data={"key": KEY, "action": "sms_status", "order": o["order"]}).json()
    if s["codes"]:
        print("Code:", s["codes"][-1]); break
    if s["status"] not in ("waiting", "received"):
        print("Refunded:", s["status"]); break
    time.sleep(5)
Example PHP
$o = json_decode(file_get_contents("https://arb0.com/api/v2?" . http_build_query(
    ["key" => "YOUR_KEY", "action" => "sms_buy", "id" => "a15"])), true);
echo $o["phone"];

Possible errors: Insufficient balance / Numbers section is disabled / clear messages such as “No numbers available for this service right now”.

Your key

Log in to create a key API of your own.

Log in
Example Python
import requests

API = "https://arb0.com/api/v2"
KEY = "YOUR_API_KEY"

r = requests.post(API, data={
    "key": KEY, "action": "add",
    "service": 1, "link": "https://t.me/channel",
    "quantity": 1000,
})
print(r.json())   # {"order": 23501}
Example PHP
$ch = curl_init("https://arb0.com/api/v2");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POSTFIELDS => http_build_query([
    "key" => "YOUR_API_KEY",
    "action" => "balance",
  ]),
]);
echo curl_exec($ch);