SMS OTP API

SMS OTP API for Philippine mobile numbers

WAppOTP sends one-time passwords and transactional SMS to Philippine mobile numbers from prepaid peso credits that never expire. The same API also delivers on WhatsApp, so you can use SMS alone or only as a fallback.

SMS still reaches every phone, which makes it the safety net for verification. WAppOTP gives you a clean REST API for Philippine SMS without a minimum monthly commitment: buy credits when you need them and pay only for messages that are accepted by the network.

Updated

Send an OTP by SMS

cURL
# OTP by SMS to a Philippine mobile number
curl -X POST https://api.wappotp.com/v1/otp/send \
  -H "Authorization: Bearer $WAPPOTP_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to":"+639171234567","channel":"sms"}'

# Or WhatsApp first, SMS only if WhatsApp can't deliver
  -d '{"to":"+639171234567","fallback":{"sms":true}}'

What you get

  • OTPs on a priority route, generated and verified by WAppOTP with expiry, attempt limits and rate limits.
  • Transactional SMS for order updates, reminders and alerts via POST /v1/messages with channel "sms".
  • Delivery status on every message and signed webhooks.
  • Automatic refund of credits for messages the network rejects.
  • A credit ledger in the dashboard showing every purchase, send and refund.

Cut SMS spend with WhatsApp first

Many users already have WhatsApp. Send the OTP there first and set fallback.sms to true: WAppOTP only sends (and charges) an SMS when WhatsApp has not delivered after about 45 seconds.

Pricing

SMS credits are prepaid in Philippine pesos and never expire. One credit covers one SMS up to 160 characters; OTPs use 2 credits on the priority route. See current credit prices on the billing page after signing up.

Frequently asked questions

Do SMS credits expire?

No. Prepaid SMS credits stay on your account until you use them.

Which numbers can receive SMS?

Philippine mobile numbers in +63 format. For other countries, use WhatsApp delivery.

What if an SMS fails?

If the network rejects a message, the credits are refunded automatically and the message is marked failed.

Can I use my own sender name?

Messages go out under the platform's registered sender name. Contact support if you need a dedicated sender name.

Start sending in minutes

Free plan, no card and no Meta approval. Link your WhatsApp number by QR and make your first API call today.

Create a free account

Related