NEW
SMS that reaches your users.
One API, worldwide.
$1 free credit · No card required · Pay per SMS
A plain REST API that fits any stack
Features
Everything you need to send SMS at scale
Send to phones worldwide under your own brand name, track every message, and pay only for what you send.
Live in minutes
Create a project, grab an API key and send your first SMS before your coffee cools.
Your brand as sender
Register alphanumeric sender IDs so every SMS arrives under your name, not a random number.
SMS analytics
Follow volume, success rate and spend by country and network.
Every SMS, one log
Search every message and verification with live status, segments, cost and timestamps.
SMS to every corner of the map
International SMS routes priced per country and mobile network — no minimums, no contracts.
Platform
The hard parts of SMS, handled
Status tracking, webhooks, per-network pricing and a managed OTP API, so your backend only asks one question: did it send?
POST /v1/verifications
201Generate
Random code with expiry
code ready
Send SMS
From your sender ID
sent
Check
User enters the code
approved
Verify API: OTP without the plumbing
One call generates the code and sends it by SMS. Expiry, attempt limits and code checks are handled for you.
Real-time status
Poll any SID or get told the moment an SMS moves from queued to sent.
Status webhooks
Pass a callback URL per request and every status change is pushed to your backend.
+44
by country
Vodafone
by network
Per-network pricing
Rates are set per country and mobile network, so you know the cost of every SMS.
Projects, teams & keys
Separate apps into projects, invite teammates and manage API keys per project.
Developers
Send your first SMS in minutes
A small REST API with bearer-token auth and JSON everywhere. No SDK required.
Send any SMS with a single request, or use Verify and let OTPBAY generate, send and check one-time codes for you. Every message gets a SID you can poll or follow through webhooks.
POST/v1/messages/sms
Send an SMS to any number from your sender ID.
GET/v1/messages/sms/:sid
Look up status, segments and cost of a message.
POST/v1/verifications
Generate a one-time code and send it by SMS.
POST/v1/verifications/:sid/check
Check the code the user entered.
# Send an SMScurl -X POST https://api.otpbay.com/v1/messages/sms \ -H "Authorization: Bearer $OTPBAY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+447700900123", "from": "OTPBAY", "body": "Your order #1042 has shipped." }'# Or let Verify generate and send the codecurl -X POST https://api.otpbay.com/v1/verifications \ -H "Authorization: Bearer $OTPBAY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+447700900123" }'Use cases
Built for every message that matters
From one-time passcodes to order updates, send the texts your users are waiting for.
Confirm every new account owns a real phone number before it touches your product.
Add a second factor to sign-in without asking users to install an authenticator app.
Let users recover access in seconds with a short-lived code instead of fragile email links.
Step up high-value orders with a one-time code and cut chargebacks from stolen accounts.
Notify users instantly about new logins, password changes and payouts.
Confirm every new account owns a real phone number before it touches your product.
Add a second factor to sign-in without asking users to install an authenticator app.
Let users recover access in seconds with a short-lived code instead of fragile email links.
Step up high-value orders with a one-time code and cut chargebacks from stolen accounts.
Notify users instantly about new logins, password changes and payouts.
Re-verify users who sign in from a new device or location before granting access.
Send couriers and customers a code to confirm the right parcel reached the right person.
Confirm appointments and send reminders by SMS to cut no-shows.
Trigger a verification only when your risk signals flag a suspicious action.
Tell customers the moment an order is confirmed, shipped or out for delivery.
Re-verify users who sign in from a new device or location before granting access.
Send couriers and customers a code to confirm the right parcel reached the right person.
Confirm appointments and send reminders by SMS to cut no-shows.
Trigger a verification only when your risk signals flag a suspicious action.
Tell customers the moment an order is confirmed, shipped or out for delivery.
Pricing
Pay per SMS. Nothing else.
No subscriptions, no minimums, no seat fees.
Global SMS
Core productReach any phone over international routes with your own sender ID.
Local rates
See ratesCustom alphanumeric sender IDs
Per-country, per-network rates
Real-time status callbacks
No minimums or contracts
Verify API
Managed OTP over SMS — code generation, expiry, attempt limits and checks.
Codes sent from your sender ID
Expiry & attempt limits built in
Fee refunded if the code isn't sent
Status webhooks
Telegram add-on
Optional: deliver codes inside Telegram first, with SMS as the fallback.
Same price in every country
Automatic SMS fallback
Refunded if not delivered
Enable per project
Start with $1 of free credit
Test sending to real phones before you commit. Top up your balance anytime — no subscription needed.
FAQ
Questions, answered
Everything you need to know about sending SMS and verifying users with OTPBAY.
Can't find what you're looking for? Contact us
One API call.
Users worldwide.
Create an account, grab an API key and send your first SMS on us — every new account starts with $1 of free credit.