Validação em tempo real · Widget v2

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
Experimente — demo simulada
Teste um destes:

Esta demo simula o comportamento do widget (sem chamadas à API). Testar com a API real →

Como acontece

Quatro passos em menos de um segundo

O visitante mal percebe. A sua base, sim.

  1. 1

    O visitante digita

    Nada acontece enquanto digita — sem piscar, sem erro prematuro.

  2. 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. 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. 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.

Exemplos

Mesmo widget, regras diferentes por formulário

Cada formulário decide o que aceita. Clique nos chips ou digite um endereço.

Cadastro

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

Checkout

A confirmação do pedido precisa chegar — bloqueie o que dá bounce, aceite o resto.

Bloqueia: descartável · inexistente · caixa cheia

Newsletter / lead

Maximize inscrições: aceite e-mail de função com aviso, mas barre o lixo.

Bloqueia: descartável · tóxico · typo sem correção

O que ele pega

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.

Instalação

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:

WordPressElementorRD StationHubSpotMailchimpGoogle Tag ManagerWebflowWixShopifyReact / Next.jsVueHTML
Ver todos os exemplos de integração →

Prefere no servidor? O mesmo motor está na API REST, com exemplos em JavaScript, Python, PHP e cURL.

index.html
<script src="https://www.atvalid.com/widget/v2/widget.js"></script>
<script>
  ATValid.init({ publicKey: 'pk_live_…', preventSubmit: true });
</script>
Feito para não atrapalhar

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.

Segurança

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.