API
—

SMS verification API

Everything the dashboard does, from your own code. Six JSON actions, one key, the same ringgit balance.

If you register accounts in bulk, test onboarding flows, or run a tool that needs a phone number per session, clicking through a dashboard does not scale. The DapatOTP API exposes the whole flow: countries, services with live prices and success rates, get a number, poll the status, read the code, cancel.

Errors always come back as HTTP 200 with an error key, so a simple client never has to branch on status codes. Money is in strings, service IDs are stable, and the wait window and refund logic are the same as in the dashboard: no SMS in ten minutes, the order expires and the charge is refunded — your script just sees status EXPIRED.

Rate limit is 120 requests per minute per key. Polling every 5–10 seconds per active number is plenty; we check the supplier at most once every five seconds anyway.

Why get numbers here

Six actionsbalance, countries, services, get_number, get_status, cancel. GET or POST, form or JSON.
Refunds built inExpired and cancelled orders refund themselves. No reconciliation on your side.
Live catalogueservices returns current prices and success rates per route, so your script can pick the best one.
Shared balanceThe API spends the same balance as the dashboard. Top up once, use both.

How it works

Create an account

Email or Google. Takes under a minute, no card needed.

Top up your balance

USDT (TRC20) is credited automatically on-chain. FPX and DuitNow QR when enabled. Minimum RM10.

Pick country, app and route

Routes are ranked by success rate. The price is shown before you confirm.

Use the number, copy the code

The SMS appears on your screen. No SMS in 10 minutes = automatic refund.

Questions people ask

Where do I get the key?

Dashboard → Account. Rotate it there if it leaks.

Is there a webhook?

Not yet. Poll get_status every 5–10 seconds while an order is WAITING.

What does PENDING mean?

The order is being processed or checked by support after a supplier timeout. Do not request again — you will not be charged twice.

Can I integrate it like SMS-Activate?

The action names differ, but the flow is the same: get a number, poll for the code, cancel. Most clients need a few lines changed. Full reference on the API docs page.

Related

Malaysia numbersWhatsApp numbersMoving from SMS-Activate?Receive SMS online in MalaysiaAPI