Home › OTP API

OTP API

Send and verify one-time passcodes with two API calls. Bremlio generates the code, delivers it by SMS, and handles expiry and brute-force protection — so you don't have to. Pay as you go at 4.65p per passcode SMS.

Bremlio's OTP API, operated by Bremlio Ltd, is a UK one-time-passcode API for phone verification, two-factor authentication (2FA) and passwordless login. You send a passcode to a UK mobile and later verify what the user typed — Bremlio manages the code, its delivery, its expiry and the attempt limits.

Get your API key free

How it works — two calls

1. Send a passcode

# POST /v1/otp/send — Bremlio generates + texts the code
curl -X POST "https://api.bremlio.com/v1/otp/send" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -d '{"to": "+447700900123"}'

# → {"verification_id": "…"}   (store this against the user)

2. Verify the code the user entered

# POST /v1/otp/verify
curl -X POST "https://api.bremlio.com/v1/otp/verify" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -d '{"verification_id": "…", "code": "123456"}'

# → {"verified": true}   (or {"error": "invalid code"} / "code expired")

Node.js

const send = await fetch("https://api.bremlio.com/v1/otp/send", {
  method: "POST",
  headers: { "Content-Type": "application/json", "X-Api-Key": process.env.BREMLIO_API_KEY },
  body: JSON.stringify({ to: "+447700900123" }),
});
const { verification_id } = await send.json();
// later, when the user submits their code:
const check = await fetch("https://api.bremlio.com/v1/otp/verify", {
  method: "POST",
  headers: { "Content-Type": "application/json", "X-Api-Key": process.env.BREMLIO_API_KEY },
  body: JSON.stringify({ verification_id, code: userInput }),
});
const { verified } = await check.json();

What's handled for you

Pricing

ItemCost
Each OTP (one SMS to a UK mobile)4.65p
Monthly feeNone
Free credits on signup25
Minimum top-up£10

An OTP is charged as one SMS. See full pricing.

Frequently asked questions

How does the OTP API work?
Two calls: /v1/otp/send texts a passcode and returns a verification_id; /v1/otp/verify checks the user's code against it. Bremlio handles generation, delivery, expiry and attempt limits.
What does OTP cost?
Each OTP is one SMS at 4.65p to a UK mobile, pay as you go. No monthly fee; 25 free credits on signup.
Do you protect against brute-force and reuse?
Yes — codes expire, attempts are capped, and a code can't be reused after a successful verification.
Can I use it for 2FA and passwordless login?
Yes — the flow suits two-factor authentication, phone verification and passwordless login for UK apps.

Add phone verification to your app today.

Get your API key free

Related

OTP overview · UK SMS API · SMS API · Pricing · Developer docs