What is bulk SMS?
Bulk SMS in India means sending the same text message, or a templated message with different details, to many recipients at once, through software instead of by hand. It is the standard way Indian businesses send one-time passwords, order updates, fee reminders, appointment alerts and offers. A gateway sits between your system and the operators and does the sending; you add a contact list and a message. This guide covers the process from registration to your first campaign.
In India the interesting part is not the sending. It is the compliance. The Telecom Regulatory Authority of India (TRAI) requires every business sender to be registered, every sender name to be approved and every message pattern to be approved in advance. Get this right and bulk SMS is fast and cheap. Get it wrong and messages vanish without an error you can see.
How bulk SMS works in India: the DLT framework
To control spam, TRAI introduced the Distributed Ledger Technology platform, universally called DLT. Each operator runs a portal on a shared ledger, and every commercial SMS is checked against it as it passes through the network. Three records matter.
| Record | What it is | Where it appears |
|---|---|---|
| Entity (Principal Entity) | Your business, registered with documents such as PAN, GST or incorporation details and an authorisation letter | Entity ID, used by your provider for every message |
| Header (sender ID) | The short name recipients see, usually six letters such as TELNXO, tied to a category | Shown on the handset; operators may add a prefix |
| Content template | The fixed text of a message with placeholders for variables like {#var#} | Template ID, sent with each message |
When you send, your provider submits the entity ID, header and template ID alongside the text. The network checks that all three match the registered records and that the text fits the approved template. A mismatch is rejected at the operator, not at your provider, which is why the error is often a bare code. Our DLT registration checklist and the blog post on a DLT checklist for sending SMS in India cover the registration paperwork step by step.
Step by step: sending your first bulk SMS campaign
- Register as an entity. Use any operator's DLT portal. Keep your PAN, GST or CIN details and an authorisation letter ready. The registration is shared across the networks.
- Register your headers. Create one header per brand or purpose, for example one for OTPs and one for marketing, and set the category of each.
- Submit your templates. Write each message once with placeholders for names, amounts and codes. Keep the fixed wording identical to what you will send.
- Link your DLT account to your provider. Add your entity ID, headers and template IDs inside your SMS provider's dashboard or API settings. We do this for you with Telnxo SMS.
- Prepare the contact list. Use international format with country code, remove duplicates and landlines, and keep a record of consent.
- Send a test, then the campaign. Send to a handful of your own numbers on different operators first, check how the text renders, then release the full list.
Sending by API or from a dashboard
For campaigns, a dashboard with a CSV upload is enough. For OTPs, alerts and anything triggered by customer action, call an API. This is what a templated send looks like:
curl -X POST https://api.telnxo.com/v1/messages \
-H "Authorization: Bearer $TELNXO_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel": "sms",
"to": "+919812345670",
"sender": "TELNXO",
"template": "order_update",
"variables": { "name": "Asha", "order": "4821" }
}'The API reference lists every field. If you would rather not code, the same account sends from the dashboard, and you can watch delivery per message under analytics.
Transactional, service and promotional SMS
Operators treat messages differently according to their purpose, and so does TRAI. Pick the right category, because a promotional message sent as transactional is the quickest way to lose a header.
| Transactional | Service | Promotional | |
|---|---|---|---|
| Purpose | Customer-triggered information: OTP, payment confirmation | Updates about an existing relationship: delivery status, appointment | Marketing: offers, launches, discounts |
| Needs consent? | Implicit from the transaction | Implicit or explicit, by type | Recipient must not be on DND, or must have given consent |
| Sending hours | Any time | Any time | Restricted to a daytime window |
| DND filtered? | No | No | Yes |
| Example | 482913 is your OTP for the Telnxo login. | Your order 4821 is out for delivery. | Festival sale: 20 per cent off today only. |
Do not hide offers inside transactional messages. If an OTP message also advertises a product, it is a promotional message and can be blocked. See our guide to opt-outs, sending windows and consent and OTP best practices.
Check Do Not Disturb. Promotional SMS to numbers on the national Do Not Disturb preference registry is filtered out unless the person has given you consent that is recorded on DLT. Keep consent records with the time, the source and the wording shown.
How much does bulk SMS cost in India?
You pay for each segment that is submitted, and the rate depends on the route and your volume. These are the elements that make up your bill.
| Item | What to know |
|---|---|
| Per-SMS rate | Promotional and transactional routes are priced differently; larger packs lower the rate. |
| Segments | One message is one segment up to 160 characters in the standard GSM 7-bit alphabet, 153 per part when longer. Hindi and other Indian languages use Unicode encoding: 70 characters in one segment, 67 per part when longer. |
| GST | 18 per cent GST is added to SMS services, so compare prices before and after tax. |
| DLT registration | A one-time fee on the operator portal; the amount depends on the operator. |
| Validity of credits | Check whether purchased credits expire, and when. |
Use the SMS segment calculator on a draft to see how many segments a message will use, and the cost calculator to estimate a month. The guide to segments and cost explains why one curly quote can double a bill, and the pricing page shows our current rates.
Why bulk SMS gets rejected, and how to fix it
Most delivery problems in India come from a short list of mismatches.
| Cause | Fix |
|---|---|
| Message text does not match the template exactly | Copy the approved text. Variables may change but fixed wording, punctuation and spacing may not. |
| Wrong header or template ID | Check the IDs saved in your provider account against DLT. Each header belongs to a category. |
| Link not whitelisted | Register the domains and short links you use in messages, and keep them stable. |
| Sending outside allowed hours | Schedule promotional sends in the permitted daytime window. |
| Number on DND for promotional traffic | Filter lists, or capture and record consent. |
| Variable too long | Placeholders have length limits; truncate names and amounts before sending. |
When a message fails, read the status and error code before you guess. Our list of error codes and the article on why messages fail or arrive late help you decide whether it is a content problem, a registration problem or a route problem.
Best practices that improve delivery and replies
- Send from a clear sender ID. A recognisable brand header builds trust and lifts the chance that the message is read. Check formats with the sender ID checker.
- Put the important part first. Phones preview the first line. Lead with what the person needs: the OTP, the amount, the date.
- Keep to one segment. Shorten text and avoid special characters. Use the Unicode checker on text pasted from documents.
- Add a simple opt-out for promotions. A clear way to stop messages protects your sender reputation.
- Segment your list. A short, relevant message to people who asked for it beats a blast to everyone.
- Watch receipts, not just sent counts. Track delivered, failed and rejected, and act on the failed ones the same day.
Many industries have their own patterns: fintech relies on OTPs and payment alerts, education on fee reminders and results, and e-commerce on order updates. See also our marketing and transactional solutions.
Moving from another bulk SMS provider
Your DLT registrations belong to you, not to the provider, so moving is mostly a matter of linking the same entity ID, headers and templates in a new account, running a test and redirecting traffic in stages. Our guides for MSG91 and Textlocal list what to export, what to re-register and how to run both providers side by side for a week.
If you also want to reach customers on chat apps or branded cards, the same account supports WhatsApp and RCS, with SMS as the fallback.
In India, bulk SMS is a registration problem first and a sending problem second.
Start your bulk SMS setup. We link your DLT details, test your templates and help you send your first campaign.
Frequently asked questions
Is bulk SMS legal in India?
Yes, when you follow the telecom regulator's rules: register as a business on a DLT platform, use an approved sender ID and templates, respect Do Not Disturb preferences for promotional messages and send within permitted hours.
Do I need DLT registration to send bulk SMS?
Yes. Operators block commercial SMS that does not match a registered entity, sender ID and template. Registration is done once on a DLT portal and your SMS provider then uses the IDs you receive.
What is the cost of bulk SMS in India?
Prices are per SMS segment and generally run well under one rupee, with transactional and promotional routes priced differently. GST at 18 per cent is added, and some providers charge for registration help or minimum recharges.
What is the difference between transactional and promotional SMS?
Transactional and service messages tell a customer about something they did or asked for, such as an OTP or an order update. Promotional messages market a product or offer. They use different routes, rules and sending windows.
How long does template approval take?
Many templates are approved within hours or a couple of days, depending on the operator and how closely the text follows the rules. Vague, mixed-purpose or unregistered-link templates take longer or get rejected.
Can I send bulk SMS in Hindi or other Indian languages?
Yes. Local-language text is sent as Unicode, so one segment holds 70 characters instead of 160. Register the template in the same language you will send, and check segment counts before a campaign.
Why was my bulk SMS rejected or not delivered?
The usual causes are a template that does not match the message text exactly, an unregistered or mismatched sender ID, a link that is not whitelisted, a number on the DND list for promotional traffic or sending outside permitted hours.