> ## Documentation Index
> Fetch the complete documentation index at: https://developer.zapsterapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Verificação de Número (Sem Instância)

> Verifica se um número existe no WhatsApp sem precisar de uma instância conectada.

## Introdução

Este endpoint verifica se um número existe no WhatsApp **sem exigir uma instância conectada**. A consulta é atendida por uma infraestrutura dedicada da própria Zapster, com cache persistente, então não depende de você ter um número próprio ativo na plataforma. A resposta traz o ID do destinatário, se é uma conta comercial, o LID e a URL da foto de perfil.

> [!NOTE]
>
> **Endpoint público.** No momento, este endpoint pode ser usado sem autenticação. Por ser público, as requisições sem token ficam sujeitas a limites de uso gratuito, mais restritos e que podem mudar a qualquer momento. Com o token da sua conta, valem os limites da sua conta. Ao ultrapassar o limite, a resposta é `429` com o código `rate_limited` e o header `Retry-After` indica quando tentar de novo.

> [!NOTE]
>
> Diferente da [Verificação de Número](https://developer.zapsterapi.com/pt-BR/v1/api-reference/utils/fetch-recipient.md) (que exige `instance_id`), este endpoint só retorna o campo `name` para contas comerciais (`is_business: true`), com o nome da empresa no WhatsApp. O nome de um contato pessoal só existe no histórico de conversa de uma instância específica, então ele nunca é retornado aqui.

## Casos de Uso

* **Validação em formulários de cadastro**: confirme que um número tem WhatsApp antes de salvá-lo, mesmo antes de ter qualquer instância conectada.

* **Limpeza de base de contatos**: valide listas de telefones em lote (veja a [versão em lote](https://developer.zapsterapi.com/pt-BR/v1/api-reference/utils/check-recipient-batch.md)) sem consumir a cota de uma instância de envio.

* **Pré-venda e onboarding**: use no seu fluxo de signup ou numa ferramenta pública para mostrar valor antes do cliente configurar uma instância.

## Por que não precisa de instância?

A consulta é atendida por um pool de números dedicados da própria Zapster, reservado exclusivamente para esse tipo de verificação. As instâncias dos seus clientes nunca são usadas para checar números de terceiros. O resultado passa por um cache que reduz consultas repetidas ao mesmo número, o que também torna respostas para números já conhecidos praticamente instantâneas.

## Formato do número

O `recipient` deve estar em **formato internacional (E.164)**: código do país seguido do número, com o `+` inicial opcional. Ambos os formatos abaixo são aceitos:

```
5511999999999
+5511999999999
```

Um número fora desse formato (por exemplo, sem código de país) retorna `400` com o código `recipient_invalid_format`.

> [!NOTE]
>
> **Nono dígito no Brasil.** Números de celular brasileiros podem ser informados com ou sem o nono dígito (`5511999999999` ou `551199999999`) — ambas as grafias resolvem para a mesma conta no WhatsApp, e a API aceita qualquer uma delas.

## Pontos de Atenção

> [!NOTE]
>
> O campo `profile_picture` está sempre presente em um destinatário encontrado: é uma **URL estável** que aponta para o endpoint de [Foto de Perfil do Destinatário](https://developer.zapsterapi.com/pt-BR/v1/api-reference/utils/recipient-profile-picture.md). Ela não expira como uma URL assinada, então pode ser armazenada e usada diretamente em um `<img src>` — a cada acesso, a foto mais recente disponível é servida. Quando o contato mantém a foto de perfil privada ou não possui nenhuma foto atribuída, o endpoint responde com um avatar genérico (placeholder), configurável pelo parâmetro `placeholder`.

> [!WARNING]
>
> Este endpoint tem um limite de requisições próprio, diferente do [limite padrão da API](https://developer.zapsterapi.com/pt-BR/v1/concepts/rate-limit.md), e os valores podem mudar a qualquer momento. Ao ultrapassar o limite, a resposta é `429` com o código `rate_limited` e os headers descritos na seção de erros da resposta abaixo.


## OpenAPI

````yaml GET /wa/recipients/{recipient}
openapi: 3.1.0
info:
  title: Zapster API
  description: ''
  version: 1.0.0
servers:
  - url: https://api.zapsterapi.com/v1
    description: Produção
security: []
tags: []
paths:
  /wa/recipients/{recipient}:
    get:
      tags: []
      summary: Existência de Destinatário (Sem Instância)
      description: >-
        Verifica se um número existe no WhatsApp sem precisar de uma instância
        conectada.
      parameters:
        - name: recipient
          in: path
          description: >-
            Número do destinatário em formato internacional (E.164), com ou sem
            o `+` inicial.
          required: true
          example: '5511999999999'
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID ou número do destinatário.
                  is_business:
                    type: boolean
                    description: >-
                      Define se o `recipient` informado é um perfil do tipo
                      business ou normal.
                  lid:
                    type: string
                    description: Identificador LID do destinatário no WhatsApp.
                  name:
                    type: string
                    description: >-
                      Nome da conta comercial (WhatsApp Business), como aparece
                      no WhatsApp. Presente apenas quando `is_business` é `true`
                      e a conta tem um nome; contas pessoais nunca trazem esse
                      campo.
                    example: Padaria Pão Quente
                  profile_picture:
                    type: string
                    format: uri
                    example: >-
                      https://api.zapsterapi.com/v1/wa/recipients/5511999999999/pp
                    description: >-
                      Foto de perfil do destinatário. Sempre presente — é uma
                      URL estável que aponta para o endpoint de foto de perfil
                      (`GET /wa/recipients/{recipient}/pp`), então pode ser
                      usada diretamente em um `<img src>` e armazenada como
                      referência. Quando o número não tem foto disponível, esse
                      endpoint responde com um placeholder configurável.
                required:
                  - id
                  - is_business
                  - profile_picture
        '400':
          description: Número fora do formato internacional (E.164)
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: recipient_invalid_format
                        message:
                          type: string
                          example: >-
                            The recipient must be a phone number in
                            international format (e.g. 5511999999999).
        '404':
          description: Destinatário não encontrado no WhatsApp
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: recipient_not_found
                        message:
                          type: string
                          example: The specified recipient could not be found.
        '429':
          description: >
            Limite de consultas excedido. A cota é contada por destinatário. Os
            headers `X-RateLimit-Limit`, `X-RateLimit-Remaining`,
            `X-RateLimit-Reset` e `Retry-After` acompanham a resposta.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: rate_limited
                        message:
                          type: string
                          example: >-
                            You can only make 10 recipient checks every 60
                            seconds.
        '503':
          description: Pool de instâncias da Zapster temporariamente indisponível
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          example: recipient_pool_unavailable
                        message:
                          type: string
                          example: >-
                            The recipient verification service is temporarily
                            unavailable. Please try again shortly.
      deprecated: false
      security:
        - bearer: []
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.