SMS WhatsApp Viber Voice Push Email 2FA / OTP FlashCall Number Lookup Number Validation Email Validation URL Tracking REST API SDKs WordPress Zapier Make All integrations
Pricing Developers Company Start building
VERIFY

One endpoint.
Verified on any channel.

Add OTP verification to any application with a single API call. Delivered via WhatsApp, Viber, SMS, Voice, or Email — with automatic fallback and fraud scoring built in.

7
channels with automatic fallback
< 500ms
median delivery to first channel
Per request
fraud probability score
Capabilities

Verification that always gets through.

Multi-channel OTP delivery with fraud scoring, configurable fallback and a two-endpoint API.

Multi-channel delivery

Send OTP via the preferred channel with an automatic fallback chain if undelivered.

Fraud scoring

Every request receives a fraud probability score based on velocity, device, and country risk signals.

Configurable fallback chain

Set channel priority once. Automatic retry in under 800ms per step.

Copy-code UX

Viber and WhatsApp OTP messages include a native Copy Code button for higher completion rates.

Full audit trail

Every verification attempt logged: channel used, delivery time, fraud score, outcome.

Simple two-endpoint API

/v1/verify/send to dispatch. /v1/verify/check to confirm. Nothing else required.

Where it shines

Verification for every critical moment.

User login 2FA

Add a second factor to any login flow. Channel selected automatically based on what the user has available.

2FA

Payment confirmation

Verify high-value transactions before processing. Reduces fraud chargebacks.

Payments

New account registration

Confirm phone ownership during signup. Blocks bot registrations and fake accounts.

Onboarding
How it works

Two endpoints. That is the whole API.

01

Send the code

Call /v1/verify/send with the mobile number and your ordered channel chain.

02

We deliver + fall back

The first available channel is tried, falling back automatically if undelivered.

03

Check the code

Call /v1/verify/check with the code the user entered to confirm.

$client->verify()->send([ 'mobile' => '+447700900000', 'channels' => ['whatsapp','viber','sms','voice'], 'type' => 'OTP', 'expiry' => 300, ]);
$result = $client->verify()->check([ 'mobile' => '+447700900000', 'code' => '384712', ]); // $result->verified === true // $result->fraud_score === 12 // $result->channel_used === 'sms'
Verify on ComniCube

Add verification in one call.

Create a free account and verify your first user today. Pay only for successful deliveries.