SMS Gateway API for OTPs, Alerts & Campaigns
Send OTPs, order updates, reminders and offers from your website, app or CRM with one API call. DLT-compliant routes, real-time delivery reports by webhook, and help registering your headers and templates, so your messages actually reach the inbox.
- OTP route for login and payments
- REST, HTTP and SMPP connectivity
- Webhooks for every delivery status
- No setup fee, no lock-in
What is an SMS gateway API?
An SMS gateway API lets your software send text messages automatically. Your website, app or CRM makes a simple HTTPS request with the phone number and message, and the gateway delivers it through telecom operators, then reports back whether it was delivered.
SMS still works on every phone, without internet or an app, which is why banks, e-commerce, clinics and schools use it for OTPs, order updates, payment alerts and reminders. With an API there is no manual sending: messages go out the moment something happens, such as a login, a purchase or a missed appointment.
In India, every commercial SMS must follow TRAI's DLT rules: your business, sender IDs (headers) and message templates are registered on an operator's DLT portal, and every message is checked against them. We help you register and set up templates correctly, so messages aren't blocked.
How an SMS travels from your app to a phone
One API call, a DLT check, the operator network and a delivery report, usually in a few seconds. Pick a message type to watch it go.
- Your appCalls the API with number & template
- IBACT APIAuthenticates & queues
- DLT checkHeader, template & tags matched
- OperatorJio, Airtel, Vi or BSNL
- PhoneDelivered, report sent back
Illustration only. Delivery time depends on the operator, the route and the recipient's network.
Everything you need to send SMS at scale
Built for developers, simple enough for marketing teams.
OTP & transactional route
Priority routing for OTPs and alerts that must arrive in seconds, around the clock, including DND numbers.
REST, HTTP & SMPP
JSON REST API, simple HTTP GET/POST links for older software, and SMPP for high-volume systems.
Delivery webhooks
Real-time status for every message: submitted, delivered, failed or rejected, with the operator's error code.
Bulk campaigns
Upload a contact list or send from your CRM, schedule campaigns and personalise each message with variables.
Unicode & regional languages
Send in Hindi, Tamil, Bengali, Kannada and other languages, with long messages joined automatically on the phone.
Secure by default
API keys over HTTPS, IP whitelisting, per-key rate limits and sub-accounts for teams or clients.
Send your first SMS in a few lines of code
Use the template ID approved on DLT and pass only the variable values. The same request works from any language.
toMobile number with country code, or a list of numbers for bulk sends.senderYour 6-character DLT-registered header, such as IBACTD.template_idThe 19-digit DLT template ID for the message.varsValues for the template's tagged variables, in order.callback_urlOptional webhook that receives the delivery status.schedule_atOptional time to send later, in ISO 8601 format.Full API documentation, the sandbox key and SMPP details are shared when your account is created.
SMS types and sender headers in India
Operators add a suffix to your header so people can tell what kind of message it is. Pick the right category when you register each template.
| Type | Header shows as | Used for | DND & timing |
|---|---|---|---|
| Transactional | IBACTD-T | OTPs and alerts linked to a transaction the customer just made, such as banking OTPs | Delivered to DND numbers, 24×7 |
| Service | IBACTD-S | Updates to existing customers: orders, bookings, bills, reminders | Delivered to DND numbers, 24×7; no promotional content |
| Promotional | IBACTD-P | Offers, sales and marketing messages | Not sent to DND numbers without consent; daytime only |
| Government | IBACTD-G | Messages from government bodies | Exempt from DND and time limits |
In the inbox the header appears with an operator prefix, for example JM-IBACTD-T. Sender IDs for transactional and service messages are 6 letters; promotional headers can be 6 digits on some portals.
DLT rules to know in 2026
Messages that don't match a registered header and template are blocked by the operator. These are the checks that matter now.
- Step 1Register your business (entity)Register as a principal entity on one operator's DLT portal, such as Jio, Airtel, Vi or BSNL, with PAN, GST or incorporation proof. The entity ID works across all operators.
- Step 2Register headers and templatesEach sender ID and each message format is approved in advance, with its category: transactional, service or promotional.
- Since Oct 2024Links and numbers must be whitelistedURLs, app links and call-back numbers in templates must be registered. Public link shorteners are blocked, so use your own domain.
- 2025–26Variables must be tagged by typeTRAI's November 2025 direction replaced the generic {#var#} with typed tags such as {#numeric#}, {#alphanumeric#}, {#url#}, {#urlott#}, {#cbn#} and {#email#}. Messages that don't match the tag type are rejected after the transition period.
- Since May 2025Header suffixes added automaticallyOperators add -P, -S, -T or -G to every header, and the old "service explicit" category was merged into promotional.
- Every promoConsent, opt-out and timingPromotional SMS go only to people who haven't opted out or have given consent, during daytime hours, with an opt-out option in the template.
SMS character counter & cost calculator
Type or paste your message to see how many SMS parts it uses, then the monthly cost for your volume.
DLT variable tags are counted at a typical filled-in length, for example 6 digits for {#numeric#}.
Estimated monthly cost
—
Each SMS part is charged as one credit. Standard text fits 160 characters in one SMS (153 per part when longer); Unicode, used for Hindi and other scripts or emojis, fits 70 (67 per part). DLT registration fees charged by the operator portal are separate.
SMS Gateway API plans
Pay per SMS. No setup fee, no monthly rental, no contract. Rates fall automatically as your volume grows.
Starter
For startups and small apps testing SMS.
₹0.18per SMS + GST · up to 10,000 credits
- 10,000 SMS credits
- Promotional and transactional SMS
- REST API access
- Real-time delivery reports
- Free DLT registration help
- Email support
- Custom sender ID setup
- SMPP
Business
For growing businesses sending OTPs and alerts every day.
₹0.14per SMS + GST · up to 5 lakh credits
- Everything in Starter, plus:
- Up to 5,00,000 SMS credits
- OTP route with priority delivery
- Custom sender ID and template help
- Delivery webhooks and scheduling
- Voice OTP and WhatsApp API access
- Priority phone and chat support
Enterprise
For high-volume senders, banks, platforms and resellers.
₹0.09per SMS + GST · unlimited volume
- Everything in Business, plus:
- Unlimited volume
- SMPP and custom API integration
- All channels: SMS, WhatsApp and IVR
- 99.9% uptime SLA
- Dedicated account manager
Rates are per SMS credit (one 160-character part) and exclude 18% GST. Credits are prepaid. DLT registration help is free; any fee charged by the operator's DLT portal is paid by you. Need WhatsApp too? See WhatsApp Business API.
How to go live with the SMS API
Most businesses send their first live SMS within 2–5 working days, depending on DLT approvals.
Create your accountDay 1
Get your API key and access to the sandbox to try sending straight away.
DLT entity registrationDay 1–3
We guide you through registering your business on a DLT portal and linking it to our telemarketer ID.
Headers & templatesDay 2–4
We write templates with the right variable tags and whitelisted links, and help get your sender ID approved.
Integrate the APISame day
Add a few lines of code, a plugin for your website, or connect your CRM. We help your developer test it.
Send & trackOngoing
Go live and watch delivery reports in your dashboard or through webhooks into your own system.
More than SMS: Start, Build and Grow with one team
Messaging works best alongside a good website and a fast way to reply.
Get registered
GST, company and trademark registrations, the documents DLT portals ask for.
GST registrationWebsites & apps
Business websites and online stores with SMS OTP login and order alerts built in.
Website plansEvery channel, one team
WhatsApp Business API, bulk SMS, IVR and virtual numbers to reach and support customers.
WhatsApp APISMS Gateway API: frequently asked questions
What is an SMS gateway API?+
It's a service that lets your website, app or software send SMS automatically through an HTTPS request. You send the phone number, your DLT template ID and variable values; the gateway delivers the SMS through telecom operators and reports back whether it was delivered.
How much does the SMS API cost?+
Rates start at ₹0.18 per SMS for up to 10,000 credits, ₹0.14 per SMS for up to 5 lakh credits, and ₹0.09 per SMS at enterprise volume, plus 18% GST. There's no setup fee or monthly rental. Each 160-character part (70 for Unicode) uses one credit.
Is DLT registration mandatory for sending SMS in India?+
Yes. TRAI requires every business sending commercial SMS to register its entity, sender IDs (headers) and message templates on an operator's DLT platform. Messages that don't match a registered header and template are blocked. We help you register, at no extra charge from us.
How long does DLT registration take?+
Entity registration is usually approved in 1 to 3 working days, and headers and templates in a few hours to 2 days, depending on the operator portal and how well the templates are written. We help you avoid common rejections.
What is the difference between transactional, service and promotional SMS?+
Transactional SMS (-T) are OTPs and alerts tied to a transaction the customer just made. Service SMS (-S) are updates to existing customers, such as order or booking messages. Both are delivered to DND numbers at any time. Promotional SMS (-P) are offers and marketing, sent only to non-DND or consenting numbers during daytime hours.
Can I send OTPs to DND numbers?+
Yes. OTPs and other transactional and service messages registered in the right category reach DND numbers, 24×7. Promotional messages do not, unless the person has given consent.
What is a sender ID or header?+
It's the name shown as the sender, such as IBACTD. In the inbox it appears with an operator prefix and a category suffix, for example JM-IBACTD-T. Transactional and service headers are 6 letters, usually based on your brand name.
What changed with DLT variable tagging in 2025–26?+
Under TRAI's November 2025 direction, templates must use typed variables such as {#numeric#}, {#alphanumeric#}, {#url#}, {#urlott#}, {#cbn#} and {#email#} instead of a generic {#var#}. After the transition, messages whose values don't match the tag type are rejected. We help convert your existing templates.
Can I include links in my SMS?+
Yes, but every link must be whitelisted on DLT and use your own domain. Public URL shorteners are blocked. The same applies to app download links and call-back numbers.
How many characters can one SMS have?+
One standard SMS holds 160 characters. Longer messages are split into parts of 153 characters each and joined on the phone. Messages in Hindi or other scripts, or with emojis, use Unicode: 70 characters in one SMS, or 67 per part. Each part is charged as one credit.
Can I send SMS in Hindi and regional languages?+
Yes. The API supports Unicode, so you can send in Hindi, Tamil, Telugu, Bengali, Kannada, Marathi and other languages. Register the template in the same language on DLT.
How do delivery reports work?+
Each SMS gets a message ID. When the operator confirms delivery or failure, we post the status to your callback URL (webhook) and show it in the dashboard, with the operator's error code for failed messages.
Do you support SMPP?+
Yes. SMPP is available on the Enterprise plan for high-volume senders and platforms that already use SMPP clients. REST and HTTP APIs are available on all plans.
Is there a sandbox to test the API?+
Yes. You get sandbox access to test your integration before going live. Live sending starts after your DLT entity, header and templates are approved.
How fast are OTPs delivered?+
Most OTPs on the transactional route are delivered within a few seconds. Delivery time depends on the operator, the recipient's network and whether the phone is switched on and in coverage.
Can I use the SMS API with WordPress, Shopify or my CRM?+
Yes. Any system that can make an HTTPS request can use the API, and we help connect common platforms such as WordPress and WooCommerce, Shopify, Zoho and custom CRMs for OTP login, order alerts and reminders.
Do SMS credits expire?+
Credit validity depends on your plan and is confirmed on your account. Ask us if you need long validity for low monthly volumes.
Is GST charged on SMS?+
Yes, 18% GST is charged on SMS credits, and you get a GST invoice that registered businesses can use to claim input tax credit. DLT portal fees, if any, are charged by the operator.
Related services
Send your first SMS today
Get an API key and sandbox access, and we'll help with DLT registration. Reply on WhatsApp in minutes.
IBACT Digital is a brand of IBACT Innovations Pvt Ltd. Commercial SMS in India must follow TRAI's TCCCPR and DLT rules; messages that don't match registered headers and templates are blocked by operators. Rates exclude GST and DLT portal fees. Delivery depends on the operator, the recipient's network and DND status. The demo and calculator are illustrations only.