> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cotizave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quotas and rate limits

> Account-wide monthly quotas, per-key request rates and handling 429 responses.

The **monthly quota is per account**, shared across its keys. Request-rate limits apply per API key.

<span id="cuotas" />

## Plans and cycles

| Plan / code | Requests per cycle | Sustained RPS | Burst | Monthly price USD |
| - | - | - | - | - |
| Gratis / `free` | 1,500 | 1 | 3 | 0 |
| Inicio / `lite` | 3,500 | 2 | 4 | 3 |
| Esencial / `hobby` | 20,000 | 3 | 5 | 7 |
| Profesional / `indie` | 60,000 | 4 | 7 | 15 |
| Escala / `pro` | 150,000 | 7 | 13 | 29 |

Commercial plan names are preserved in both languages. The cycle is tied to plan activation (account creation for Gratis), not necessarily the first day of the month. Use `X-RateLimit-Reset` for the next reset and check [current pricing](https://cotizave.com/precios).

<span id="como-cuenta" />

## What counts towards quota

On metered routes, successful responses and validation or resource errors such as `400`, `404`, `406` and `422` count. `401`, `402`, `403`, `429` and `5xx` do not. One bulk call costs one unit, even with 50 amounts. Webhook deliveries use a separate counter.

<span id="headers" />

## Headers

| Header | Meaning |
| - | - |
| `X-RateLimit-Limit` | Plan monthly quota. |
| `X-RateLimit-Remaining` | Requests remaining. |
| `X-RateLimit-Reset` | Next reset, ISO 8601. |
| `X-RateLimit-Scope` | For the main limiter: `burst` or `monthly`. |
| `Retry-After` | Required wait; this limiter uses integer seconds. |
| `X-RateLimit-Retry-After-Ms` | Precise wait in milliseconds for `burst`. |
| `X-RateLimit-Limit-Second`, `X-RateLimit-Burst` | Request rate and burst capacity when provided. |

Not all responses pass through the limiter: tolerate missing headers, especially for authentication rejections or proxy errors. HTTP also permits dates in `Retry-After`; a general-purpose client should support them.

<span id="excedido" />

## Handle 429 by scope

* **`burst`:** wait at least the indicated duration, add jitter and bound attempts and total time. Reduce concurrency.
* **`monthly`:** stop calls until reset or a confirmed quota change. An immediate retry does not resolve exhaustion.
* **No scope:** may be IP protection or the bulk hourly limit. Honour `Retry-After` and avoid indiscriminate automatic retries.

<span id="abuso" />

## Request budgeting

Count aggregate usage across processes, users and retries. Polling every 30 seconds for 30 days consumes 86,400 requests per process before any other calls. Share cached results and avoid a separate Cotizave request for every visitor.

<span id="mas" />

## Plan changes and credits

Manage your plan in the [dashboard](https://app.cotizave.com) and check when a change takes effect. Cotizave does not offer a contractual SLA; credits are assessed case by case and are not automatic compensation.

Plans and higher-volume allocations change limits and available features. None grants permission to resell or redistribute data without prior written authorisation. See [data use](/en/data-use).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.