RESTful API v1.0.0

SMS Gateway
Developer API

Integrate powerful SMS capabilities into your applications with our enterprise-grade REST API. Simple authentication, comprehensive documentation, and 24/7 support.

99.9%
Uptime SLA
3-5s
Delivery Time
24/7
Support
5+
Languages
api-example.js
// SimNet SMS API Example
const sendSMS = async () => {
  const response = await fetch(
    'https://api.simnet.co.tz/sms/v1/send',
    {
      method: 'POST',
      headers: {
        'X-API-Key': 'sk_live_••••••••',
        'X-Client-ID': 'CLI_••••••••',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        to: ['255716718040', '255655912841'],
        message: 'Hello from SimNet API!',
        sender_id: 'SIMNET'
      })
    }
  );
  
  const result = await response.json();
  return result;
};

// Example response
{
  "status": "success",
  "message": "SMS sent successfully",
  "data": {
    "recipients": 2,
    "credits_used": 2
  }
}
API REFERENCE

Simple, Powerful RESTful API

Everything you need to integrate SMS into your applications

Authentication

All API requests require authentication using two headers.

Required Headers

Header Description Example
X-API-Key Your unique API key sk_live_abc123def456
X-Client-ID Your client ID CLI_65f3e2d1a4b8c
Content-Type For POST requests application/json
Authentication Example
curl -X POST https://api.simnet.co.tz/sms/v1/send \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-Client-ID: YOUR_CLIENT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "to": ["255716718040"],
    "message": "Hello World",
    "sender_id": "SIMNET"
  }'

Base URL

https://api.simnet.co.tz/sms/v1/

Send SMS

POST /send

Send a single SMS message to one recipient.

Request Parameters

Parameter Type Required Description
to string Yes Recipient phone number (10-15 digits, include country code)
message string Yes SMS message content (max 1600 characters)
sender_id string Yes Approved sender ID (3-11 characters)
flash boolean No Send as flash message (default: false)

Example Request

cURL Example
curl -X POST https://api.simnet.co.tz/sms/v1/send \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-Client-ID: YOUR_CLIENT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "255716718040",
    "message": "Hello from SimNet API!",
    "sender_id": "SIMNET",
    "flash": false
  }'

Success Response (200 OK)

{
    "status": "success",
    "message": "SMS sent successfully",
    "data": {
        "message_id": "MSG_67b3c5d5e8a91",
        "to": "255716718040",
        "credits_used": 1,
        "balance_remaining": 14999
    },
    "timestamp": "2026-02-16T14:30:45Z"
}

Bulk SMS

POST /bulk

Send SMS messages to multiple recipients in a single request.

Bulk SMS Example
curl -X POST https://api.simnet.co.tz/sms/v1/bulk \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-Client-ID: YOUR_CLIENT_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
        {
            "to": "255716718040",
            "message": "Hello customer!",
            "sender_id": "SIMNET"
        },
        {
            "to": "255655912841",
            "message": "Special offer today!",
            "sender_id": "SIMNET"
        }
    ]
}'

Check Balance

GET /balance

Get your current SMS credit balance.

Check Balance
curl -X GET https://api.simnet.co.tz/sms/v1/balance \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "X-Client-ID: YOUR_CLIENT_ID"
{
    "status": "success",
    "data": {
        "balance": 15000,
        "currency": "TZS",
        "expires": "2027-02-16"
    }
}

Rate Limits

1000
Requests per hour
100
Requests per minute
1600
Characters per SMS

Rate Limit Headers

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1613481600

Error Codes

400 Bad Request

Invalid parameters or malformed request

{"status":"error","message":"Missing required field: to"}
401 Unauthorized

Invalid API credentials

{"status":"error","message":"Invalid API key"}
403 Forbidden

IP not whitelisted or permission denied

{"status":"error","message":"IP address not whitelisted"}
429 Too Many Requests

Rate limit exceeded

{"status":"error","message":"Hourly rate limit exceeded"}

Code Examples in Multiple Languages

Ready-to-use code snippets for popular programming languages

PHP Example
<?php
class SimNetSMS {
    private $apiKey;
    private $clientId;
    private $baseUrl = "https://api.simnet.co.tz/sms/v1";
    
    public function __construct($apiKey, $clientId) {
        $this->apiKey = $apiKey;
        $this->clientId = $clientId;
    }
    
    public function sendSMS($to, $message, $senderId) {
        $ch = curl_init($this->baseUrl . "/send");
        
        $data = [
            "to" => $to,
            "message" => $message,
            "sender_id" => $senderId
        ];
        
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            "X-API-Key: " . $this->apiKey,
            "X-Client-ID: " . $this->clientId,
            "Content-Type: application/json"
        ]);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        
        $response = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        
        return json_decode($response, true);
    }
}

// Usage
$sms = new SimNetSMS("YOUR_API_KEY", "YOUR_CLIENT_ID");
$result = $sms->sendSMS("255716718040", "Hello World", "SIMNET");
print_r($result);
?>

Try the API Console

Test the API directly from your browser

API FAQ

Start Building Today!

Get API access instantly after purchasing SMS credits. Start integrating within minutes.

Chat Now