SendComms
SMS API

Send SMS

POST/api/v1/sms/send

Send SMS messages globally with intelligent routing. We automatically optimize delivery routes to ensure the best rates and reliability for every destination.

Global Coverage: 180+ countries with optimized delivery routes
Default Sender:Messages sent without a from parameter will be delivered from "Sendcomms". To use a custom sender ID, add and verify numbers in your dashboard.

Coverage

🌍
Africa
Optimized
54 countries
πŸ‡ΊπŸ‡Έ
Americas
Full Coverage
US, Canada, LATAM
πŸ‡ͺπŸ‡Ί
Europe
Full Coverage
45+ countries
🌏
Asia Pacific
Full Coverage
35+ countries

Select Language

REQUEST
# Send SMS using default "Sendcomms" sender
curl -X POST \
  https://api.sendcomms.com/api/v1/sms/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+233540800994",
    "message": "Your verification code is 123456"
  }'

# Send SMS with custom sender (requires verified number)
curl -X POST \
  https://api.sendcomms.com/api/v1/sms/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+233540800994",
    "message": "Your order is ready!",
    "from": "+1234567890"
  }'

Request Body

ParameterTypeRequiredDescription
tostringRequiredPhone number in E.164 format (+233...)
messagestringRequiredSMS content (max 1600 chars)
fromstringOptionalSender ID or phone number. If omitted, messages are sent from "Sendcomms"
referencestringOptionalYour reference for tracking
regionstringOptionalForce routing: africa, europe, asia, north_america
idempotency_keystringOptionalUnique key to prevent duplicates

Response Codes

200Success400Bad request401Unauthorized402Insufficient balance429Rate limit exceeded

Response

Success Response

When an SMS is successfully sent, you'll receive details including the provider used, pricing, and destination info.

{
  "success": true,
  "data": {
    "transaction_id": "sms_abc123xyz",
    "message_id": "SM1234567890",
    "status": "sent",
    "to": "+233540800994",
    "message_length": 32,
    "segments": 1,
    "country": {
      "code": "233",
      "name": "Ghana"
    },
    "region": "africa",
    "created_at": "2025-12-23T10:00:00.000Z"
  }
}

SMS Segments

Long messages are split into multiple segments. Each segment is billed separately.

Standard (GSM-7)
160
characters per segment
A-Z, 0-9, basic punctuation
Unicode (UCS-2)
70
characters per segment
Emojis, non-Latin scripts