Saltar al contenido
Meirra
Volver a la documentación de la API

Visión general

Los límites de uso protegen la API de abusos y garantizan un uso justo para todos los clientes. Cada clave de API tiene una cuota de solicitudes que se reinicia cada hora. Cuando superas tu límite, las solicitudes devuelven un error 429 (Too Many Requests) hasta que el límite se reinicia.

Límites por defecto

Límites de uso estándar por clave de API: | Tipo de límite | Límite | Período de reinicio | |----------------|--------|---------------------| | Solicitudes | 1.000/hora | Por hora | | Ráfaga | 100/minuto | Por minuto | | Tamaño de lote | 100 elementos | Por solicitud | **Límites por endpoint:** • Verificación de email: 1.000/hora • Búsqueda de email: 500/hora • Enriquecimiento: 200/hora • Búsqueda de leads: 500/hora • Análisis SEO: 200/hora ¿Necesitas límites más altos? Contacta con soporte para hablar de opciones empresariales.

Cabeceras de límite de uso

Toda respuesta incluye información de límite de uso en las cabeceras: ``` X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 856 X-RateLimit-Reset: 1709046000 Retry-After: 3600 ``` | Cabecera | Descripción | |----------|-------------| | `X-RateLimit-Limit` | Máximo de solicitudes permitidas por hora | | `X-RateLimit-Remaining` | Solicitudes restantes en la ventana actual | | `X-RateLimit-Reset` | Marca de tiempo Unix cuando se reinicia el límite | | `Retry-After` | Segundos hasta que puedas reintentar (solo en 429) |

Gestionar los límites de uso

Cuando recibas una respuesta 429, implementa lógica de reintentos: ```javascript async function makeRequest(url, options) { const response = await fetch(url, options); if (response.status === 429) { const retryAfter = response.headers.get('Retry-After') || 60; await sleep(retryAfter * 1000); return makeRequest(url, options); // Reintento } return response; } ``` **Retroceso exponencial:** Para fallos repetidos, usa retroceso exponencial con jitter: ```javascript const delay = Math.min(baseDelay * 2 ** attempt + randomJitter, maxDelay); ```

Buenas prácticas

Optimiza tu uso de la API para evitar los límites: • **Usa endpoints por lotes** - verifica 100 emails en una solicitud en lugar de 100 solicitudes • **Cachea las respuestas** - no vuelvas a pedir datos que ya tienes • **Distribuye las solicitudes** - no las lances todas a la vez • **Monitoriza las cabeceras** - controla la cuota restante de forma proactiva • **Gestiona los errores con elegancia** - implementa una lógica de reintentos adecuada • **Usa webhooks** - en operaciones asíncronas, espera el callback en lugar de hacer polling **Enfoque basado en colas:** ```javascript // Procesa solicitudes con límite de uso const queue = new RateLimitedQueue({ maxConcurrent: 10, minDelay: 100 // ms entre solicitudes }); await queue.addAll(requests); ```

¿Necesitas más ayuda?

Contactar con soporte