Documentação da ZapGet API

Consulte rapidamente se um número é WhatsApp, obtenha foto de perfil, nome e status.

Esta página é pública. Para ver seus créditos, chave de API e detalhes da conta, acesse o painel autenticado.

Endpoint de Consulta

Use este endpoint em qualquer backend (Node, Python, etc.) ou em plataformas como Make, n8n, Typebot (via HTTP Request), etc.

Request

GET https://zapgetapi.online/api/v1/whatsapp/profile/{phone}

Headers:
  Authorization: Bearer YOUR_API_KEY
  Content-Type: application/json

Parâmetros:
  {phone}: número com DDI. Ex: 5511987654321

Response (exemplo 200)

{
  "statusCode": 200,
  "data": {
    "nome": "João Silva",
    "numero": "5511987654321",
    "numeroExiste": "Sim",
    "isWhatsapp": "Sim",
    "foto": "https://pps.whatsapp.net/v/t61.24694-24/...",
    "status": "Disponível para contato",
    "ultimoVisto": "Não disponível",
    "temFoto": "Sim",
    "temNome": "Sim",
    "temStatus": "Sim",
    "temUltimoVisto": "Não",
    "jid": "5511987654321@s.whatsapp.net",
    "ddd": "11",
    "regiao": "Celular com nono dígito",
    "timestamp": "2025-01-22T18:15:00.000Z",
    "observacao": "Perfil verificado",
    "requests_left": 9972
  }
}

Endpoint de Consulta em Lote (Bulk)

Consulte até 200 números de uma vez via upload de CSV. Ideal para validação de leads em massa.

Request

POST https://zapgetapi.online/api/v1/whatsapp/profile/bulk

Headers:
  Authorization: Bearer YOUR_API_KEY
  Content-Type: multipart/form-data

Body (form-data):
  file: arquivo.csv (máx. 200 números)

Formato do CSV

5511987654321
5521912345678
5531998765432

Um número por linha. Aceita números com ou sem DDI. O sistema processa 10 números em paralelo.

Response (exemplo 200)

{
  "success": true,
  "count": 3,
  "results": [
    {
      "input": "5511987654321",
      "statusCode": 200,
      "ok": true,
      "data": { "nome": "João", "isWhatsapp": "Sim", ... }
    },
    ...
  ]
}

Casos de uso práticos

Ideias simples de como usar a ZapGet API no dia a dia.

• Validar listas de leads antes de disparos em massa, evitando números que não são WhatsApp.

• Enriquecer planilhas ou CRM com nome, foto e status do WhatsApp.

• Mostrar foto e nome do contato em painéis internos de atendimento ou sistemas de suporte.

• Automatizar fluxos em bots (como Typebot / outros) exibindo a foto e o nome da pessoa.

Integração com Typebot (resumo)

Exemplo simples de como montar o fluxo para mostrar a foto de perfil.

  1. Coletar número: use um bloco de pergunta (ex: "Qual seu WhatsApp?") e salve a resposta na variável numero.
  2. Bloco HTTP Request: configure como GET com a URL:
    https://zapgetapi.online/api/v1/whatsapp/profile/{{numero}}
    Adicione o headerAuthorization: Bearer SUA_API_KEY.
  3. Save in variables: na opção de salvar dados do retorno, use:
    Data: {{= data.foto =}}

    💡 Compatibilidade: A API suporta tanto data.foto quanto data.data.foto. Teste ambos formatos no seu Typebot para ver qual funciona melhor.

    Aqui, {phone} da documentação é preenchido automaticamente pela variável{{numero}} do Typebot.
  4. Mostrar imagem: use um bloco de "Image" apontando para a variável{{foto}}.

Dica: se quiser ver o fluxo completo com prints, acesse a documentação detalhada dentro do painel autenticado (Dashboard > Documentação > Integração com Typebot).

📥 Template Pronto para Importar

Baixe o template JSON e importe diretamente no seu Typebot.

Baixar Template Typebot

Sobre os campos retornados

Entenda o que cada campo significa e quando pode vir vazio.

foto: URL da foto de perfil do WhatsApp. Pode vir null se:

  • O usuário configurou privacidade para não mostrar foto
  • O número não tem foto de perfil definida
  • Timeout na busca (a API faz até 4 tentativas automáticas)

Use o campo temFoto para verificar se há foto disponível.

nome: Nome do perfil do WhatsApp. Pode vir null por privacidade.

status: Recado/status do WhatsApp. Pode vir null por privacidade.

isWhatsapp / numeroExiste: Indica se o número é WhatsApp válido ("Sim" ou "Não").

requests_left: Créditos restantes na sua conta.

Limites e Boas Práticas

Rate limit: até 600 requisições por minuto por API key.

Cache inteligente: consultas repetidas em 5 minutos NÃO consomem créditos.

Timeout recomendado: 20s no cliente (a API costuma responder em até 10s).

Cache local: faça cache dos resultados sempre que possível (ex: 24h).

Segurança: nunca exponha sua API key direto no frontend.

Foto null: sempre verifique temFoto === "Sim" antes de usar o campo foto.