Rate Limit Tiers & Quotas
Rate limits are tracked per IP address across short-burst minute windows and 24-hour daily quotas:Response Headers
Every API response from Hexagraph Core includes real-time rate limit headers:X-RateLimit-IP-Limit: Short-burst 1-minute limit.X-RateLimit-IP-Remaining: Remaining requests in current 1-minute window.X-RateLimit-IP-Reset-Seconds: Seconds until the 1-minute window resets.X-RateLimit-Daily-Limit: Total daily list/filter query quota.X-RateLimit-Daily-Remaining: Remaining daily list/filter queries.
Checking Rate Limit Status (GET /rate-limit)
Send a GET request to /rate-limit at any time to inspect your current IP status and daily balances:
cURL
Rate Limit Exceeded Responses (HTTP 429)
When a rate limit is exceeded, Hexagraph returns an HTTP 429 Too Many Requests response containing human-readable time strings and exact UTC reset timestamps:
Minute Burst Limit Exceeded
Daily Quota Exceeded
Best Practices
- Inspect Response Headers: Check
X-RateLimit-IP-RemainingandX-RateLimit-Daily-Remainingon API calls. - Use GraphQL for Multi-Entity Operations: Retrieve outputs, authors, and sources in a single GraphQL query (
/graphql) to preserve quota. - Implement Exponential Backoff: On receiving HTTP 429, wait for the duration specified in
reset_in_secondsorX-RateLimit-IP-Reset-Seconds.