Saltar al contenido principal

Rate limiting

La API pública aplica un límite de 600 requests por minuto por clave de API, en ventana fija: el contador se reinicia al inicio de cada minuto. El límite aplica a todos los métodos, sumados.

Headers de respuesta

Toda respuesta autenticada informa el estado de tu ventana actual:

HeaderEjemploDescripción
X-RateLimit-Limit600Límite de requests de la ventana.
X-RateLimit-Remaining597Requests restantes en la ventana actual.
X-RateLimit-Reset1753272060Unix time (segundos) en que la ventana se reinicia.
Retry-After27Solo en 429: segundos hasta poder reintentar.

Respuesta al exceder

Al superar el límite, la API responde 429 Too Many Requests con el envelope de error estándar:

HTTP/1.1 429 Too Many Requests
Content-Type: application/json
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1753272060
Retry-After: 27

{
"message": "Limite de requisições excedido",
"code": "RATE_LIMITED"
}

Espera los segundos indicados en Retry-After (o hasta el instante de X-RateLimit-Reset) antes de la próxima request. Como la ventana es fija, reintentar antes solo desperdicia llamadas — la respuesta seguirá siendo 429 hasta el cambio de minuto.

Buenas prácticas

  • Monitorea X-RateLimit-Remaining y baja el ritmo antes de llegar a cero, en vez de reaccionar al 429.
  • Reintenta con backoff respetando Retry-After — nunca en loop inmediato.
  • Usa X-Idempotency-Key en las mutaciones: el reintento post-429 es seguro y no duplica la operación.
  • Prefiere filtros de listado y per_page=100 a barridos página por página — menos requests, la misma información (Paginación y filtros).
  • Distribuye las cargas por lote (importaciones, sincronizaciones) a lo largo del tiempo en vez de ráfagas al inicio del minuto.