Welcome to the OTP Gateway developer portal. Our REST APIs allow you to trigger high-speed OTP validations for mobile numbers in India. We support direct SMS routing and WhatsApp delivery options.
Base API URL:https://otpwallah.in/api/v1
Authentication
All API requests must include your API Key in the request header as a Bearer Token.
Authorization: Bearer ak_YOUR_API_KEY
Send SMS OTP
POST /api/v1/send/sms
Request Body Parameters
Parameter
Type
Required
Description
mobile
String
Yes
10-digit Indian mobile number. e.g. 9876543210
sender_id
String
No
Valid approved sender ID (default: 275)
otp
String
No
Custom OTP value. If omitted, gateway generates a random OTP.
length
Integer
No
Length of generated OTP (4-8 digits, default: 6)
expiry
Integer
No
Expiry duration in minutes (1-60, default: 10)
Send WhatsApp OTP
POST /api/v1/send/whatsapp
Request Body Parameters
Parameter
Type
Required
Description
mobile
String
Yes
10-digit Indian mobile number. e.g. 9876543210
otp
String
No
Custom OTP value. (default: auto-generated)
length
Integer
No
OTP Length (4-8 digits, default: 6)
Verify OTP
NEW
POST /api/v1/verify
After the user enters the OTP received on their mobile, call this endpoint to verify it. Uses the request_id returned from /send/sms or /send/whatsapp. Works for both SMS and WhatsApp OTPs.
Request Body Parameters
Parameter
Type
Required
Description
request_id
String
Yes
The request_id returned from /send/sms or /send/whatsapp
otp
String
Yes
The OTP code entered by the user
Send Bulk SMS Campaign
POST /api/v1/bulk-sms
Trigger high-speed bulk SMS campaigns to multiple contacts. Estimated costs are deducted upfront from your wallet balance. Invalid or unroutable numbers will be automatically refunded by the provider after delivery report aggregation.
Request Body Parameters
Parameter
Type
Required
Description
title
String
Yes
Campaign title for logging & tracking. (max: 150 chars)
message
String
Yes
The SMS message body. (max: 2000 chars)
contacts
Array
Yes
Array of 10-15 digit mobile numbers. e.g. ["9876543210", "9123456789"] (max: 1000 contacts per campaign)