Skip to content
SMS verification infrastructure

Receive any SMS.
Verify anything.

Real virtual numbers in 202 countries. Pick a country and a service, pay per number, and read the OTP in seconds — from the dashboard or the REST API.

Pay per number Refunded if no SMS Instant API keys
Live order
SMS received
Number
+1 415 555 0198
Expires in
14:52
Service
WhatsApp
Charged
$0.42
WhatsApp · 18:42:07OTP

Your WhatsApp code is 419-021. Do not share this code with anyone.

Extracted code
419021
ord_9f3x2aGET /v1/orders/ord_9f3x2a
Countries
202
Services
1,082
From
$0.01
Numbers in stock
1,757,590,759
How it works

Three steps from number to code

Built for people who verify accounts at volume and for developers who want it automated.

01

Pick a country and service

Browse live inventory — every row is a real SIM we can deliver right now. Prices are per number, no subscription and no monthly minimum.

02

Pay from your balance

Top up once, then buy in one click. The number is reserved and held for 20 minutes while the verification SMS arrives.

03

Read the code, finish the order

The SMS lands in your dashboard in seconds. OTPs are extracted automatically — copy once and close the order to stop billing.

Developers

One endpoint to a verified account

Create an order, poll for the code, finish. Idempotent POSTs, typed error codes and signed webhooks.

  • Delivery in seconds

    Orders poll the supplier every 3 seconds. The median code arrives in 6.4s across our live pool.

  • 200+ countries

    US, UK, DE, FR, IN, ID, BR and long-tail markets — one API, one balance, one invoice.

  • Refund on no-SMS

    If the SMS never arrives before expiry the order expires and the balance is refunded automatically.

Read the API reference
# 1. pick an offer
curl -s "https://api.otpvault.io/v1/catalog/products?country_id=1&service_id=7" \
  -H "Authorization: Bearer sk_live_…"

# 2. create the order (idempotent)
curl -s -X POST "https://api.otpvault.io/v1/orders/create" \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"product_id": 1042, "max_price": 0.35}'

# 3. poll until otp_code is set, then finish
curl -s "https://api.otpvault.io/v1/orders/ord_9f3x2a" \
  -H "Authorization: Bearer sk_live_…"
Bearersk_live_… 20 min hold Idempotency-Key supported
FAQ

Questions, answered

Still unsure? Talk to support, we answer in under an hour.

What is a virtual number?
A real mobile number that lives on a supplier SIM. The provider receives the SMS, and we forward the text and the extracted one-time code to you. You never need a physical SIM or a phone.
How long does delivery take?
Most codes arrive in under 10 seconds. Each number is held for 20 minutes; if no SMS lands in that window the order expires and refunds to your balance automatically.
Do I need an account to use the API?
Yes — an account with a funded balance and an API key. Create a key under Dashboard → API keys. Keys are scoped to your account and can be revoked at any time.
What happens if the code never arrives?
You can cancel a waiting order at any time and get an instant refund, or let the 20-minute timer expire it for you. Cancelled and expired orders are never billed.
Which services are supported?
Any service that delivers an SMS: WhatsApp, Telegram, Google, Instagram, Discord, TikTok, Uber, Amazon and hundreds more. The live catalogue shows current stock per country.
Is there a subscription or minimum spend?
No. You pay only for numbers you actually receive an SMS on. Top up as little as $1 and keep the balance forever — unused balance is never expired.
Start now

Your first number is one click away.

Create an account, top up from $1, and buy your first number in under a minute. No KYC for standard usage, no subscription.