BuildNexion

Límite de peticiones

Cada API key puede hacer 60 peticiones por minuto. El contador va por minutos naturales (en UTC): se pone a cero al empezar cada minuto.

Qué pasa si te pasas

La petición número 61 de un minuto, y las siguientes, reciben un 429. La cabecera Retry-After dice cuántos segundos faltan para el minuto siguiente:

http
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Retry-After: 23

{
  "error": {
    "code": "rate_limited",
    "message": "Too many requests"
  }
}

Reintentar

async function pedir(url, opciones, intento = 0) {
  const res = await fetch(url, opciones)
  if (res.status === 429 && intento < 3) {
    const segundos = Number(res.headers.get('Retry-After')) || 60
    await new Promise(r => setTimeout(r, segundos * 1000))
    return pedir(url, opciones, intento + 1)
  }
  return res
}

Cómo gastar menos peticiones

  • Pide páginas grandes: limit=200 trae 200 elementos en una sola petición.
  • Sincroniza solo lo que cambia con updated_since y /deleted en vez de leerlo todo cada vez.
  • Usa los webhooks para enterarte de los cambios en vez de preguntar cada pocos segundos.
  • Si varias integraciones usan la API, dales una key a cada una: el límite es por key.
Si tu caso necesita más, escríbenos a soporte@buildnexion.com y lo vemos.