POWERED BY BULKBLASTER CLOUD

API Documentation

Integrate SMS, Voice Calls, and Voice Blast capabilities directly into your applications with our REST APIs.

SMS API

SMS API Documentation

Send SMS to India and 200+ countries via our high-performance Google Cloud Run infrastructure.

https://bulkblaster-india-sms-lc-290441563653.asia-south1.run.app
AUTH Authentication

All SMS API requests require your API key. Include it in the request body as apiKey or in the Authorization header:

// Option 1: In request body
{ "apiKey": "YOUR_API_KEY" }

// Option 2: In header
Authorization: Bearer YOUR_API_KEY
Find your API key in Dashboard → API Keys after logging in.
POST /send-sms Send Single SMS (India)

Send a single SMS to an Indian phone number.

Parameters
ParameterTypeRequiredDescription
apiKeystringYesYour API key
phonestringYes10-digit number (without country code)
messagestringYesMessage content (max 160 chars)
senderIdstringNoCustom sender ID (max 11 chars)
Example Request
cURLJavaScriptPython
curl -X POST "https://bulkblaster-india-sms-lc-290441563653.asia-south1.run.app/send-sms" \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "phone": "9876543210",
    "message": "Hello from Bulk Blaster API!"
  }'
const res = await fetch("https://bulkblaster-india-sms-lc-290441563653.asia-south1.run.app/send-sms", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    apiKey: "YOUR_API_KEY",
    phone: "9876543210",
    message: "Hello from Bulk Blaster API!"
  })
});
const data = await res.json();
import requests

url = "https://bulkblaster-india-sms-lc-290441563653.asia-south1.run.app/send-sms"
payload = {
    "apiKey": "YOUR_API_KEY",
    "phone": "9876543210",
    "message": "Hello from Bulk Blaster API!"
}
response = requests.post(url, json=payload)
print(response.json())
Response
{ "success": true, "message": "SMS queued for delivery", "coins_used": 2, "coins_remaining": 98 }
POST /send-bulk-sms Bulk SMS (India)

Send SMS to multiple Indian phone numbers in a single request.

Parameters
ParameterTypeRequiredDescription
apiKeystringYesYour API key
recipientsarrayYesArray of 10-digit phone numbers
messagestringYesMessage content (max 160 chars)
senderIdstringNoCustom sender ID
Example Request
curl -X POST "https://bulkblaster-india-sms-lc-290441563653.asia-south1.run.app/send-bulk-sms" \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "recipients": ["9876543210", "9876543211", "9876543212"],
    "message": "Hello from Bulk Blaster!"
  }'
Response
{ "success": true, "message": "Bulk SMS sent to 3 recipients", "coins_used": 6, "coins_remaining": 94 }
POST /send-international-sms International SMS (200+ countries)

Send SMS to international phone numbers. Supports Flash SMS mode.

Parameters
ParameterTypeRequiredDescription
apiKeystringYesYour API key
phonestringYesFull number with country code (e.g. +61488861655)
messagestringYesMessage content (max 160 chars)
isFlashbooleanNoSet true for flash SMS (default: false)
Example Request
curl -X POST "https://bulkblaster-india-sms-lc-290441563653.asia-south1.run.app/send-international-sms" \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "phone": "+61488861655",
    "message": "Hello from Bulk Blaster International!",
    "isFlash": false
  }'
Response
{ "success": true, "message": "International SMS sent successfully", "coins_used": 16, "coins_remaining": 84 }
GET /account-balance Check Balance

Check your current account balance (remaining SMS/Voice coins).

Example Request
curl -X GET "https://bulkblaster-india-sms-lc-290441563653.asia-south1.run.app/account-balance" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{ "success": true, "balance": 100, "currency": "coins" }
VOICE API

Voice API Documentation

Make TTS calls, upload voice files, and blast voice messages to thousands.

POST /api/tts-call Text-to-Speech Call
https://bulkblaster-ttsvoicecall-290441563653.asia-south1.run.app

Convert text to speech and make an automated voice call to any Indian number.

Headers
Content-Type: application/json
x-api-key: YOUR_API_KEY
Parameters
ParameterTypeRequiredDescription
calleestringYes10-digit Indian phone number
textstringYesMessage to speak (max 250 chars)
languagestringNoEN, HI, TE, TA, KN, ML, BN, GU, MR, PA
accentstringNo91 (Indian), 1 (US), 44 (UK), 61 (AU)
ssmlGenderintegerNo1 = Male, 2 = Female (default)
speakingRatefloatNo0.8 (slow), 1.0 (normal), 1.2 (fast)
Example Request
curl -X POST "https://bulkblaster-ttsvoicecall-290441563653.asia-south1.run.app/api/tts-call" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "callee": "9876543210",
    "text": "Hello, this is a test call from Bulk Blaster",
    "language": "EN",
    "accent": "91",
    "ssmlGender": 2,
    "speakingRate": 1.0
  }'
Response
{ "success": true, "message": "TTS call initiated successfully", "coins_used": 3, "coins_remaining": 97 }
POST /api/upload-voice Upload Voice File
https://bulkblaster-nextgenvoice-290441563653.asia-south1.run.app

Upload a voice recording to be used for voice blast calls.

Headers
Content-Type: application/json
x-api-key: YOUR_API_KEY
Parameters
ParameterTypeRequiredDescription
fileNamestringYesName of voice file (e.g. "welcome.mp3")
base64DatastringYesBase64 encoded file data (max 5MB)
Example Request
curl -X POST "https://bulkblaster-nextgenvoice-290441563653.asia-south1.run.app/api/upload-voice" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fileName": "welcome_message.mp3",
    "base64Data": "BASE64_ENCODED_FILE_DATA"
  }'
Response
{ "success": true, "fileId": "FILE123456789", "message": "Voice file uploaded successfully" }
POST /api/make-voice-call Voice Blast Call
https://bulkblaster-nextgenvoice-290441563653.asia-south1.run.app

Make a voice call using an uploaded voice file.

Headers
Content-Type: application/json
x-api-key: YOUR_API_KEY
Parameters
ParameterTypeRequiredDescription
calleestringYesRecipient number with country code (e.g. "919876543210")
fileIdstringYesID of the uploaded voice file
Example Request
curl -X POST "https://bulkblaster-nextgenvoice-290441563653.asia-south1.run.app/api/make-voice-call" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "callee": "919876543210",
    "fileId": "FILE123456789"
  }'
Response
{ "success": true, "callId": "CALL123456789", "message": "Voice call initiated successfully", "coins_used": 2, "coins_remaining": 98 }

Response Codes

Our APIs use standard HTTP status codes:

CodeDescription
200 OKRequest was successful
400 Bad RequestMissing or invalid parameters
401 UnauthorizedInvalid or missing API key
403 ForbiddenInsufficient balance or permission denied
429 Too Many RequestsRate limit exceeded
500 Server ErrorInternal server error

Rate Limiting

To ensure fair usage and system stability:

PlanLimit
Starter10 requests/minute
Business60 requests/minute
Premium200 requests/minute
Exceeding limits returns 429 Too Many Requests. Wait before retrying.

Best Practices

Secure your keys

Never expose API keys in client-side code or public repos

Retry with backoff

Use exponential backoff for failed requests

Validate inputs

Validate phone numbers before sending

Monitor usage

Cache balance to avoid unnecessary API calls