E-mail ruim não entra na sua base. Valide no momento da captura.
Um único script verifica cada endereço no instante em que o visitante sai do campo — corrige typos, bloqueia descartáveis e caixas inexistentes e diz à pessoa exatamente o que ajustar. Sem bounce depois, sem campanha de limpeza.
- ~300 ms por verificação
- 20+ checagens por endereço
- 7 KB, zero dependências
Esta demo simula o comportamento do widget (sem chamadas à API). Testar com a API real →
Quatro passos em menos de um segundo
O visitante mal percebe. A sua base, sim.
- 1
O visitante digita
Nada acontece enquanto digita — sem piscar, sem erro prematuro.
- 2
Sai do campo
No blur (ou após uma pausa, se preferir) o widget envia o endereço ao AT Valid por HTTPS.
- 3
~300 ms de verificação
Sintaxe, DNS/MX, checagem SMTP da caixa, listas de descartáveis e traps, typo, evidência de catch-all, toxicidade.
- 4
Uma resposta clara
Check verde, um motivo específico ("caixa cheia", "quis dizer gmail.com?") ou bloqueio — e o botão de enviar segue as suas regras.
Mesmo widget, regras diferentes por formulário
Cada formulário decide o que aceita. Clique nos chips ou digite um endereço.
Rigoroso: só endereço pessoal — sem descartável, sem e-mail de função, sem tóxico.
Bloqueia: descartável · função · inexistente · tóxico
A confirmação do pedido precisa chegar — bloqueie o que dá bounce, aceite o resto.
Bloqueia: descartável · inexistente · caixa cheia
Maximize inscrições: aceite e-mail de função com aviso, mas barre o lixo.
Bloqueia: descartável · tóxico · typo sem correção
Não é só "isso é um e-mail?"
O widget usa o mesmo motor Score v3 da validação em lote.
Typos com correção em um clique
gmial.com → gmail.com, hotmal.com → hotmail.com. A sugestão é clicável.
Endereços descartáveis
8.700+ domínios de e-mail temporário, atualizados diariamente.
Caixas inexistentes
Uma conversa SMTP real com o servidor de e-mail — nenhuma mensagem é enviada.
Caixas cheias
Contas acima da cota, que dariam bounce hoje.
Catch-all com nota de confiança
Servidores que aceitam tudo recebem uma nota 0–10 de evidência em vez de um "desconhecido" cego.
E-mails de função
contato@, vendas@, suporte@ — aceite, avise ou bloqueie por formulário.
Endereços tóxicos
Spam traps, domínios em blacklist ou estacionados, no-reply — índice de toxicidade 0–5.
Domínios mortos
Sem servidor de e-mail, Null MX, domínio estacionado ou à venda.
Sintaxe e Unicode
Parsing conforme RFC, risco de homógrafo, plus-tags, caracteres inválidos.
Duas linhas. Dois minutos.
Cole antes de </body>. Todo input[type="email"] da página fica protegido — inclusive formulários injetados depois por construtores de página.
Chave pública restrita aos seus domínios. Sem código no back-end, sem framework, sem build.
Exemplos prontos para:
Prefere no servidor? O mesmo motor está na API REST, com exemplos em JavaScript, Python, PHP e cURL.
<script src="https://www.atvalid.com/widget/v2/widget.js"></script>
<script>
ATValid.init({ publicKey: 'pk_live_…', preventSubmit: true });
</script> Leve, personalizável, discreto
7 KB gzip, zero dependências
JavaScript puro. Sem jQuery, sem framework, sem CSS para carregar.
Suas palavras, seu visual
Toda mensagem é configurável — inclusive os motivos específicos — e toda classe CSS pode ser sobrescrita.
Convive com a sua validação
HTML5 setCustomValidity(), eventos (atv:verified, atv:error) e callbacks para o resto.
Formulários dinâmicos, sem problema
Um MutationObserver detecta formulários renderizados depois: WordPress, RD Station, HubSpot, React, Vue.
Nada é enviado duas vezes
Cache de 5 minutos na página: redigitar o mesmo endereço não custa nada.
Qualquer idioma, qualquer alfabeto
Domínios internacionais e local-parts Unicode são interpretados corretamente.
Seguro para uma página pública
Chave pública restrita a domínios
Uma chave pk_live_ só funciona nos domínios que você listar. Vazou? É inútil em qualquer outro lugar.
Anti-flood de fábrica
60 requisições/min por chave e 30/min por IP do visitante. Robô não esgota seus créditos.
Nada chega à caixa
A checagem acontece no servidor, numa conversa SMTP que nunca envia mensagem.
LGPD / GDPR
Endereços são usados só para a validação pedida — nunca guardados em claro, vendidos ou reutilizados.
Perguntas frequentes
O widget deixa meu formulário lento?
Não. A checagem roda só quando o visitante sai do campo de e-mail (ou após uma pausa na digitação, se você preferir), leva cerca de 300 ms, e o script de 7 KB carrega de forma assíncrona.
Ele envia um e-mail para o endereço?
Nunca. O AT Valid abre uma conversa SMTP com o servidor de e-mail para perguntar se a caixa existe e a encerra antes de qualquer mensagem ser enviada.
Posso bloquear provedores gratuitos como o Gmail?
Sim — allow.free: false bloqueia Gmail, Outlook, Yahoo e mais de 4.000 provedores gratuitos. Formulários B2C costumam mantê-los; formulários de lead B2B costumam bloquear.
E se a API estiver fora do ar?
Por padrão o widget "falha aberto": o visitante consegue enviar mesmo assim. Dá para mudar isso com blockOnRateLimit e o callback onError.
Funciona com formulários do WordPress, RD Station ou HubSpot?
Sim. O widget detecta formulários renderizados dinamicamente e publicamos snippets prontos para as plataformas mais comuns.
Como é cobrado?
Um crédito por endereço verificado, do mesmo saldo da validação em lote. Repetir o mesmo endereço em até 5 minutos usa o cache da página e não custa nada.
Pare de limpar listas. Comece a capturar limpo.
Crie uma conta grátis, gere uma chave pública e cole o snippet — as primeiras 200 verificações são por nossa conta.