Own your OTP & notification delivery. Use your SIM, start in minutes—no vendor lock‑in or long contracts.
Everything you need to send critical SMS reliably—without a complex vendor stack.
Use your SIM. No aggregator markup. Predictable per‑SMS pricing from your carrier.
App install + QR pairing. Typical setup takes under 2 minutes.
Straightforward endpoints, clear errors, sandbox keys, and examples.
Add devices/SIMs for throughput. Per‑device queues & throttles keep it smooth.
Real‑time receipts, failure reasons, and webhook callbacks to your app.
Headers, templates, consent logs, and audits. Local rules still apply.
No hardware. No contracts. No waiting.
Download the Android app on a spare phone and sign in.
Open the web dashboard, generate a QR, scan it from the app.
Call the API or use the dashboard. Track delivery in real time.
OTPs • Order updates • Payment confirmations • Login codes • System alerts
If your country requires registration (e.g., DLT in India), use approved templates and sender IDs. SMS Sender provides tools—but compliance remains your responsibility.
You pay your carrier for SMS. Our pricing covers software features and support.
Older phones make great dedicated gateways. Keep the device on power + Wi‑Fi.
Bearer token auth. Clear responses. Delivery receipts via webhooks.
# Base URL https://api.smssender.example # Auth Authorization: Bearer <YOUR_API_KEY>
POST /v1/messages
Content-Type: application/json
{
"to": "+91XXXXXXXXXX",
"text": "Your OTP is 123456",
"sender": "+91YYYYYYYYYY",
"callback_url": "https://yourapp.com/webhooks/sms"
}
Response → {
"id": "msg_abc123",
"status": "queued",
"device_id": "dev_01"
}
# Webhook example (POST /webhooks/sms)
{
"id": "msg_abc123",
"to": "+91XXXXXXXXXX",
"status": "delivered", // queued | sent | delivered | failed
"error_code": null,
"timestamp": 1730000000
}
# Queues & limits
- ~1 SMS/sec per SIM (configurable)
- Backoff + retries for transient errors
- Throttles per sender and global caps
- Example errors: SIM_NO_BALANCE, DND_BLOCKED, CARRIER_THROTTLE, INVALID_NUMBER, DEVICE_OFFLINE
Download the app and connect your first device.
Have questions or need a demo? Drop your email and we’ll get back.