💬 WhatsApp API @ Best Rate | Zero Setup Fee → 99.9% Uptime OTP Delivery — Try FREE Demo! 🏆 10,000+ Registered Businesses — 2,000+ Enterprise Clients Served 🚀 API Integration in Under 5 Minutes 🏅 Verified Business Badge with RCS Messaging 💬 WhatsApp API @ Best Rate | Zero Setup Fee → 99.9% Uptime OTP Delivery — Try FREE Demo! 🏆 10,000+ Registered Businesses — 2,000+ Enterprise Clients Served 🚀 API Integration in Under 5 Minutes 🏅 Verified Business Badge with RCS Messaging
Talk to Sales: India 1800 102 1822

Secure HTTPS SMS API for OTP and Bulk SMS

Send OTP, transactional and promotional SMS from your application over an encrypted HTTPS connection, with JSON responses, delivery reports and balance checks on the same API key.

TLS encryptedOTP channelJSON responsesISO 27001 & SOC 2
99.9%Uptime SLA
2-6 secTypical delivery
Pay As You GoPay only for delivered SMS
100Numbers per API call

Quick Answer

The SMSGatewayHub HTTPS API is the encrypted version of our SMS API: your application calls https://www.smsgatewayhub.com/api/mt/SendSMS with an APIKey, approved sender ID, channel (1 promotional, 2 transactional or OTP), route, number and text, and receives a JSON JobId. Traffic is protected by TLS end to end, typical delivery takes 2-6 seconds, and usage is billed on Pay As You Go pricing.

Why use the HTTPS SMS API instead of plain HTTP?

Every SMS API call carries two things worth protecting: your APIKey, which can spend your credits, and the message text, which often contains one-time passwords, account balances or order details. The HTTPS API sends both over TLS, so they cannot be read or altered on the network between your server and the SMSGatewayHub gateway. For login, payment and banking flows it is the only sensible choice.

The HTTPS API uses exactly the same endpoints and parameters as our HTTP SMS API, so migrating is a one-line change to your base URL. It adds one important option: channel=OTP, which sends one-time passwords on the dedicated OTP route used by our OTP SMS service. SMSGatewayHub is ISO 27001, ISO 9001:2015 and SOC 2 certified and VAPT tested - details are published in our Trust Center.

You also get the same JSON responses, delivery report endpoint and balance endpoint, so dashboards and retry logic you have already written keep working unchanged.

How do I send an OTP over the HTTPS API?

Pass channel=OTP. Generate and store the OTP in your own backend, then put it inside your DLT-approved OTP template.

http
GET https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=OTP&DCS=0&flashsms=0&number=91989xxxxxxx&text=test message&route=1

Response:
{"ErrorCode":"000","ErrorMessage":"Success","JobId":"20047","MessageData":[{"Number":"91989xxxxxxx","MessageId":"mvHdpSyS7UOs9hjxixQLvw"},{"Number":"91989xxxxxxx","MessageId":"PfivClgH20iG6G5R3usHwA"}]}

Single, multiple, Unicode, group and scheduled SMS over HTTPS

One SendSMS endpoint; change parameters for each use case.

http
# Single SMS
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=0&flashsms=0&number=91989xxxxxxx&text=test message&route=1

# Multiple SMS
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=0&flashsms=0&number=91989xxxxxxx,91999xxxxxxx&text=test message&route=1

# Unicode SMS (DCS=8)
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=8&flashsms=0&number=91989xxxxxxx&text=परीक्षण सन्देश&route=1

# Group SMS
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=0&flashsms=0&number=91989xxxxxxx&text=test message&groupid=###&route=1

# Schedule SMS
https://www.smsgatewayhub.com/api/mt/SendSMS?APIKey=yourapicode&senderid=TESTIN&channel=2&DCS=0&flashsms=0&number=91989xxxxxxx&text=test message&schedtime=2015/12/31 22:35:00 PM&route=1

Response (scheduled):
{"ErrorCode":"000","ErrorMessage":"Success","JobId":"20047","MessageData":[{"Number":"91989xxxxxxx","MessageId":"BqTiw66A2UGLFV3DnwHFLQ"}]}

Delivery reports and balance over HTTPS

