# Límites de requests

La API de Zipnova define cuatro niveles de límite a la cantidad de requests por minuto que acepta el servidor. Cada uno de ellos tiene un máximo de requests admitidos por minuto, y un tiempo específico en que el consumo es liberado en caso de superar el máximo permitido.

<table><thead><tr><th width="136">Nivel</th><th width="170">Límite</th><th width="119">Liberación</th><th>Impacta en</th></tr></thead><tbody><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="1f534">🔴</span> <mark style="color:red;"><strong>Alto</strong></mark></td><td>100 reqs/minuto</td><td>3 minutos</td><td>Creación de envíos</td></tr><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <mark style="color:orange;"><strong>Medio</strong></mark></td><td>500 reqs/minuto</td><td>2 minutos</td><td>Cotización de envíos</td></tr><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> <mark style="color:yellow;"><strong>Bajo</strong></mark></td><td>1000 reqs/minuto</td><td>1 minuto</td><td>Obtención de envíos y tracking</td></tr><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="1f7e2">🟢</span> <mark style="color:green;"><strong>Nulo</strong></mark></td><td>Ninguno</td><td></td><td>Resto de los endpoints</td></tr></tbody></table>

Actualmente, los límites **son aplicados por IP**.

### Monitorear el consumo de requests

Cuando hagas requests a un endpoint limitado, notarás que aparecen los siguientes headers en la respuesta:

* `X-RateLimit-Limit` indica el límite de requests para el endpoint.
* `X-RateLimit-Remaining` indica cuántos requests disponibles tienes actualmente.

Si consumieras todos los requests permitidos en el minuto, **la API te devolverá un error HTTP con código&#x20;*****429: Too Many Requests***.

Verás que aparecen otros headers adicionales en la respuesta:

* `Retry-After` indica cuantos segundos faltan para que se resetee la disponibilidad de requests.
* `X-RateLimit-Reset` es un timestamp UNIX de cuándo reseteará la disponibilidad de requests.

Recomendamos que utilices algún método para consumir el retry-after o utilizar backoff exponencial evitar errores en tu integración. Muchos clientes tienen la posibilidad de utilizar middlewares para gestionar esto automáticamente.&#x20;

Por ejemplo, si utilizas PHP y el cliente [Guzzle](https://docs.guzzlephp.org/en/stable/index.html), podrías usar el paquete [este paquete](https://packagist.org/packages/caseyamcl/guzzle_retry_middleware).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zipnova.com/envios/principios/limites-de-requests.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
