Developers

Rate Limits

API rate limits, headers, and handling 429 responses

Rate Limits

The Artmail API uses rate limits to ensure fair usage and system stability. Limits are applied per API key and can be configured in your dashboard.

Default Limits

LimitDefaultDescription
Per Second10Maximum requests per second.
Per Day10,000Maximum requests per 24-hour rolling window.

Limits are configurable per API key in Settings → Developer → API Keys. Higher plans may have higher defaults; contact support for custom limits.

Rate Limit Headers

Every API response includes these headers so you can monitor your usage:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the current window.
X-RateLimit-RemainingRequests remaining before hitting the limit.
X-RateLimit-ResetUnix timestamp (seconds) when the limit resets.

Example

X-RateLimit-Limit: 10000 X-RateLimit-Remaining: 9847 X-RateLimit-Reset: 1705334400

X-RateLimit-Reset corresponds to the daily window. For per-second limits, the reset is typically the next second boundary.

Handling 429 Responses

When you exceed the rate limit, the API returns:

HTTP Status: 429 Too Many Requests

Response body:

JSON
Loading...

Headers (when rate limited):

X-RateLimit-Limit: 10 X-RateLimit-Remaining: 0 X-RateLimit-Reset: 1705334400

What to Do

  1. Stop sending — Avoid hammering the API.
  2. Wait — Use X-RateLimit-Reset to know when to retry.
  3. Retry with backoff — Exponential backoff is recommended.
  4. Batch when possible — Send to up to 50 recipients per request to reduce call count.

Exponential Backoff

Implement exponential backoff when you receive 429:

Typescript
Loading...

Best Practices

  1. Respect the headers — Use X-RateLimit-Remaining to slow down before hitting the limit.
  2. Use batch send — Send to up to 50 recipients per /v1/send request.
  3. Implement backoff — Use exponential backoff on 429 responses.
  4. Queue on your side — For high volume, queue sends in your app and throttle to stay under limits.
  5. Use multiple keys — For very high volume, you may use multiple API keys (each with its own limit); ensure proper isolation.

Checking Your Usage

  • View usage in Settings → Developer and in API key details.
  • Monitor X-RateLimit-Remaining in responses.
  • Set up alerts when remaining drops below a threshold.

Next Steps

Error Handling

Retry strategies and handling API errors.

Error handling →

Send Email

Send transactional emails with batching.

Send Email →