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

# API Enrow

> Visão geral da API Enrow para encontrar e verificar e-mails e números de telefone profissionais em escala, com buscas assíncronas, webhooks e processamento em massa

A API Enrow permite que você encontre e verifique informações de contato profissionais em escala. Toda requisição é autenticada com uma [chave de API](/pt/authentication) no cabeçalho `x-api-key`, e toda busca é executada de forma assíncrona para que você possa processar grandes volumes sem bloqueios.

<Note>
  **URL base** — Todas as requisições da API vão para `https://api.enrow.io`
</Note>

## O que posso fazer com a API Enrow?

A API Enrow expõe três recursos principais, cada um disponível nos modos individual e em massa:

<CardGroup cols={2}>
  <Card title="Email Finder" icon="envelope" href="/pt/api-reference/email-finder/find-single">
    Encontre endereços de e-mail profissionais a partir de um nome e do domínio da empresa
  </Card>

  <Card title="Email Verifier" icon="shield-check" href="/pt/api-reference/email-verifier/verify-single">
    Verifique qualquer endereço de e-mail com verificação determinística de catch-all
  </Card>

  <Card title="Phone Finder" icon="phone" href="/pt/api-reference/phone/find-single">
    Encontre números de telefone diretos a partir de uma URL do LinkedIn ou nome + empresa
  </Card>
</CardGroup>

## Como funciona a API Enrow?

Todos os endpoints são **assíncronos** e seguem o mesmo padrão: você envia uma busca e depois coleta o resultado via webhook ou polling.

<Steps>
  <Step title="Envie sua requisição via POST">
    Envie seus parâmetros de busca. Você recebe um ID de busca único imediatamente.
  </Step>

  <Step title="Receba uma notificação ou faça polling">
    **Webhook (recomendado):** Passe uma URL `webhook` em `settings` e tenha o resultado enviado via POST ao seu servidor instantaneamente. Veja [Como funcionam os webhooks](/pt/how-webhooks-work).

    **Polling:** Chame o endpoint GET com o ID de busca.
  </Step>

  <Step title="Use o resultado">
    O campo `qualification` informa se o resultado é `valid`, `invalid`, `found` ou `not_found`.
  </Step>
</Steps>

## Como faço minha primeira requisição?

Autentique-se com sua chave de API no cabeçalho `x-api-key` e envie uma busca via POST para o endpoint relevante. O exemplo abaixo executa uma busca de e-mail individual:

<Tabs>
  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST https://api.enrow.io/email/find/single \
      -H "x-api-key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "fullname": "Dwight Schrute",
        "company_domain": "dundermifflin.com"
      }'
    ```
  </Tab>

  <Tab title="Node.js">
    ```javascript theme={null}
    const response = await fetch('https://api.enrow.io/email/find/single', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'x-api-key': process.env.ENROW_API_KEY
      },
      body: JSON.stringify({
        fullname: 'Dwight Schrute',
        company_domain: 'dundermifflin.com'
      })
    });

    const data = await response.json();
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    import requests, os

    response = requests.post(
        "https://api.enrow.io/email/find/single",
        headers={"x-api-key": os.getenv("ENROW_API_KEY")},
        json={
            "fullname": "Dwight Schrute",
            "company_domain": "dundermifflin.com"
        }
    )
    print(response.json())
    ```
  </Tab>
</Tabs>

**Resposta:**

```json theme={null}
{
  "message": "Single search operating",
  "id": "910f3e13-b2bf-442d-ab0b-4cf44d...",
  "credits_used": 1
}
```

O POST é assíncrono — o `email` e a `qualification` são recuperados posteriormente via [endpoint GET](/pt/api-reference/email-finder/get-single-result) ou um [webhook](/pt/how-webhooks-work).

## Devo usar o modo individual ou em massa?

Use o modo individual para consultas pontuais em tempo real e o modo em massa para enriquecimento em larga escala. Todos os endpoints suportam ambos:

|                     | Individual                    | Em massa                        |
| ------------------- | ----------------------------- | ------------------------------- |
| **Tamanho do lote** | 1                             | Até 5.000 (3.000 para telefone) |
| **Ideal para**      | Consultas em tempo real       | Enriquecimento em larga escala  |
| **Webhook**         | Resultado completo no payload | Notificação, depois GET         |

Para trabalhos em massa, veja [Encontrar E-mails](/pt/api-reference/email-finder/find-bulk), [Verificar E-mails](/pt/api-reference/email-verifier/verify-bulk) e [Encontrar Telefones](/pt/api-reference/phone/find-bulk).

## O que torna a API Enrow diferente?

A API Enrow combina verificação determinística com entrega flexível de resultados, para que você obtenha dados precisos sem ferramentas adicionais:

<CardGroup cols={2}>
  <Card title="Verificação de catch-all" icon="check-double">
    Verificação determinística que funciona até em domínios catch-all. Sem necessidade de debouncer.
  </Card>

  <Card title="Campos personalizados" icon="tag">
    Passe seus próprios dados `custom` em cada busca — eles são retornados como estão no resultado.
  </Card>
</CardGroup>

<Card title="Webhooks" icon="bolt" href="/pt/how-webhooks-work">
  Obtenha resultados em tempo real. Sem polling, sem chamadas de API desperdiçadas.
</Card>

## FAQ

<AccordionGroup>
  <Accordion title="Como autentico requisições da API?">
    Toda requisição deve incluir sua chave de API no cabeçalho `x-api-key` — não há fluxos OAuth nem tokens bearer. Veja [Autenticação](/pt/authentication) para configuração e exemplos.
  </Accordion>

  <Accordion title="Por que as respostas são assíncronas?">
    Uma requisição POST inicia uma busca e retorna um `id` único imediatamente. O `email`, `phone` ou `qualification` é entregue posteriormente via [webhook](/pt/how-webhooks-work) ou fazendo polling no endpoint GET correspondente com esse `id`.
  </Accordion>

  <Accordion title="Quantas buscas posso executar em uma requisição em massa?">
    As requisições em massa de e-mail e de verificação de e-mail aceitam até 5.000 buscas, e as requisições em massa de telefone aceitam até 3.000. Para requisições individuais, o tamanho do lote é 1.
  </Accordion>

  <Accordion title="Como os créditos são consumidos?">
    Os créditos são deduzidos por busca e o valor é retornado em `credits_used`. Veja [Créditos e cobrança](/pt/credits-billing) para os custos por endpoint e [Limites de taxa](/pt/rate-limits) antes de escalar.
  </Accordion>
</AccordionGroup>

## Próximos passos

<CardGroup cols={2}>
  <Card title="Autenticação" icon="key" href="/pt/authentication">
    Configure sua chave de API no cabeçalho x-api-key
  </Card>

  <Card title="Como funcionam os webhooks" icon="bolt" href="/pt/how-webhooks-work">
    Obtenha resultados em tempo real, sem necessidade de polling
  </Card>

  <Card title="Créditos e cobrança" icon="coins" href="/pt/credits-billing">
    Entenda como os créditos são consumidos por endpoint
  </Card>

  <Card title="Tratamento de erros" icon="circle-info" href="/pt/error-handling">
    Códigos de status, qualificações e formatos de erro
  </Card>
</CardGroup>
