# Rate Limiting

The HG Insights API enforces rate limits to ensure fair usage and service stability.

## Rate Limit

All API endpoints are limited to **25 requests per second**.

### How bulk endpoints count

The rate limit is per **request**, not per company. Endpoints that accept multiple companies per call (e.g., `/companies/enrich` accepts up to 25 companies per request) count as **1 request** against the limit — regardless of how many companies you include. Batching is the most efficient way to stay under the limit.

## Rate Limit Headers

Every response includes headers showing your current rate limit status:

| Header | Description |
|  --- | --- |
| `x-ratelimit-limit` | Maximum requests allowed per window (e.g., `25, 25;w=1`) |
| `x-ratelimit-remaining` | Requests remaining in the current window |
| `x-ratelimit-reset` | Seconds until the window resets |



```
x-ratelimit-limit: 25, 25;w=1
x-ratelimit-remaining: 24
x-ratelimit-reset: 1
```

When you exceed the limit, the API returns a `429 Too Many Requests` response. Check `x-ratelimit-reset` to know how long to wait before retrying.

## Best Practices

- **Use batch requests** — The enrichment endpoint accepts up to 25 companies per request, reducing the number of calls needed
- **Implement backoff** — If you receive a `429` response, wait for `x-ratelimit-reset` seconds before retrying
- **Spread requests evenly** — Avoid bursts; distribute requests across the full second window


## Need Higher Limits?

Contact your HG Insights account manager if your use case requires a higher rate limit.