SSoftLinkSMSDocs

Rate limits

How many requests each account can make, and how to stay within them.

Limits apply per account, across all of its API keys. One customer's traffic never affects another's.

RequestsLimit
Sends: POST /sms, POST /email30 per second
Reads: GET on messages, /sending-profile, webhook endpoint and events100 per second

Each send can carry 1,000 recipients, so the send limit allows up to 30,000 messages a second. If you're hitting it, batch recipients into fewer, larger requests before anything else.

When you exceed a limit

You get 429 with a Retry-After header giving the seconds to wait:

HTTP/1.1 429 Too Many Requests
Retry-After: 1
Content-Type: application/json

{"error": {"code": "throttled", "message": "Request was throttled. Expected available in 1 second.", "details": null}}

Wait Retry-After seconds, then retry. Nothing was sent or charged, so a retry, ideally with the same Idempotency-Key, is safe.

Staying under the limits

  • Batch. One request for 1,000 recipients beats 1,000 requests for one.
  • Use webhooks, not polling. One event per outcome replaces many reads.
  • Spread scheduled jobs. Avoid starting every job on the hour.
  • Back off on 429. Honour Retry-After; never retry in a tight loop.

Need more? Email support@softlinksms.co.ke with your expected volume.

On this page