Rate Limits


The Textingline API enforces per-key rate limits to ensure fair usage and platform stability.

Limits by endpoint

EndpointLimitWindow
POST /api/v1/messaging/message60 requests60 seconds
POST /api/v1/messaging/broadcast5 requests60 seconds

Rate limit headers

Every API response includes headers that tell you your current rate limit status:

HeaderDescriptionExample
X-RateLimit-LimitMaximum requests allowed in the current window60
X-RateLimit-RemainingRequests remaining in the current window58
X-RateLimit-ResetUnix timestamp (seconds) when the window resets1741700000

Exceeding the limit

When you exceed the rate limit, the API returns a 429 Too Many Requests response with an additional Retry-After header:

{
  "code": 33002,
  "message": "Rate limit exceeded",
  "status": 429,
  "moreInfo": "https://docs.smsfactory.com/docs/error-codes"
}
HeaderDescription
Retry-AfterNumber of seconds to wait before making another request

Daily messaging quota

In addition to per-second rate limits, each account has a daily messaging quota that limits the total number of messages you can send per day. When exceeded, the API returns error code 33012:

{
  "code": 33012,
  "message": "Daily messaging quota reached",
  "status": 429,
  "moreInfo": "https://docs.smsfactory.com/docs/error-codes"
}

Best practices

  • Monitor the headers. Check X-RateLimit-Remaining before sending batches to avoid hitting the limit.
  • Implement backoff. When you receive a 429, wait for the Retry-After duration before retrying.
  • Use broadcasts for bulk sends. Instead of sending 10,000 individual messages, use a single broadcast request to stay well within rate limits.
  • Spread requests over time. If sending many individual messages, space them evenly across the rate limit window.