MSG91 vs StartMessaging: OTP API Compared
An honest comparison of MSG91 and StartMessaging for OTP verification in India. Pricing tiers, DLT handling, API simplicity, delivery rates, and support.
StartMessaging Team
Engineering
When Indian developers search for an OTP API, two names frequently come up: MSG91 and StartMessaging. Both are India-focused, both support INR billing, and both are designed for the Indian telecom landscape. But they differ significantly in pricing structure, DLT requirements, API design philosophy, and target audience. In this comparison, we break down the differences honestly to help you choose the right provider for your project.
Two India-Focused Providers
Unlike comparing an Indian provider with a global platform like Twilio (see our Twilio vs StartMessaging comparison), this matchup is between two services built for the Indian market. Both understand TRAI regulations, Indian carrier nuances, and the need for INR billing. The differences lie in approach and philosophy.
Company Background
MSG91
MSG91, operated by Walkover Web Solutions, has been in the Indian SMS market since 2010. It started as a bulk SMS provider and has expanded into a multi-channel communications platform offering SMS, email, voice, WhatsApp, and RCS. Its OTP product is part of a larger suite that includes a visual flow builder, segmentation tools, and campaign management. MSG91 serves enterprises and mid-market companies and has processed billions of messages.
StartMessaging
StartMessaging is a focused OTP API built specifically for developers. Rather than being a multi-channel platform, it does one thing: OTP verification for Indian phone numbers. This focus means a simpler API, faster setup, transparent pricing, and no features you do not need. It is designed for startups, indie developers, and SaaS companies that want reliable OTP without complexity.
Pricing Comparison
MSG91 uses a tiered pricing model where the per-SMS cost decreases as your volume increases. StartMessaging uses a flat rate regardless of volume.
| Volume (per month) | MSG91 Cost/SMS | StartMessaging Cost/OTP |
|---|---|---|
| Up to 10,000 | ~Rs 0.40-0.50 | Rs 0.25 |
| 10,001 - 100,000 | ~Rs 0.25-0.35 | Rs 0.25 |
| 100,001 - 500,000 | ~Rs 0.20-0.28 | Rs 0.25 |
| 500,001+ | ~Rs 0.18-0.22 | Rs 0.25 |
Key takeaway: StartMessaging is cheaper for volumes up to about 200,000 OTPs per month. At very high volumes (500,000+), MSG91 may offer lower per-SMS rates through negotiated enterprise pricing. However, MSG91's pricing is not always transparent — the exact rate depends on your plan, negotiation, and commitment.
Total Cost at Different Scales
| Monthly OTPs | MSG91 (estimated) | StartMessaging | Difference |
|---|---|---|---|
| 5,000 | Rs 2,250 | Rs 1,250 | Save Rs 1,000 |
| 25,000 | Rs 7,500 | Rs 6,250 | Save Rs 1,250 |
| 100,000 | Rs 25,000 | Rs 25,000 | Roughly equal |
| 500,000 | Rs 1,00,000 | Rs 1,25,000 | MSG91 saves Rs 25,000 |
For the full StartMessaging pricing details, visit our pricing page.
DLT Handling
This is one of the most significant differences between the two providers.
MSG91 requires you to complete DLT registration. You need to register your entity on a DLT platform (Jio, Airtel, Vi, or BSNL), get your business approved, register sender IDs, and submit message templates for approval. MSG91 provides guidance and some tools to help with the process, but you are responsible for completing the registration yourself. The process typically takes 3-7 business days.
StartMessaging does not require you to register for DLT at all. We handle all DLT compliance internally using our pre-registered routes and templates. You sign up, get an API key, and start sending OTPs immediately. Learn more about our DLT-free OTP approach.
For startups and developers who want to ship fast, the DLT registration process can be a significant blocker. Even with MSG91's guidance, you still need to gather business documents, submit applications, and wait for approval before sending your first OTP.
API Simplicity and Integration
MSG91 has evolved over the years and now offers multiple products: SendOTP, Campaign, Flow, Segmento, and more. While this breadth is valuable for enterprises, it means the API and dashboard can feel complex for developers who just want to send OTPs.
MSG91's OTP API (SendOTP) requires:
- Creating an account and completing DLT registration
- Getting an authkey from the dashboard
- Configuring an OTP template (with DLT-approved template ID)
- Setting up sender ID, OTP length, and expiry
- Calling the send and verify endpoints
StartMessaging's API requires:
- Signing up and generating an API key
- Calling
POST /otp/sendwith a phone number - Calling
POST /otp/verifywith the request ID and OTP code
There is no template configuration, no sender ID setup, and no DLT linking. The API is designed to be as minimal as possible while still being production-ready.
Code Comparison
StartMessaging: Send OTP
const response = await fetch('https://api.startmessaging.com/otp/send', {
method: 'POST',
headers: {
'Authorization': 'Bearer sm_live_your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
phoneNumber: '+919876543210',
}),
});
const { data } = await response.json();
// data.requestId -> use for verificationMSG91: Send OTP
const response = await fetch(
'https://control.msg91.com/api/v5/otp?' +
new URLSearchParams({
template_id: 'YOUR_DLT_TEMPLATE_ID',
mobile: '919876543210',
authkey: 'YOUR_AUTH_KEY',
otp_length: '6',
otp_expiry: '10',
}),
{ method: 'POST' }
);
const data = await response.json();StartMessaging: Verify OTP
const response = await fetch('https://api.startmessaging.com/otp/verify', {
method: 'POST',
headers: {
'Authorization': 'Bearer sm_live_your_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
requestId: 'req_abc123',
otp: '482916',
}),
});
const { data } = await response.json();
console.log(data.verified); // trueMSG91: Verify OTP
const response = await fetch(
'https://control.msg91.com/api/v5/otp/verify?' +
new URLSearchParams({
mobile: '919876543210',
otp: '482916',
authkey: 'YOUR_AUTH_KEY',
}),
{ method: 'POST' }
);
const data = await response.json();Both APIs are functional, but StartMessaging uses a cleaner JSON body approach with standard Authorization headers rather than query parameters for authentication. StartMessaging also returns a requestId for tracking, which simplifies verification flows.
Feature-by-Feature Comparison
| Feature | MSG91 | StartMessaging |
|---|---|---|
| OTP send + verify | Yes | Yes |
| DLT registration required | Yes | No |
| Flat pricing | No (tiered) | Yes (Rs 0.25) |
| INR billing | Yes | Yes |
| Prepaid wallet | Yes | Yes |
| Minimum commitment | Varies by plan | None |
| Setup time | 15-30 min + DLT | <5 minutes |
| Multi-channel (email, voice, WhatsApp) | Yes | No (SMS OTP only) |
| Visual flow builder | Yes | No |
| Campaign management | Yes | No |
| Idempotent OTP sends | Limited | Yes (idempotencyKey) |
| Automatic provider fallback | Varies | Yes |
| Message logs and tracking | Yes | Yes |
| Dashboard | Yes (feature-rich) | Yes (focused) |
| Bulk SMS | Yes | No (OTP only) |
Delivery Rates
Both MSG91 and StartMessaging achieve strong delivery rates across Indian carriers. MSG91 has years of experience and strong relationships with Indian telcos, achieving 96-98% delivery rates.
StartMessaging achieves 97-99% delivery rates by using a multi-provider fallback system. If the primary SMS provider fails to deliver, the system automatically retries through a secondary provider. This approach provides a slight edge in overall reliability.
For detailed carrier-specific information, see our guide on OTP delivery rates in India.
Documentation and Support
MSG91 has comprehensive documentation covering its full product suite, including Postman collections, SDKs for multiple languages, and integration guides. However, the breadth of products can make it harder to find exactly what you need for a simple OTP integration. Support is available via email, chat, and phone.
StartMessaging documentation is focused entirely on OTP. The API reference covers two endpoints with clear request and response examples. Because the product scope is narrow, the docs are straightforward and easy to navigate. Support is available via email and the dashboard.
Which Should You Choose?
Choose StartMessaging if:
- You are a startup or developer who wants to ship OTP verification fast
- You do not want to deal with DLT registration
- You send fewer than 200,000 OTPs per month and want the simplest pricing
- You value API simplicity and want to minimize integration effort
- You only need SMS OTP for India (no bulk SMS, campaigns, or multi-channel)
Choose MSG91 if:
- You need multi-channel messaging (email, voice, WhatsApp, RCS) in one platform
- You send 500,000+ OTPs per month and need volume discounts
- You want a visual flow builder to create complex messaging workflows
- You need bulk SMS and campaign management alongside OTP
- You have already completed DLT registration
For a broader comparison including Twilio, Exotel, and Kaleyra, read our best OTP API for India in 2026 guide. Ready to get started? Visit our pricing page or sign up at dashboard.startmessaging.com.
Related Articles
Compare the top OTP API providers for India in 2026: StartMessaging, Twilio, MSG91, Exotel, and Kaleyra. Pricing, DLT, delivery rates, and features.
Detailed comparison of Twilio and StartMessaging for sending OTPs in India. Pricing, DLT, API simplicity, billing currency, and code examples.
Realistic OTP SMS delivery rates by Indian carrier (Jio, Airtel, Vi, BSNL), DLT impact, time-of-day patterns, DND filtering, and tips to improve delivery.
Ready to Send OTPs?
Integrate StartMessaging in 5 minutes. No DLT registration required.