> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.a1.uk.astutepayroll.in/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.a1.uk.astutepayroll.in/_mcp/server.

# Rate Limits

> API rate limiting policies for the Deel. PayAndBill API

API access rate limits are applied on a per-key basis. Limits differ between environments.

## Limits by Environment

| Environment    | Rate Limit                |
| -------------- | ------------------------- |
| **Production** | 2,000 requests per minute |
| **Staging**    | 200 requests per minute   |

## Rate Limit Headers

Every API response includes headers to help you track your consumption:

| Header                  | Description                                         |
| ----------------------- | --------------------------------------------------- |
| `X-RateLimit-Limit`     | Maximum number of requests permitted per minute.    |
| `X-RateLimit-Remaining` | Number of requests remaining in the current window. |
| `X-RateLimit-Reset`     | Time at which the current rate limit window resets. |

## Exceeding the Limit

If you exceed the rate limit, the API returns a `429 Too Many Requests` response. Wait until the `X-RateLimit-Reset` time before making additional requests.

> **Warn**
>
> Implement exponential backoff in your integration to gracefully handle rate limit responses. Avoid retrying immediately after receiving a `429` status code.

## Best Practices

* **Cache responses** where possible to reduce the number of API calls.
* **Use pagination** with reasonable page sizes instead of requesting all records at once.
* **Monitor rate limit headers** in your responses to proactively adjust request frequency.
* **Implement retry logic** with exponential backoff for `429` responses.