An approved Sender ID is required before you can send campaigns.See the procedure
SMSPro

SMS API

Add SMS sending to your application

A JSON REST API, an API key and a few lines of code. Single or bulk sending, delivery tracking and signed webhooks, to MTN and Orange.

What the API includes

  • REST and JSON

    Bearer key authentication. Code examples provided in cURL, PHP, Python, Node.js, Java and C#.

  • Bulk sending

    Up to 1,000 recipients per call.

  • Signed webhooks

    Receive events in real time, signed with HMAC-SHA256 so you can verify where they come from.

  • OpenAPI 3.1 specification

    Import it into Postman or Insomnia, or generate a client in your language.

  • Delivery tracking

    Every message carries a delivery state and, on failure, a stable error code you can test in your code.

  • A quota per key

    10,000 SMS per day by default, adjustable up to 50,000 from the Developer Hub (above that, on request).

Your first SMS in 4 steps

  1. 1

    Create your account and API key

    Sign-up takes 2 minutes. The API key is generated in two clicks from the Developer Hub.

  2. 2

    Declare a Sender ID

    The from parameter must be a sender identifier declared on your account. Approval by the operators can take up to 14 business days, as an indication.

  3. 3

    Top up your balance

    SMS are prepaid. An insufficient balance returns error 402.

  4. 4

    Send your first SMS

    Call POST /api/v1/messages. The 201 response contains the message_id, to keep for tracking delivery.

Example: sending an SMS
curl -X POST "https://v2.smspro.cm/api/v1/messages" \
  -H "Authorization: Bearer smspro_votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+237699000001",
    "message": "Bonjour depuis SMSPro",
    "from": "MONAPP"
  }'

Response (201): the message is accepted for sending, not yet delivered.

{
  "success": true,
  "message_id": "8f2c1d4e-…",
  "to": "+237699000001",
  "status": "pending",
  "segments": 1
}

Main endpoints

Base URL: https://v2.smspro.cm. Every request carries the Authorization: Bearer <API key> header.

POST/api/v1/messagesSend an SMS (OTP included)
POST/api/v1/messages/bulkSend to several recipients (1,000 maximum)
GET/api/v1/messagesList your messages
GET/api/v1/messages/:idTrack the delivery of a message
GET/api/v1/sender-idsList your Sender IDs and their status
GET/api/v1/balanceCheck your balance

Our pricing

Volume-based pricing

The higher the volume, the lower the unit price.

Minimum purchase: 500 SMS

Appoint
13XAF/SMS
≤ 1 000 SMS · from 13 XAF
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Most popular
Spark
12XAF/SMS
1 001 - 5 000 SMS · from 12,012 XAF
Save 8% vs Appoint
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Flash
10XAF/SMS
5 001 - 10 000 SMS · from 50,010 XAF
Save 17% vs Spark
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Turbo
9.2XAF/SMS
10 001 - 25 000 SMS · from 92,009 XAF
Save 8% vs Flash
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Boost
8.3XAF/SMS
25 001 - 50 000 SMS · from 207,508 XAF
Save 10% vs Turbo
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Sprint
7.3XAF/SMS
50 001 - 100 000 SMS · from 365,007 XAF
Save 12% vs Boost
  • Priority support & dedicated SMS route
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
High volumes
On quote
> 100,000 SMS · Negotiated rate · Proforma invoice · Dedicated manager
Request a quote

Prix TTC — droit d'accise et TVA compris

Minimum order: 500 SMS.

Questions about the SMS API

How do I get an API key?

Create an account, then generate the key from the Developer Hub. The documentation is public and can be read without an account.

Which numbers are accepted?

Cameroonian MTN and Orange mobile numbers. Any other number is rejected (422 error, invalid_recipient), with nothing sent or billed.

Is there a sending limit?

10,000 SMS per day per API key by default, adjustable up to 50,000. Beyond the quota, the API answers 429.

My software cannot send a POST, what can I do?

A GET entry point exists for SMS gateway connectors (/api/v1/messages/send). POST remains recommended, because with GET the number and the message appear in the URL.

How much does the API cost?

The API is available from the very first pricing tier. SMS are billed according to the pricing grid on this page.

Take action

Ready to transform your communication?

140+ registered users already. Join them — no commitment, from your very first SMS.