Rate Limits
Understand account-level protection, per-key spend caps, and how to build safe retry behavior.
Current Limits
- Maximum 3 active API keys per account at one time
- Optional daily spend cap on each API key, configured in cents
- Optional expiration date on each API key
- Service-side abuse protection may return
429when traffic is too aggressive
What Triggers a 429
You may receive 429 Too Many Requests in two cases:
- Your traffic hits our service protection limits
- Your API key has reached its configured daily spend cap
429 Response
When rate limited, you'll receive:
json
{
"error": {
"message": "Rate limit exceeded. Please retry after 2 seconds.",
"type": "rate_limit_error",
"code": "rate_limit_exceeded"
}
}Not every 429 includes the same headers. Treat it as a signal to pause, retry with backoff, and inspect the key configuration in the dashboard.
Best Practices
- Implement exponential backoff — start at 1s, double each retry (1s, 2s, 4s, 8s)
- Separate environments — use different keys for production, staging, and local development
- Set conservative daily caps on non-production keys
- Use expirations for temporary contractors, demos, or one-off integrations
- Monitor task history from the dashboard if one key starts consuming unexpectedly
Per-Key Controls
You can manage API keys from the API Keys page. Today each key supports:
- A custom display name
- An optional daily spend cap
- An optional expiration date
- Manual revoke at any time