SMS OTPs at ₹0.25 — No DLT Required
Send transactional SMS across all Indian networks with 99.9% delivery, sub-second speed, and zero DLT registration hassle. Pre-registered compliant routes handle everything for you.
✦ No credit card required · Free plan available · Setup in 5 minutes
Why Choose StartMessaging for SMS?
Most SMS providers in India require DLT registration — a complex process that can take weeks. StartMessaging operates through pre-registered DLT routes, letting you send transactional SMS instantly at just ₹0.25 per message. Our routing engine dynamically selects the fastest delivery path.
- ₹0.25 per transactional SMS
- No DLT registration required
- 99.9% delivery rate
- Sub-second delivery speed
- All Indian networks supported
- 99.9%
- Average Delivery Rate
- < 2s
- Delivery Speed
- 10M+
- Messages Processed Daily
- 0
- DLT Setup Hours
Works with every language. Just a single POST request.
curl -X POST https://api.startmessaging.com/otp/send \
-H "Content-Type: application/json" \
-H "X-API-Key: sm_live_your_api_key_here" \
-d '{
"phoneNumber": "+919876543210",
"templateId": "YOUR_TEMPLATE_ID",
"variables": {
"otp": "123456",
"appName": "YourApp"
}
}' const response = await fetch("https://api.startmessaging.com/otp/send", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "sm_live_your_api_key_here",
},
body: JSON.stringify({
phoneNumber: "+919876543210",
templateId: "YOUR_TEMPLATE_ID",
variables: {
otp: "123456",
appName: "YourApp",
},
}),
});
const data = await response.json();
console.log(data); import requests
response = requests.post(
"https://api.startmessaging.com/otp/send",
headers={
"Content-Type": "application/json",
"X-API-Key": "sm_live_your_api_key_here",
},
json={
"phoneNumber": "+919876543210",
"templateId": "YOUR_TEMPLATE_ID",
"variables": {
"otp": "123456",
"appName": "YourApp"
},
},
)
data = response.json()
print(data) $ch = curl_init("https://api.startmessaging.com/otp/send");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: sm_live_your_api_key_here",
],
CURLOPT_POSTFIELDS => json_encode([
"phoneNumber" => "+919876543210",
"templateId" => "YOUR_TEMPLATE_ID",
"variables" => [
"otp" => "123456",
"appName" => "YourApp"
]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true); import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
String body = """
{
"phoneNumber": "+919876543210",
"templateId": "YOUR_TEMPLATE_ID",
"variables": {
"otp": "123456",
"appName": "YourApp"
}
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.startmessaging.com/otp/send"))
.header("Content-Type", "application/json")
.header("X-API-Key", "sm_live_your_api_key_here")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body()); package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"io"
)
func main() {
payload, _ := json.Marshal(map[string]interface{}{
"phoneNumber": "+919876543210",
"templateId": "YOUR_TEMPLATE_ID",
"variables": map[string]string{
"otp": "123456",
"appName": "YourApp",
},
})
req, _ := http.NewRequest("POST", "https://api.startmessaging.com/otp/send", bytes.NewBuffer(payload))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "sm_live_your_api_key_here")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} High-Reliability Carrier Routing
We route directly through Tier 1 operators for maximum deliverability.
Direct Routes
Global Cloud
TRAI Compliant
Jio/Airtel Failover
SMS API — Frequently Asked Questions
Why don't I need DLT registration?
StartMessaging operates through pre-registered DLT compliant routes with major Indian telecom operators. This means your transactional messages are sent through already-registered sender IDs and templates, eliminating the need for you to go through the DLT registration process yourself. This saves weeks of setup time.
What types of SMS can I send?
Our SMS API supports transactional messages (OTPs, alerts, confirmations). All messages are sent through pre-registered DLT routes at ₹0.25/SMS. For promotional SMS, DLT registration is required per TRAI regulations — contact us for assistance with the registration process.
What is the delivery rate?
Our transactional SMS delivery rate is 99.9% across all major Indian networks including Jio, Airtel, Vi, and BSNL. We use intelligent routing to select the fastest delivery path. Average delivery time is under 2 seconds. You receive real-time delivery receipts via webhook.
Related Pages
Start Sending SMS at ₹0.25
Free plan. No DLT registration. No credit card required.