TextCall Header
Verification

Verify every user.
On the channel that lands.

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

Multi-channel fallback — live

Trying channels in order…billed on success

Official partner across every channel

Tech ProviderOfficial partner
Business PartnerOfficial partner
RCS OfficialVerified partner
Direct ConnectionOfficial Integration
What you get

Everything in one API

🔒

Pay on success

You’re billed for verifications that land — not for attempts that fail or time out.

🔄

Automatic fallback

Set a channel order. A failed WhatsApp becomes an SMS becomes a Voice OTP, automatically.

🛡️

Fraud & AIT resistance

Separate real users from bots and curb artificially inflated traffic before it hits your bill.

WhatsAppRCSViberTelegramVoiceSMS
Built for conversion

When a 1-second OTP delay costs you 20% of signups

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.

  • Every 100ms of OTP delay costs roughly 1% of conversions at signup and deposit.
  • Direct routes and intelligent channel selection for 95%+ delivery.
  • One REST integration replaces the in-house fallback logic your engineers maintain.
  • 100 free verifications to prove cost and conversion before you commit.

What teams see

95%+
Delivery across channels
5
Channels, one API
<500ms
Typical latency
100
Free trial verifications

Sweet-spot verticals: iGaming, Forex/CFD, fintech, gig economy, SaaS and global e-commerce.

How it works

One request. Every channel. Only pay on success.

1

Request a verification

One API call with the user’s number and your channel order — WhatsApp, Viber, Telegram, SMS or Voice.

2

We deliver with automatic fallback

If the first channel doesn’t land, we move to the next instantly — no fallback logic for you to build or maintain.

3

Check the code, pay on success

Confirm the code with a second call. You’re billed only for verifications that actually reach the user.

See it in action

Send a code, watch it verify

Fire one verification request, let automatic fallback pick the channel that lands, and confirm the code — exactly what your user experiences.

DEMO
+357 99 •• •• 12
WhatsApp SMS Voice
6 digits · expires in 5 min
Ready to sendbilled on success
9:41• • •
Messages
Acmenow
Your Acme verification code is 481 902. It expires in 5 minutes.
Enter verification code
Verified

Lands in under a second

Direct routes and intelligent channel selection put the code in front of the user fast — before they drop off.

🔀

Fallback, no extra code

Set the order once. We handle retries and channel switching automatically on the same request.

💳

Only pay for success

Failed or timed-out attempts are never billed — you pay strictly for verifications that succeed.

Configurable

Every setting under your control

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.

DEMO
Acme Production
NumericAlphanumericCharacters
4
6
3
300
https://api.acme.com/verify/webhook
1WhatsAppPrimary
2Google RCSFallback 1
3ViberFallback 2
4SMSFallback 3
5Voice OTPLast resort
Drag to reorder · each channel is tried in sequence until the code is delivered, and you’re billed only on success.
For developers

Built for developers — read the docs

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.

  • One REST API across SMS, WhatsApp, Viber, Telegram and Voice.
  • Automatic fallback in the order you choose — no logic to maintain.
  • Predictable webhooks, delivery reports and detailed logs.
  • Pay only for verifications that succeed — 100 free to start.
verify.sh
# 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" }
Contact Sales

Verify smarter, pay only for success

Get a verification setup tuned to your channels and corridors — with 100 free verifications to start.