# Rate Limits

To maintain the performance and reliability of our API we enforce the following rate limits on API requests:

* Maximum of 5 concurrent requests at any given time
* 300 requests per minute (equivalent to 5 requests per second)
* 900 requests per 15 minutes (equivalent to 1 request per second)

When a rate limit is reached, Missive API will return the following HTTP error status code: `429 Too Many Requests` with the following headers:

| Header                | Description                                                                       |
| --------------------- | --------------------------------------------------------------------------------- |
| Retry-After           | How many seconds the client should wait before attempting a new request           |
| X-RateLimit-Limit     | The rate limit ceiling that is applicable for the current request                 |
| X-RateLimit-Remaining | The number of requests left for the current rate-limit window                     |
| X-RateLimit-Reset     | The time at which the rate limit resets, specified in UTC epoch time (in seconds) |

{% stepper %}
{% step %}

#### Continuously query the API (24/7)

Send at most 1 request per second. In most programming languages, you can achieve this with a 1-second “sleep” between requests.
{% endstep %}

{% step %}

#### Periodic bursts of requests

Send at most 5 requests per second. This way you can spread your usage over time, for instance:

* one burst of 900 requests lasting 3 minutes, every 15 minutes
* one burst of 600 requests lasting 2 minutes, every 10 minutes
* one burst of 300 requests lasting 1 minute, every 5 minutes
  {% endstep %}
  {% endstepper %}

## Reducing API calls

Some endpoints support batch operations to reduce the number of API calls needed:

* **GET /v1/messages/:id,:id2,:id3** - Retrieve multiple messages in a single call by passing comma-separated message IDs. See [Get a Message](https://missiveapp.com/docs/developers/endpoints#get-a-message) for details.

Using batch endpoints helps you stay within rate limits when processing large volumes of data.

Last updated on July 17th, 2023

<details>

<summary>Need more specific answers?</summary>

[Contact us](https://missiveapp.com/docs/developers/contact)

</details>
