Solución de problemas
¿Por qué recibo 429 Rate limit exceeded?
Gestiona las respuestas 429 de la API de Emailit. Conoce los límites de envío por segundo y diarios, las cabeceras de límite de velocidad y cómo solicitar límites más altos.
Este artículo explica por qué POST /v2/emails devuelve 429 y cómo regular el ritmo de tus envíos para evitarlo. Los mismos límites se aplican a SMTP, donde aparecen como respuestas 452.
Síntomas
La API responde con 429 y uno de estos cuerpos:
{
"error": "Rate limit exceeded",
"message": "Too many requests. Maximum 2 messages per second allowed.",
"limit": 2,
"current": 2,
"retry_after": 1
}{
"error": "Daily limit exceeded",
"message": "Daily sending limit of 5000 messages has been reached.",
"limit": 5000,
"current": 5000,
"retry_after": 41200
}Por SMTP, el comando MAIL FROM falla con 452 4.4.5 Messages per second limit exceeded o 452 4.5.3 Daily message limit exceeded.
Causa
Cada espacio de trabajo tiene dos límites de envío, compartidos por todas las claves de API y por SMTP:
- Por segundo. Los espacios de trabajo nuevos empiezan con 2 emails por segundo.
- Al día. Los espacios de trabajo nuevos empiezan con 5000 emails al día. El contador se renueva a medianoche UTC.
La API cuenta cada destinatario como un email, así que una petición con tres direcciones en to, cc y bcc consume tres. Los picos de workers en paralelo, los bucles de reintento sin espera exponencial y los trabajos por lotes que empiezan a la vez son los desencadenantes habituales.
Cada respuesta de envío incluye cabeceras que te indican en qué punto estás:
| Cabecera | Significado |
|---|---|
ratelimit-limit / ratelimit-remaining |
Límite por segundo y lo que queda en el segundo actual |
ratelimit-daily-limit / ratelimit-daily-remaining |
Límite diario y lo que queda hoy |
ratelimit-daily-reset |
Segundos hasta medianoche UTC |
retry-after |
Segundos que debes esperar antes de reintentar (solo en 429) |
Solución
-
Espera y reintenta. Respeta
retry-after(oretry_afteren el cuerpo) antes de volver a enviar. Una petición con429no se envía ni se cobra, así que reintentar es seguro. Añade una cabeceraIdempotency-Keypara protegerte de los reintentos de la capa de red. -
Regula el ritmo de tu emisor. Usa una cola con un límite de concurrencia que coincida con
ratelimit-limit, y aplica una espera exponencial tras un429en lugar de reintentar en un bucle continuo. -
Reparte los envíos grandes. Si alcanzas el límite diario, programa el resto con
scheduled_atpara después de medianoche UTC, o usa una campaña para el correo de marketing. -
Comprueba tus límites actuales. La tarjeta Sending Limits de Dashboard muestra tus límites por segundo y diarios y el uso de hoy.
-
Solicita límites más altos. Selecciona Request Increase en la tarjeta Sending Limits e indica los límites que necesitas, de dónde proceden tus destinatarios y por qué. El equipo suele responder en 24 horas. En Pro y Business, los límites también suben automáticamente mientras tu salud de envío siga siendo buena.
Consulta Límites de velocidad para la referencia completa y Límites para todas las cuotas de cada plan.
¿Sigues teniendo problemas?
Contacta con soporte o pregunta en Discord. Incluye tu volumen previsto al día y por segundo y un ejemplo de respuesta 429.