# Límites de uso

> Peticiones por minuto de la API de Blogenia según el plan, cabeceras X-RateLimit y qué hacer ante un 429.

Versión web: https://blogelia.com/docs/limites

Cada clave tiene un límite de peticiones por minuto que depende del plan de tu organización.

| Plan | Peticiones por minuto y clave |
| --- | --- |
| Free | Sin acceso a la API (`403` `plan_required`) |
| Starter | 60 |
| Pro | 300 |

El contador es una ventana fija de 60 segundos por clave y cuenta todas las peticiones autenticadas con ella, también las que acaban en `400` o `404`.

## Cabeceras

Toda respuesta a una petición con clave incluye:

| Cabecera | Significado |
| --- | --- |
| `X-RateLimit-Limit` | Peticiones permitidas por ventana. |
| `X-RateLimit-Remaining` | Peticiones que quedan en la ventana actual. |
| `X-RateLimit-Reset` | Segundos hasta que se reinicia la ventana. |
| `Retry-After` | Solo en `429`: segundos que debes esperar. |

Las respuestas llevan `Cache-Control: private, no-store`.

## Cuando superas el límite

Recibes `429 Too Many Requests` con `code: "rate_limited"` y la cabecera `Retry-After`.

**Respuesta 429**

```json
{
  "code": "rate_limited",
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Has superado el límite de peticiones de tu plan. Inténtalo de nuevo en unos segundos.",
  "requestId": "0b8e2f6c-6d63-4d0e-9c1a-5d8f3c1d7a11"
}
```

## Buenas prácticas

- Espera `Retry-After` segundos antes de reintentar.
- Guarda en tu servidor los artículos que ya has leído en lugar de pedirlos en cada visita de tu web.
- Para enterarte de las novedades usa [webhooks](https://blogelia.com/docs/webhooks) en lugar de consultar la lista cada pocos segundos.

> **Nota:** Probar muchas claves que no existen desde la misma IP también devuelve `429` con `code: "rate_limited"`.
