Skip to Content
API keys are issued to organizations with a signed BAA. Request API access →
Rate limits

Rate limits

Each organization can make 60 requests per minute, with bursts of up to 10 requests per second. Limits are shared by every key in the organization.

Rate limit headers

Every response tells you where you stand:

HeaderMeaning
RateLimit-LimitRequests allowed per minute.
RateLimit-RemainingRequests left in the current window.
RateLimit-ResetSeconds until the window resets.
Retry-AfterOn 429 responses only: whole seconds to wait before retrying.
Response · 429 Too Many Requests
HTTP/1.1 429 Too Many Requests Content-Type: application/problem+json Retry-After: 12 RateLimit-Limit: 60 RateLimit-Remaining: 0 RateLimit-Reset: 12

Staying under the limit

  • Use webhooks instead of polling. A single webhook replaces dozens of list requests. If you must poll, wait at least 15 seconds between polls of the same conversation.
  • Use conditional requests. Send If-None-Match with the last ETag you received. Unchanged resources return 304 Not Modified.
  • Page with page[limit]=100. Fewer, larger pages. See Pagination.
  • Back off exponentially after a 429 or 503, starting from Retry-After.
  • Spread batch jobs out. Sending 500 reminders at once takes about 9 minutes at 60 per minute. Queue them and send at a steady rate.

Need a higher limit for a large organization? Mention it when you request API access.

Last updated on