Skip to main content
Breet enforces rate limits on certain endpoints to ensure platform stability and fair usage across all integrations.

Limits

Rate limits are applied per integration and per route. This means hitting the withdrawal endpoint does not affect your rate limit on the rates endpoint, and vice versa. Limits are tracked using the authentication credentials (x-app-id) in your request headers.

Response headers

Rate-limited endpoints include the following headers in every response:

Example response headers

Handling rate limits

When you exceed the rate limit, the API returns a 429 Too Many Requests status code. See error handling for the full 429 response format. To handle this gracefully:
  1. Check the X-RateLimit-Remaining header before making requests. If it is approaching 0, slow down.
  2. If you receive a 429 response, use the Retry-After header (value in seconds) to determine how long to wait before retrying.
  3. Add a retry loop so transient rate limit hits don’t break your integration.

Example retry logic

Best practices

  • Batch operations where possible to reduce the total number of API calls.
  • Monitor headers proactively. Don’t wait for a 429 to start throttling.
  • Queue withdrawals on your end and process them at a steady rate below the limit.