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=200trae 200 elementos en una sola petición. - Sincroniza solo lo que cambia con
updated_sincey/deleteden 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.