Skip to main content
HayInsights uses a weighted, sliding-window rate limit. Instead of counting requests, each call consumes a weight from your plan’s per-minute budget. Heavier endpoints (large aggregates) cost more than light ones.

Headers

Every response — success or error — carries the current quota state:

Endpoint weights

Example: on a plan with a 1,000 weight/minute budget you can make roughly 333 macro calls (weight 2) or 125 ETF calls (weight 8) per minute. Mixing endpoints draws from the same shared budget.

Exceeding the limit

When you exhaust your budget the API returns HTTP 429 with the RATE_LIMIT_EXCEEDED code and a Retry-After header (seconds to wait):

Handling 429 gracefully

Read the headers and back off until the window resets.
Watch X-RateLimit-Remaining and slow down before you hit zero, rather than reacting to 429s after the fact.