SMS API for Morocco

SMS Maroc is the local CPaaS platform for critical messaging.

Send SMS OTPs, transactional alerts, and campaigns through SMS.to with a clean REST API, MAD/EUR billing, and local support.

50 free SMS. Sandbox included. No card required.
SMS.to upstreamSigned DLR10k messages per batchMAD + EUR
Morocco SMS APISMS pricingGuidesComparisonsGlossary

Production stack

SMS first, with clean room for future channels.

01

SMS

Live production channel for OTP, banking, e-commerce, and critical notifications.

from EUR 0.19
02

DLR webhooks

Signed SMS.to callbacks for sent, delivered, failed, and undeliverable states.

included
03

WhatsApp / Telegram

Future extensions only after dedicated upstream endpoints are configured.

on request

Conservative routing

Production is launched as SMS-only; multi-channel cascades remain explicitly configured extensions.

Signed webhooks

Real-time DLRs with HMAC signatures, status history, and queue retries.

Operations dashboard

Messages, spend, campaigns, contacts, API keys, webhooks, and billing in one place.

Morocco native

+212 normalization, French-first UX, MAD billing, CNDP-ready data posture, local routing.

Operations

Built for repeated daily work.

Today12,840 sent97.9% delivered1,426 MAD spend
Delivery flow

SMS.to handles outbound delivery; signed callbacks update status and billing.

Live message log
queued
sent
delivered
failed
Webhook healthSigned

SMS.to callbacks verified before status updates.

Developer surface

OpenAPI-first, production-shaped endpoints.

POST/v1/messages

Queues one SMS, WhatsApp OTP, or Telegram OTP message.

POST/v1/messages/bulk

Queues up to 10,000 personalized messages in one request.

GET/v1/messages

Returns recent messages for the authenticated account.

POST/v1/verify/send

Creates an OTP session and sends the code over SMS, WhatsApp, or Telegram.

POST/v1/verify/check

Validates a code for an active verification session.

GET/v1/analytics

Returns totals, delivery rate, costs, channel mix, and daily volume for the last window.

Quickstart
curl -X POST https://api.smsmaroc.ma/v1/messages \
  -H "Authorization: Bearer smr_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+212612345678",
    "message": "Votre code est 483921",
    "from": "MonApp",
    "cascade": true
  }'
OpenAPI YAML