http
# Delivery report by JobId
https://www.smsgatewayhub.com/api/mt/GetDelivery?APIKey=yourapicode&jobid=#######

Response:
{"ErrorCode":"0","ErrorMessage":"Success","MessageId":null,"DeliveryReports":[{"MessageId":"mvHdpSyS7UOs9hjxixQLvw","DeliveryStatus":"Delivered","DeliveryDate":"2015-09-28T06:17:00"},{"MessageId":"PfivClgH20iG6G5R3usHwA","DeliveryStatus":"Delivered","DeliveryDate":"2015-09-28T06:17:00"}]}

# Multiple delivery report (date range)
https://www.smsgatewayhub.com/smsapi/mis.aspx?user=username&password=password&fromdate=mm/dd/yyyy&todate=mm/dd/yyyy

# Check balance
https://www.smsgatewayhub.com/api/mt/GetBalance?APIKey=yourapicode

Response:
{"ErrorCode":"0","ErrorMessage":"Success","Balance":"Promo:9988|Trans:0"}

HTTPS API parameter reference

ParameterDescription
APIKeyAuthenticates your account instead of username and password.
senderidApproved sender ID (6-character string only).
channelPromotional = 1, Transactional = 2, OTP = OTP.
routeRoute ID used to route the message (see your panel).
DCS0 for normal text (default), 8 for Unicode SMS.
flashsms0 for normal SMS (default), 1 for flash (immediate display).
numberRecipient mobile number; comma-separate multiple numbers.
textSMS content matching your DLT-approved template.
schedtimeyyyy/mm/dd hh:mm:ss PM, e.g. 2014/10/06 20:30:00 PM.
groupidGroup ID of a saved contact group.
jobidJobId from SendSMS, used with GetDelivery.

Only 100 mobile numbers are allowed per request.

Security best practices for your SMS API integration

Keep the APIKey server-side

Never embed the key in Android, iOS or browser code. Call your own backend, which then calls SMSGatewayHub.

Whitelist your server IPs

Restrict the key to known addresses - see how to enable IP whitelisting.

Rate-limit OTP requests

Throttle per number and per IP to block SMS-pumping. Read about protecting against SMS bombers.

Use webhooks for status

Receive delivery updates automatically with SMSGatewayHub webhooks instead of polling.

Match DLT templates exactly

Variable values must fit the approved DLT template or operators reject the message.

Sample code and integration guides

Developers can start from the PHP, Java, Python, C#, Android and iOS snippets on our SMS for developers page. For complete OTP flows, follow the PHP and Python OTP integration guide or the Node.js OTP API tutorial.

If you need very high throughput or run a reseller platform, an SMPP connection may suit you better. Teams that want SMS, WhatsApp and RCS behind one integration can use the SMSGatewayHub Communications API.

Frequently Asked Questions

Send messages with a GET request to https://www.smsgatewayhub.com/api/mt/SendSMS. Delivery reports use https://www.smsgatewayhub.com/api/mt/GetDelivery and balance checks use https://www.smsgatewayhub.com/api/mt/GetBalance, all authenticated with your APIKey.

Set channel=OTP and place the code your backend generated inside your DLT-approved OTP template in the text parameter. SMSGatewayHub routes it on the OTP route, which typically delivers in 2-6 seconds. You pay only for delivered SMS.

The parameters, endpoints and JSON responses are the same; HTTPS simply encrypts the connection and adds the OTP channel value. You can migrate by changing http:// to https:// in your base URL.

Up to 100 mobile numbers, comma-separated, per request. For larger campaigns, batch your calls or upload contacts through the SMSGatewayHub panel.

Yes. Set DCS=8 and send Unicode text, which allows 70 characters per SMS part. Make sure the regional-language template is approved on DLT first.

SMSGatewayHub is ISO 27001, ISO 9001:2015 and SOC 2 certified and VAPT tested, and the HTTPS API encrypts every request. Combine it with IP whitelisting and server-side key storage for a bank-grade setup.

Yes. You can call GetDelivery with a JobId, pull a date-range report from mis.aspx, or configure SMSGatewayHub webhooks so delivery updates are pushed to your server automatically.

Secure your SMS integration today

Register with SMSGatewayHub, get your API key and send encrypted OTP and transactional SMS in minutes. Call 1800 102 1822.