Los emails malos no entran en tu base. Valida en el momento de la captura.
Un solo script verifica cada dirección en cuanto el visitante sale del campo: corrige errores tipográficos, bloquea desechables y buzones inexistentes y le dice a la persona exactamente qué ajustar. Sin rebotes después, sin campañas de limpieza.
- ~300 ms por verificación
- 20+ comprobaciones por dirección
- 7 KB, cero dependencias
Esta demo simula el comportamiento del widget (sin llamadas a la API). Probar con la API real →
Cuatro pasos en menos de un segundo
El visitante apenas lo nota. Tu base, sí.
- 1
El visitante escribe
No pasa nada mientras escribe: sin parpadeos ni errores prematuros.
- 2
Sale del campo
En el blur (o tras una pausa, si lo prefieres) el widget envía la dirección a AT Valid por HTTPS.
- 3
~300 ms de verificación
Sintaxis, DNS/MX, comprobación SMTP del buzón, listas de desechables y traps, errores tipográficos, evidencia de catch-all, toxicidad.
- 4
Una respuesta clara
Check verde, un motivo concreto ("buzón lleno", "¿quisiste decir gmail.com?") o bloqueo — y el botón de enviar sigue tus reglas.
Mismo widget, reglas distintas por formulario
Cada formulario decide qué acepta. Haz clic en los chips o escribe una dirección.
Estricto: solo direcciones personales — sin desechables, sin rol, sin tóxicos.
Bloquea: desechable · rol · inexistente · tóxico
La confirmación del pedido tiene que llegar: bloquea lo que rebota, acepta el resto.
Bloquea: desechable · inexistente · buzón lleno
Maximiza suscripciones: acepta direcciones de rol con aviso y frena la basura.
Bloquea: desechable · tóxico · error tipográfico sin corrección
No es solo "¿esto es un email?"
El widget usa el mismo motor Score v3 que la validación masiva.
Errores tipográficos con corrección en un clic
gmial.com → gmail.com, hotmal.com → hotmail.com. La sugerencia es clicable.
Direcciones desechables
Más de 8.700 dominios de email temporal, actualizados a diario.
Buzones inexistentes
Una conversación SMTP real con el servidor de correo — no se envía ningún mensaje.
Buzones llenos
Cuentas por encima de la cuota que rebotarían hoy.
Catch-all con puntuación de confianza
Los servidores que aceptan todo reciben una puntuación 0–10 de evidencia en lugar de un "desconocido" a ciegas.
Direcciones de rol
info@, ventas@, soporte@ — acepta, avisa o bloquea por formulario.
Direcciones tóxicas
Spam traps, dominios en listas negras o aparcados, no-reply — índice de toxicidad 0–5.
Dominios muertos
Sin servidor de correo, Null MX, dominio aparcado o en venta.
Sintaxis y Unicode
Parsing conforme a RFC, riesgo de homógrafos, plus-tags, caracteres inválidos.
Dos líneas. Dos minutos.
Pega antes de </body>. Cada input[type="email"] de la página queda protegido — incluidos los formularios inyectados después por constructores de páginas.
Clave pública restringida a tus dominios. Sin código en el back-end, sin framework, sin build.
Ejemplos listos para:
¿Prefieres el servidor? El mismo motor está en la API REST, con ejemplos en JavaScript, Python, PHP y cURL.
<script src="https://www.atvalid.com/widget/v2/widget.js"></script>
<script>
ATValid.init({ publicKey: 'pk_live_…', preventSubmit: true });
</script> Ligero, personalizable, discreto
7 KB gzip, cero dependencias
JavaScript puro. Sin jQuery, sin framework, sin CSS que cargar.
Tus palabras, tu estilo
Todos los mensajes son configurables — incluidos los motivos concretos — y toda clase CSS puede sobrescribirse.
Convive con tu validación
HTML5 setCustomValidity(), eventos (atv:verified, atv:error) y callbacks para lo demás.
Formularios dinámicos sin problema
Un MutationObserver detecta formularios renderizados después: WordPress, RD Station, HubSpot, React, Vue.
Nada se envía dos veces
Caché de 5 minutos en la página: volver a escribir la misma dirección no cuesta nada.
Cualquier idioma, cualquier alfabeto
Los dominios internacionales y las partes locales Unicode se interpretan correctamente.
Seguro para una página pública
Claves públicas restringidas a dominios
Una clave pk_live_ solo funciona desde los dominios que listes. Si se filtra, es inútil en otro sitio.
Anti-flood de serie
60 solicitudes/min por clave y 30/min por IP del visitante. Los bots no pueden agotar tus créditos.
Nada llega al buzón
La comprobación ocurre en el servidor, en una conversación SMTP que nunca envía un mensaje.
LGPD / GDPR
Las direcciones se usan solo para la validación solicitada — nunca se guardan en claro, se venden ni se reutilizan.
Preguntas frecuentes
¿El widget ralentiza mi formulario?
No. La comprobación se ejecuta solo cuando el visitante sale del campo de email (o tras una pausa al escribir, si lo eliges), tarda unos 300 ms y el script de 7 KB se carga de forma asíncrona.
¿Envía un email a la dirección?
Nunca. AT Valid abre una conversación SMTP con el servidor de correo para preguntar si el buzón existe y la cierra antes de enviar ningún mensaje.
¿Puedo bloquear proveedores gratuitos como Gmail?
Sí — allow.free: false bloquea Gmail, Outlook, Yahoo y más de 4.000 proveedores gratuitos. Los formularios B2C suelen mantenerlos; los de leads B2B suelen bloquearlos.
¿Qué pasa si la API no está disponible?
Por defecto el widget "falla abierto": el visitante puede enviar igualmente. Puedes cambiarlo con blockOnRateLimit y el callback onError.
¿Funciona con formularios de WordPress, RD Station o HubSpot?
Sí. El widget detecta automáticamente los formularios renderizados dinámicamente y publicamos snippets listos para las plataformas más comunes.
¿Cómo se cobra?
Un crédito por dirección verificada, del mismo saldo que la validación masiva. Repetir la misma dirección en 5 minutos usa la caché de la página y no cuesta nada.
Deja de limpiar listas. Empieza a capturar limpio.
Crea una cuenta gratis, genera una clave pública y pega el snippet — las primeras 200 verificaciones corren por nuestra cuenta.