Verificar se um número tem WhatsApp

Digite o número e descubra na hora se ele tem uma conta de WhatsApp ativa, sem enviar mensagem e sem avisar ninguém.

Consulte um número agora

Informe o número com DDD. A consulta é gratuita e quem tem o número não recebe aviso nenhum.

A bandeira acompanha o código digitado. Toque nela para escolher outro país.

Protegido contra abuso. Os números consultados não são publicados nem vendidos.

Deixe um agente de IA fazer isso por você

Copie um prompt pronto e entregue ao seu agente: ele já leva o contrato da API, então não precisa adivinhar endpoint, autenticação nem o que significa cada resposta. Serve para integrar a verificação no seu sistema ou para checar uma lista inteira agora mesmo.

O agente lê o seu projeto, cria o cliente da API, trata os erros e escreve os testes.

Prompt para o agente
Quero integrar ao meu projeto a verificação de números de WhatsApp da Zapster API, para saber se um telefone tem WhatsApp antes de enviar mensagem ou salvar um cadastro.

Contrato da API (Zapster API):
- Autenticação: header "Authorization: Bearer <token>". O token sai do painel da Zapster API (https://app.zapsterapi.com/signup).
- Um número: GET https://api.zapsterapi.com/v1/wa/recipients/{numero}
  - {numero} em formato internacional, só dígitos, com ou sem "+" (ex.: 5511987654321).
  - 200 = tem WhatsApp. Corpo: { "id", "is_business", "lid", "profile_picture" }. "profile_picture" é sempre uma URL que pode ir direto num <img>.
  - 404 com code "recipient_not_found" = não tem WhatsApp. É resposta normal, não erro.
  - 400 com code "recipient_invalid_format" = número fora do formato internacional.
  - 429 = limite de consultas atingido. Espere o tempo do header Retry-After e tente de novo.
- Vários números: POST https://api.zapsterapi.com/v1/wa/recipients/batch com corpo { "recipients": ["5511987654321", "..."] }, até 100 por chamada.
  - Responde um array com um item por número. Use "original" (o número como foi enviado) para casar cada item.
  - Tem WhatsApp: { "original", "exists": true, "id", "is_business", "profile_picture" }.
  - Não tem WhatsApp: "exists": false e "error": { "code": "recipient_not_found" }.
  - Número inválido: só { "original", "error": { "code": "recipient_invalid_format" } }.
- Documentação: https://developer.zapsterapi.com/pt-BR/v1/api-reference/utils/check-recipient e https://developer.zapsterapi.com/pt-BR/v1/api-reference/utils/check-recipient-batch

O que eu preciso:
1. Descubra a linguagem e o framework deste projeto e siga os padrões que ele já usa (cliente HTTP, organização de pastas, tratamento de erro).
2. Crie uma função ou cliente reutilizável que receba um telefone e responda se ele tem WhatsApp e se é conta comercial. Para listas, use o endpoint em lote em blocos de até 100.
3. Leia o token da variável de ambiente ZAPSTERAPI_TOKEN. Nunca deixe o token no código nem em log.
4. Normalize o telefone para o formato internacional antes de chamar a API. Se o projeto só lida com números do Brasil, complete o código +55 quando faltar.
5. Trate o 404 como "não tem WhatsApp", o 429 respeitando o Retry-After, e falha de rede sem derrubar o fluxo de quem chama.
6. Escreva testes com a API simulada, cobrindo número com WhatsApp, sem WhatsApp, formato inválido e limite atingido.
7. No fim, me mostre onde chamar essa verificação no fluxo atual (por exemplo, no cadastro de leads) e o que preciso configurar.

Usa Claude Code, Codex ou Cursor? Copie o prompt e cole no agente com o seu projeto aberto: ele adapta o código ao que já existe. No Gemini, o prompt é copiado para você colar.

Como a verificação funciona

Todo aplicativo de WhatsApp faz essa consulta o tempo todo: ao salvar um contato novo, ele pergunta à rede do WhatsApp se aquele número tem uma conta registrada. A ferramenta faz a mesma pergunta, de forma passiva, e devolve a resposta em três passos:

  1. Você informa o número em formato internacional: código do país, DDD e número. A bandeira do campo acompanha o código digitado, e tocar nela abre a lista de países.
  2. A consulta verifica na rede do WhatsApp se existe uma conta ativa registrada naquele número. Nenhuma mensagem é enviada e o dono do número não recebe aviso nenhum.
  3. A resposta chega em segundos: se o número tem WhatsApp, se a conta é comercial (WhatsApp Business) e a foto de perfil, quando ela é pública.

Para que serve verificar um número antes de enviar

Enviar mensagem para número que não tem WhatsApp custa caro em todas as direções: a mensagem não chega, a campanha reporta entrega baixa e, no volume, o padrão de envios para números inexistentes é um dos sinais que derrubam a reputação de um número remetente. Três usos concentram quase todo o valor da verificação:

Validação de leads no momento do cadastro

Um lead que digita o telefone errado no formulário está perdido antes do primeiro contato. Verificar o número na hora do cadastro separa o erro de digitação do lead real, enquanto ele ainda está na página e pode corrigir.

Limpeza de listas antigas

Bases de contato envelhecem: número trocado, linha cancelada, chip corporativo devolvido. Passar a lista por uma verificação antes de uma campanha remove os números mortos e deixa a métrica de entrega refletir a campanha, não a sujeira da base.

Redução de bounce e proteção do remetente

Cada envio para número inexistente é um bounce. Uma taxa alta de bounce desperdiça cota, polui relatórios e cria exatamente o padrão de comportamento que os filtros anti-spam do WhatsApp procuram. Enviar só para números verificados é a proteção mais barata que uma operação de envio pode ter.

Manual, ferramenta ou API: qual verificação usar

Existem três jeitos de descobrir se um número tem WhatsApp, e a escolha certa depende só do volume:

CritérioVerificação manualEsta ferramentaVia API
Como funcionaSalvar o contato na agenda e olhar se ele aparece no WhatsAppDigitar o número e receber a resposta na telaUma chamada HTTP por número, ou em lote
Tempo por númeroUm a dois minutos, e suja a agenda do celularSegundosMilissegundos, em paralelo
EscalaInviável acima de uma dúziaConsultas avulsas, com limite por sessãoListas inteiras, integrado ao seu sistema
CustoO seu tempoGratuitoIncluído na assinatura da Zapster API
Quando usarNunca, sendo honestoConferências pontuais do dia a diaCadastro, CRM e higienização de base em produção

A mesma verificação, direto na sua aplicação

O que esta página faz um número por vez, a API da Zapster faz por endpoint: GET /v1/wa/recipients/{numero} responde se o número tem WhatsApp, se é conta comercial e a foto de perfil. Número sem WhatsApp responde 404, então o seu código decide com um if.

curl "https://api.zapsterapi.com/v1/wa/recipients/5511987654321" \
  -H "Authorization: Bearer SEU_TOKEN"

O token sai do painel da Zapster API. Se você está montando a conta de custo do WhatsApp da sua operação, a calculadora de custo do WhatsApp compara a API oficial com o modelo por instância usando os seus volumes.

Perguntas frequentes

Valide a lista inteira, não um número por vez

Com uma conta na Zapster API, a mesma verificação vira uma chamada HTTP no seu cadastro, no seu CRM ou na higienização da sua base, com consulta em lote e sem depender desta página.