DocumentationAPI v1 · 1.3.0

Reliability

Rate limits

Request limits per API key and IP address, OTP limits, X-RateLimit and Retry-After headers.

ScopeLimit
Per API key, whole API120 requests / minute
Per API key, POST /otp/send (separate counter)10 requests / minute
Per IP address, all keys together120 requests / minute
OTP per number and per accountResend delay and hourly cap (see OTP)

Over the limit#

The API answers 429 TOO_MANY_REQUESTS, with the Retry-After header (seconds) and details.retry_after_seconds.

429
{
  "error": {
    "code": "TOO_MANY_REQUESTS",
    "message": "Trop de requêtes, réessayez plus tard.",
    "details": {
      "retry_after_seconds": 37
    }
  }
}

Headers#

  • X-RateLimit-Limit: requests allowed per minute (successful responses).
  • X-RateLimit-Remaining: requests left in the current minute.
  • Retry-After: seconds to wait (429 responses).

Best practices#

  • Prefer one bulk send (recipients, up to 1000) over 1000 single calls.
  • Track statuses by webhook rather than polling GET /sms/{id} in a loop.
  • The packages retry a 429 on their own after Retry-After (2 retries by default, maxRetries, wait capped at 10 s).