Multi-channel OTP across SMS, WhatsApp, Viber, Telegram and Voice — one API, automatic fallback, and you only pay for verifications that succeed.
95%+ delivery · Automatic fallback · Pay only for successful verifications
Official partner across every channel
You’re billed for verifications that land — not for attempts that fail or time out.
Set a channel order. A failed WhatsApp becomes an SMS becomes a Voice OTP, automatically.
Separate real users from bots and curb artificially inflated traffic before it hits your bill.
Regulated, high-volume operators lose real money to verification drop-off. Verify API is tuned for speed and deliverability on the channels and corridors that matter to you.
Sweet-spot verticals: iGaming, Forex/CFD, fintech, gig economy, SaaS and global e-commerce.
One API call with the user’s number and your channel order — WhatsApp, Viber, Telegram, SMS or Voice.
If the first channel doesn’t land, we move to the next instantly — no fallback logic for you to build or maintain.
Confirm the code with a second call. You’re billed only for verifications that actually reach the user.
Fire one verification request, let automatic fallback pick the channel that lands, and confirm the code — exactly what your user experiences.
Direct routes and intelligent channel selection put the code in front of the user fast — before they drop off.
Set the order once. We handle retries and channel switching automatically on the same request.
Failed or timed-out attempts are never billed — you pay strictly for verifications that succeed.
Set code length, expiry, retry attempts and password type, define your exact channel fallback order, and get real-time results on a callback URL — per application, managed from a simple dashboard with no redeploys.
Request and check verifications with one clean REST API — set the channel order, get automatic fallback, predictable webhooks and delivery reports. Built by engineers and telco experts.
# 1. Request a verification — set your channel order curl -X POST https://api.textcall.com/v2/verify \ -H "Authorization: Bearer $TEXTCALL_KEY" \ -d '{ "to": "+35799001212", "channels": ["whatsapp","sms","voice"], "code_length": 6 }' # → { "id": "vf_8c21", "status": "pending" } # 2. Check the code the user entered curl -X POST https://api.textcall.com/v2/verify/vf_8c21/check \ -H "Authorization: Bearer $TEXTCALL_KEY" \ -d '{ "code": "481902" }' # → { "status": "verified", "channel": "whatsapp" }
Get a verification setup tuned to your channels and corridors — with 100 free verifications to start.