SMS OTP Pricing Blog Industry Solutions User Guide API docs Log in Get started
OTP Verification API

Verify UK users in seconds, not minutes

Two API calls. Bremlio handles delivery, code expiry and brute-force lockout for you. Pay as you go — no setup fees, no monthly minimums.

SMS delivery

Six-digit codes delivered by SMS to any UK mobile (+44).

10-minute expiry

Codes expire automatically, so there are no stale tokens to leak.

Attempt lockout

Five wrong attempts and the code is locked — brute force stops here.

Pay per verification

One credit per delivered code. No monthly fee, no minimum.

Two calls. That's the whole flow.

Nothing to install and no webhooks to wire up. Send a code, verify the code, and your user is authenticated.

1

Send a code

POST to /v1/otp/send with the recipient's UK number. Bremlio generates a six-digit code and texts it.

2

Verify the code

Your user types the code. POST it to /v1/otp/verify with the verification id and Bremlio confirms whether it matches.

3

Done

The user is verified — log them in, approve the transaction, or complete the signup.

verify.js
// Step 1: send the code const { verification_id } = await fetch( "https://api.bremlio.com/v1/otp/send", { method: "POST", headers: { "X-Api-Key": API_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ to: "+447700900123" }) }).then(r => r.json()) // Step 2: verify what the user typed const { verified } = await fetch( "https://api.bremlio.com/v1/otp/verify", { method: "POST", headers: { "X-Api-Key": API_KEY, "Content-Type": "application/json" }, body: JSON.stringify({ verification_id, code: userInput }) }).then(r => r.json()) if (verified) { // ✅ user authenticated }

Test the OTP flow live

Enter your API key and a UK number to send a real code now. No key? Sign up free → — you get 25 credits to test with.

Add verification in minutes

Create an account, get your API key, and secure your signups and logins today.

Create free account →