Límites y cuotas
Rate limits por key, headers de rate limit, cuota mensual y cómo los SDKs reintentan solos.
La API de Meteor aplica dos tipos de límite por API key: un rate limit (cuántos requests por minuto) y una cuota (cuántos requests por mes). Ambos protegen la plataforma y son visibles en cada respuesta — no tienes que adivinar cuánto te queda.
Rate limit (requests por minuto)
Cada key tiene su propio presupuesto de requests por minuto, independiente del resto del tráfico de tu workspace. El valor por defecto es 100 requests por minuto; tu plan puede asignarle un límite mayor a la key cuando la emites.
El límite se cuenta por key (no por IP ni por workspace), así que dos keys del mismo workspace no compiten entre sí.
Headers en cada respuesta
Toda respuesta de la API pública trae el estado de tu rate limit, para que ajustes el ritmo sin llegar al bloqueo:
| Header | Qué dice |
|---|---|
X-RateLimit-Limit | El tope de requests de la ventana actual (refleja el límite de tu key). |
X-RateLimit-Remaining | Cuántos requests te quedan en la ventana. |
X-RateLimit-Reset | Segundos hasta que la ventana se reinicia. |
curl -i https://api.met.meteor.com.co/api/v1/runs \
-H "Authorization: Bearer met_live_tu_key"
# ...
# HTTP/2 200
# x-ratelimit-limit: 100
# x-ratelimit-remaining: 99
# x-ratelimit-reset: 60
Cuando te pasas: 429 + Retry-After
Si superas el rate limit, la API responde 429 con un header Retry-After (segundos a esperar) y el cuerpo de error estándar:
{
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"message": "Too many requests."
}
}
Los SDKs oficiales reintentan solos respetando el Retry-After (con backoff), así que en la mayoría de los casos no tienes que manejar el 429 a mano. Si integras la API directamente, espera los segundos que indica Retry-After antes de reintentar.
Cuota mensual
Además del rate limit por minuto, tu plan define una cuota mensual de requests. Al superarla, la API responde 429 con code: "quota_exceeded". La cuota depende de tu plan; el consumo del mes y las alertas (80% / 100%) los ves en el Workbench, en Ajustes → Desarrolladores → Actividad → Salud — ahí mismo tienes el volumen por día, la latencia p95 y cada request buscable por request_id.
El plan Developer y los planes de pago tienen cuotas y rate limits distintos. Los valores exactos de tu plan se aplican a la key al emitirla y se reflejan en
X-RateLimit-Limit.
En resumen
- Mira
X-RateLimit-Remainingpara autorregularte. - Un 429 con
rate_limitedes transitorio → reintenta trasRetry-After(los SDKs lo hacen solos). - Un 429 con
quota_exceededes tu cuota del mes → sube de plan o espera al reinicio mensual.