How It Works
The First Answer API enforces rate limits per project on a per-minute sliding window. All API keys within the same project share the same rate limit counter. The rate limit for your project is determined by your plan.Rate Limit Headers
Every API response includes headers to help you track your usage:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per minute |
X-RateLimit-Remaining | Requests remaining in the current window |
Retry-After | Seconds to wait before making another request (only on 429 responses) |
Exceeding the Limit
When you exceed your rate limit, the API returns a429 Too Many Requests response:
429
retry_after_seconds field tells you exactly how many seconds to wait before retrying.
Handling Rate Limits
Retry with Backoff
The simplest approach is to respect theretry_after_seconds value:
Spread Requests Over Time
If you need to make many requests, spread them evenly within your rate limit window instead of sending them in bursts:Best Practices
Cache responses
Store API responses locally and reuse them when the data hasn’t changed. Most monitoring data updates on a daily or weekly basis.
Use pagination wisely
Each page returns up to 100 items by default. Use the
page and per_page parameters to control page size and iterate through results efficiently.Request only what you need
Target specific endpoints and resources rather than fetching everything on every sync.
Monitor your usage
Track
429 responses in your application logs to identify when you’re approaching your limits.