Rate Limiting
The EquiDeFi API enforces
Overview
To protect system stability and assure fair usage, the API enforces rate limits from one scope.
- API key — identified via the Authorization: Bearer {API_KEY} header
Requests that exceed limits receive a 429 Too Many Requests response, and clients are given guidance on when to retry.
Default Limit
All requests to the API are limited to 120 req/min (per API key).
Note: We currently do not allow for custom rate limiting configuration.
Headers for Quota & Usage
Clients are informed about usage status via response headers. Two header styles are supported:
Preferred (IETF-style)
- RateLimit-Policy: <limit> ; w=<window_seconds>
- RateLimit-Limit: 12
- RateLimit-Remaining: 10
- RateLimit-Reset: 51
- Retry-After: 51 Included when throttled
These follow guidelines from the draft standard for rate limiting headers.
When a request is throttled (429), a Retry-After: <seconds> header is included to instruct how long the client should wait before trying again.
4. Error Response (429 Too Many Requests)
When a request is blocked by rate limiting, the response looks as follows:
Clients must obey the Retry-After header before retrying.
6. Sample Request & Response Examples
Successful Read (IETF-style headers)
Request
Response Headers
7. Client Best Practices
- Prefer the IETF-style RateLimit-* headers for monitoring and throttling logic
- Respect the Retry-After header if present in the response headers. Do not retry if the the RateLimit-Remaining is 0
- Use larger page sizes or caching techniques (ETags, conditional GETs) to reduce the total number of API calls.
- Segment workloads via separate API keys when possible to prevent one key’s usage from interfering with another.
8. Operational & Edge Notes
- If your service sits behind proxies or load balancers, the rate limiting will still be limited by the API key, not the IP address requesting the endpoint