Default limits
Response headers
Every response includes rate limit headers so you can track your usage:Handling 429 responses
When you exceed a rate limit, the API returns a429 Too Many Requests response:
Retry-After header (seconds) or X-RateLimit-Reset (Unix timestamp) to determine when you can resume requests.
Best practices
- Use pagination efficiently — Request larger page sizes (up to 500) to reduce total requests
- Cache responses — Reference data like categories and units of measure change infrequently
- Implement backoff — When receiving a 429, wait until the reset time before retrying
- Monitor headers — Track
X-RateLimit-Remainingto proactively slow down before hitting limits - Use bulk endpoints — Prefer
GET /v1/data-points?ahj_ids=1,2,3over individual AHJ requests