---
title: "Verificar se número tem WhatsApp pela API"
description: "Valide se um telefone tem WhatsApp antes de enviar: no cadastro, no CRM e na importação. Endpoint, exemplos em cURL e Node e o uso que não arrisca o número."
url: "https://api-wa.me/blog/verificar-numero-tem-whatsapp-api"
language: "pt-BR"
og:type: "article"
og:site_name: "WAME API"
---

[Início](https://api-wa.me/)/[Blog da API do WhatsApp](https://api-wa.me/blog)/Como verificar se um número tem WhatsApp pela API (antes de enviar)

Raphael Serafim· Publicado em 28 de setembro de 2026· 7 min de leitura

Compartilhar

# Como verificar se um número tem WhatsApp pela API (antes de enviar)

Valide se um telefone tem WhatsApp antes de enviar: no cadastro, no CRM e na importação. Endpoint, exemplos em cURL e Node e o uso que não arrisca o número.

Copiar para LLM[Ver como Markdown](https://api-wa.me/blog/verificar-numero-tem-whatsapp-api.md)

**Para saber se um número tem WhatsApp antes de enviar, faça um `GET /{key}/actions/registered?number=...` na API não oficial da WAME: a resposta diz se o número está registrado e devolve o JID dele.** Nada chega ao celular da pessoa. O lugar certo para usar isso é no cadastro do cliente e na manutenção da sua própria base — não para varrer números desconhecidos, que é abuso e um dos jeitos mais rápidos de perder o número.

Neste guia você vê o endpoint, três lugares onde ele economiza dinheiro e dor de cabeça, e as regras de ritmo que mantêm a sua conta saudável.

## Por que verificar antes de enviar

Telefone digitado errado é o erro mais comum de qualquer cadastro. Um dígito a menos, um 9 esquecido, um fixo no campo de celular — e a mensagem de confirmação de pedido nunca chega. O cliente acha que a loja não respondeu; a loja acha que avisou.

Verificar o número resolve três problemas de uma vez:

- **Erro de digitação vira aviso na hora**, enquanto a pessoa ainda está no formulário.
- **Menos envio para o vazio.** Envio que falha não ajuda ninguém e polui suas métricas.
- **Base limpa.** Você sabe quais contatos podem ser atendidos pelo WhatsApp e quais precisam de e-mail ou SMS.

> A camada não oficial da WAME é independente e não é afiliada, endossada ou suportada pelo WhatsApp ou pela Meta. O uso é de responsabilidade de quem envia.

## O endpoint

É um `GET` simples, com o número na query string:

bash

Copiar

```
curl "https://us.api-wa.me/SUA_KEY/actions/registered?number=5511999999999"
```

A resposta informa se o número está no WhatsApp e, quando está, traz o JID — o identificador no formato `[[email protected]](https://api-wa.me/cdn-cgi/l/email-protection)`. O formato exato do retorno está na [documentação](https://api-wa.me/docs).

Um detalhe que vale ouro no Brasil: por causa do nono dígito, alguns números antigos estão registrados no WhatsApp **sem** o 9 extra. O JID devolvido pela verificação é o identificador real — guarde ele, e não o que a pessoa digitou.

## Normalize antes de consultar

Metade dos "números sem WhatsApp" são números mal formatados. Antes de chamar a API, limpe:

javascript

Copiar

```
function normalizarTelefoneBR(entrada) {
  let d = String(entrada).replace(/\D/g, '');   // só dígitos
  if (d.startsWith('0')) d = d.replace(/^0+/, ''); // tira zero de operadora/DDD
  if (d.length === 10 || d.length === 11) d = '55' + d; // sem país → Brasil
  return d;
}

normalizarTelefoneBR('(11) 99999-9999'); // "5511999999999"
normalizarTelefoneBR('+55 21 98888-8888'); // "5521988888888"
```

Para uma base internacional, use uma biblioteca como `libphonenumber-js` em vez de regras caseiras.

## Uso 1: validação no formulário de cadastro

O melhor momento para verificar é quando a pessoa ainda está na tela. Um exemplo de rota no seu backend (Node.js + Express):

javascript

Copiar

```
const BASE = 'https://us.api-wa.me/SUA_KEY';

app.post('/api/validar-whatsapp', async (req, res) => {
  const numero = normalizarTelefoneBR(req.body.telefone);

  const r = await fetch(`${BASE}/actions/registered?number=${numero}`);
  if (!r.ok) return res.status(502).json({ erro: 'falha ao verificar' });

  const dados = await r.json();
  // Confira na documentação o campo exato que indica o registro
  // e o campo com o JID, e guarde o JID no cadastro do cliente.
  res.json({ numero, resultado: dados });
});
```

No front, chame essa rota quando o campo perde o foco e mostre um aviso gentil: _"Não encontramos WhatsApp neste número. Confere se está certo?"_. Não bloqueie o cadastro — a pessoa pode preferir e-mail — mas avise.

Duas regras importantes aqui:

1. **A chamada sai do seu backend, nunca do navegador.** A `key` da instância autentica tudo; exposta no front, qualquer um usa a sua instância. Mais sobre isso em [segurança da API do WhatsApp](https://api-wa.me/blog/seguranca-api-whatsapp-token-webhook).
2. **Proteja a rota com rate limit e captcha.** Senão alguém transforma o seu formulário numa máquina de consultar números — e quem paga é o seu número.

## Uso 2: higienizar a base do CRM

Você tem uma base de clientes que se cadastraram ao longo dos anos. Antes de ligar a automação de avisos, faz sentido saber quem tem WhatsApp. O jeito certo é **devagar**:

javascript

Copiar

```
const esperar = (ms) => new Promise((r) => setTimeout(r, ms));

async function higienizar(clientes) {
  for (const c of clientes) {
    const numero = normalizarTelefoneBR(c.telefone);
    const r = await fetch(`${BASE}/actions/registered?number=${numero}`);
    c.whatsapp = r.ok ? await r.json() : null;
    await salvar(c);

    // Intervalo variável entre consultas: ritmo de gente, não de script
    await esperar(3000 + Math.random() * 4000);
  }
}
```

É lento de propósito. Uma base de alguns milhares de contatos leva horas — rode em segundo plano, fora do horário de pico, e em lotes ao longo de dias se a base for grande. Lembre que esses contatos são **seus clientes**, que deram o telefone para você; higienizar não substitui ter o consentimento deles para receber mensagens. O processo completo de opt-in está em [lista de contatos para WhatsApp: opt-in e opt-out](https://api-wa.me/blog/lista-contatos-optin-optout-whatsapp).

## Uso 3: antes do primeiro envio de uma automação

Em fluxos automáticos — confirmação de pedido, lembrete de consulta — verificar o número uma vez, no primeiro contato, e guardar o JID evita repetir a consulta a cada mensagem. A regra é simples: **verifica uma vez, salva, reusa**. Se o envio falhar lá na frente, aí sim vale verificar de novo (a pessoa pode ter trocado de número).

## O que não fazer: varrer números

Existe um uso desse endpoint que a WAME não apoia e que derruba números com frequência: gerar sequências de telefones (`11999990000`, `11999990001`, ...) ou comprar listas e consultar em massa para "descobrir quem tem WhatsApp" e depois disparar mensagens.

Isso é ruim por três motivos:

- **É spam na origem.** Ninguém ali pediu para falar com você. A WAME não apoia spam, e esse é o começo de toda operação de spam.
- **É um padrão fácil de detectar.** Milhares de consultas a números que não estão na sua agenda, em rajada, não se parecem com nenhum uso humano do WhatsApp.
- **Viola a LGPD.** Consultar e tratar dados de telefones de pessoas sem relação com você não tem base legal.

A WAME protege a sessão com uma camada de comportamento — limites de ritmo, identidade de dispositivo coerente com o país, reconexão espaçada — e por isso a taxa de bloqueio é muito baixa para quem usa do jeito certo. Mas nenhuma camada técnica disfarça uma varredura de números. Os detalhes estão em [anti-detecção na API não oficial](https://api-wa.me/blog/anti-deteccao-api-whatsapp-nao-oficial), e o que de fato derruba um número em [a API não oficial bane? O que derruba um número](https://api-wa.me/blog/api-whatsapp-nao-oficial-bane-o-que-derruba-numero).

## Boas práticas resumidas

| Faça | Evite |
| --- | --- |
| Verificar no cadastro, um número por vez | Consultar listas compradas |
| Guardar o JID devolvido | Consultar o mesmo número a cada envio |
| Espalhar consultas de higienização no tempo | Rajadas de centenas de consultas por minuto |
| Chamar do backend com rate limit | Expor a `key` no front-end |
| Normalizar o número antes | Mandar com `+`, traço e espaço |

## Conclusão

Verificar se um número tem WhatsApp pela API é uma das funções mais simples e mais úteis da API não oficial: um `GET /{key}/actions/registered` pega o erro de digitação no cadastro, limpa a sua base e evita envios para o vazio. Usado com o ritmo certo e só com contatos que são seus, ele deixa a operação mais eficiente sem colocar o número em risco. Veja outros recursos em [API não oficial do WhatsApp: recursos e exemplos](https://api-wa.me/blog/api-nao-oficial-whatsapp-recursos-exemplos) e o formato completo da resposta na [documentação](https://api-wa.me/docs).

### Pronto para automatizar seu WhatsApp?

Crie sua conta gratuita e comece a enviar mensagens pela API em minutos.

[Começar grátis](https://portal.api-wa.me/sign-up)

## Perguntas frequentes

Como saber se um número tem WhatsApp pela API?+

Faça um GET em /{key}/actions/registered?number=5511999999999 na WAME API. A resposta indica se o número está registrado no WhatsApp e, quando está, devolve o JID dele — o identificador usado nos envios.

Verificar número tem custo ou conta como mensagem?+

Não é uma mensagem: nada chega ao celular da pessoa e ela não fica sabendo da consulta. Mesmo assim, cada verificação é uma consulta feita pela sua sessão ao WhatsApp, por isso deve ser usada com moderação.

Posso verificar uma lista de milhares de números de uma vez?+

Não é recomendado. Consultar em rajada milhares de números que você não conhece é o padrão de quem varre números aleatórios, e esse comportamento é um gatilho conhecido de bloqueio. Verifique no momento do cadastro, um a um, e espalhe as consultas no tempo quando for higienizar uma base própria.

Em que formato devo enviar o número?+

Formato internacional só com dígitos: código do país + DDD + número, sem +, espaços, parênteses ou traços. Exemplo: 5511999999999. Normalize o telefone antes de consultar para evitar falsos negativos.

A verificação funciona para números de outros países?+

Sim. Basta enviar o número com o código do país correto, por exemplo 351 para Portugal ou 1 para Estados Unidos.

## Continue lendo

[### Agente de voz no WhatsApp: latência, interrupção (barge-in) e silêncio

Como deixar um agente de voz no WhatsApp natural: latência, streaming, detecção de fala, interrupção (barge-in), silêncio e eco, com exemplos em Node.js.](https://api-wa.me/blog/agente-voz-whatsapp-latencia-interrupcao)[### Anti-detecção na API não oficial do WhatsApp: como a WAME protege seu número

Como funciona a camada de anti-detecção da API não oficial da WAME: identidade de dispositivo, tempo humano, ritmo de envio, reconexão e monitor de saúde.](https://api-wa.me/blog/anti-deteccao-api-whatsapp-nao-oficial)[### API do WhatsApp em C# (.NET): enviar mensagens e receber webhook

Tutorial de API do WhatsApp em C# e .NET: HttpClient tipado, envio de texto, imagem e lista, webhook em ASP.NET Core com fila em background e tratamento de 429.](https://api-wa.me/blog/api-whatsapp-csharp-dotnet)

[Voltar ao blog](https://api-wa.me/blog)

## Structured data

```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "WAME API",
  "alternateName": "API Oficial e Não Oficial de WhatsApp, Instagram, Messenger e Telegram",
  "url": "https://api-wa.me",
  "inLanguage": "pt-BR",
  "publisher": {
    "@id": "https://api-wa.me/#organization",
    "@type": "Organization",
    "name": "WAME API",
    "url": "https://api-wa.me"
  }
}
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://api-wa.me/#organization",
  "name": "WAME API",
  "alternateName": [
    "WAME",
    "Wame API",
    "wame.api.br",
    "api-wa.me"
  ],
  "url": "https://api-wa.me",
  "logo": {
    "@type": "ImageObject",
    "url": "https://api-wa.me/images/web-app-manifest-512x512.png",
    "width": 512,
    "height": 512
  },
  "disambiguatingDescription": "WAME API é uma empresa brasileira de software, fundada em 2017 e parceira oficial da Meta (Meta Business Partner), que fornece APIs de WhatsApp, Instagram Direct e Messenger. Não tem relação com o wa.me, que é o encurtador de links operado pela WhatsApp LLC.",
  "identifier": {
    "@type": "PropertyValue",
    "propertyID": "INPI-BR",
    "name": "Pedido de registro de marca (INPI, classe NCL 42)",
    "value": "944724159"
  },
  "foundingDate": "2017",
  "slogan": "Parceira Oficial da Meta — WhatsApp, Instagram, Messenger e Telegram numa instância só. Desde 2017.",
  "description": "Plataforma brasileira e Parceira Oficial da Meta (Meta Business Partner) para as APIs oficiais de WhatsApp (Cloud API), Instagram Direct e Messenger — os três numa única instância, com os mesmos endpoints e um único formato de webhook. Também oferece a API não oficial via QR Code e o Telegram, na mesma plataforma. No mercado desde 2017, com mais de 50 mil instâncias criadas, 99,9% de uptime e suporte humano 24/7 em português. SDKs oficiais para Node.js/TypeScript e PHP.",
  "knowsAbout": [
    "WhatsApp Cloud API oficial (Meta)",
    "API oficial de Instagram (Direct)",
    "API oficial de Messenger",
    "API multicanal Meta",
    "Meta Business Partner",
    "WhatsApp API",
    "API não oficial de WhatsApp",
    "automação de WhatsApp",
    "números virtuais",
    "webhooks"
  ],
  "sameAs": [
    "https://github.com/wame-api",
    "https://www.linkedin.com/company/wameapi",
    "https://www.instagram.com/wame.api/",
    "https://www.youtube.com/@wameapi"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer support",
    "url": "https://api-wa.me/contact",
    "availableLanguage": [
      "Portuguese"
    ]
  }
}
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Como verificar se um número tem WhatsApp pela API (antes de enviar)",
  "description": "Valide se um telefone tem WhatsApp antes de enviar: no cadastro, no CRM e na importação. Endpoint, exemplos em cURL e Node e o uso que não arrisca o número.",
  "image": "https://api-wa.me/blog/verificar-numero-tem-whatsapp-api/opengraph-image",
  "datePublished": "2026-09-28",
  "dateModified": "2026-09-28",
  "author": {
    "@type": "Person",
    "name": "Raphael Serafim",
    "url": "https://github.com/raphaelvserafim",
    "sameAs": [
      "https://github.com/raphaelvserafim"
    ]
  },
  "publisher": {
    "@type": "Organization",
    "name": "api-wa.me",
    "logo": {
      "@type": "ImageObject",
      "url": "https://api-wa.me/images/screenshot.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://api-wa.me/blog/verificar-numero-tem-whatsapp-api"
  },
  "keywords": "api whatsapp não oficial, api não oficial whatsapp, verificar se número tem whatsapp, validar número whatsapp api, checar whatsapp api, número tem whatsapp api, higienizar lista whatsapp",
  "inLanguage": "pt-BR"
}
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://api-wa.me"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog da API do WhatsApp",
      "item": "https://api-wa.me/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Como verificar se um número tem WhatsApp pela API (antes de enviar)",
      "item": "https://api-wa.me/blog/verificar-numero-tem-whatsapp-api"
    }
  ]
}
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Como saber se um número tem WhatsApp pela API?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Faça um GET em /{key}/actions/registered?number=5511999999999 na WAME API. A resposta indica se o número está registrado no WhatsApp e, quando está, devolve o JID dele — o identificador usado nos envios."
      }
    },
    {
      "@type": "Question",
      "name": "Verificar número tem custo ou conta como mensagem?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não é uma mensagem: nada chega ao celular da pessoa e ela não fica sabendo da consulta. Mesmo assim, cada verificação é uma consulta feita pela sua sessão ao WhatsApp, por isso deve ser usada com moderação."
      }
    },
    {
      "@type": "Question",
      "name": "Posso verificar uma lista de milhares de números de uma vez?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não é recomendado. Consultar em rajada milhares de números que você não conhece é o padrão de quem varre números aleatórios, e esse comportamento é um gatilho conhecido de bloqueio. Verifique no momento do cadastro, um a um, e espalhe as consultas no tempo quando for higienizar uma base própria."
      }
    },
    {
      "@type": "Question",
      "name": "Em que formato devo enviar o número?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Formato internacional só com dígitos: código do país + DDD + número, sem +, espaços, parênteses ou traços. Exemplo: 5511999999999. Normalize o telefone antes de consultar para evitar falsos negativos."
      }
    },
    {
      "@type": "Question",
      "name": "A verificação funciona para números de outros países?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sim. Basta enviar o número com o código do país correto, por exemplo 351 para Portugal ou 1 para Estados Unidos."
      }
    }
  ]
}
```
