> ## 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

> Présentation de l'API Enrow pour trouver et vérifier des e-mails et numéros de téléphone professionnels à grande échelle, avec des recherches asynchrones, des webhooks et le traitement par lots

L'API Enrow vous permet de trouver et de vérifier des coordonnées professionnelles à grande échelle. Chaque requête est authentifiée avec une [clé API](/fr/authentication) dans l'en-tête `x-api-key`, et chaque recherche s'exécute de manière asynchrone afin que vous puissiez traiter de gros volumes sans blocage.

<Note>
  **URL de base** — Toutes les requêtes API sont envoyées à `https://api.enrow.io`
</Note>

## Que puis-je faire avec l'API Enrow ?

L'API Enrow expose trois fonctionnalités principales, chacune disponible en mode unitaire et par lots :

<CardGroup cols={2}>
  <Card title="Email Finder" icon="envelope" href="/fr/api-reference/email-finder/find-single">
    Trouvez des adresses e-mail professionnelles à partir d'un nom et d'un domaine d'entreprise
  </Card>

  <Card title="Email Verifier" icon="shield-check" href="/fr/api-reference/email-verifier/verify-single">
    Vérifiez n'importe quelle adresse e-mail avec une vérification catch-all déterministe
  </Card>

  <Card title="Phone Finder" icon="phone" href="/fr/api-reference/phone/find-single">
    Trouvez des numéros de téléphone directs à partir d'une URL LinkedIn ou d'un nom + entreprise
  </Card>
</CardGroup>

## Comment fonctionne l'API Enrow ?

Tous les endpoints sont **asynchrones** et suivent le même schéma : vous soumettez une recherche, puis vous récupérez le résultat via un webhook ou par polling.

<Steps>
  <Step title="Envoyez votre requête en POST">
    Envoyez vos paramètres de recherche. Vous recevez immédiatement un identifiant de recherche unique.
  </Step>

  <Step title="Recevez une notification ou faites du polling">
    **Webhook (recommandé) :** Indiquez une URL `webhook` dans `settings` et recevez le résultat envoyé instantanément en POST sur votre serveur. Voir [Comment fonctionnent les webhooks](/fr/how-webhooks-work).

    **Polling :** Appelez l'endpoint GET avec l'identifiant de recherche.
  </Step>

  <Step title="Utilisez le résultat">
    Le champ `qualification` vous indique si le résultat est `valid`, `invalid`, `found` ou `not_found`.
  </Step>
</Steps>

## Comment effectuer ma première requête ?

Authentifiez-vous avec votre clé API dans l'en-tête `x-api-key` et envoyez une recherche en POST à l'endpoint concerné. L'exemple ci-dessous exécute une recherche d'e-mail unitaire :

<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>

**Réponse :**

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

Le POST est asynchrone — l'`email` et la `qualification` sont récupérés ultérieurement via l'[endpoint GET](/fr/api-reference/email-finder/get-single-result) ou un [webhook](/fr/how-webhooks-work).

## Dois-je utiliser le mode unitaire ou par lots ?

Utilisez le mode unitaire pour des recherches ponctuelles en temps réel, et le mode par lots pour l'enrichissement à grande échelle. Chaque endpoint prend en charge les deux :

|                   | Unitaire                         | Par lots                                |
| ----------------- | -------------------------------- | --------------------------------------- |
| **Taille du lot** | 1                                | Jusqu'à 5 000 (3 000 pour le téléphone) |
| **Idéal pour**    | Recherches en temps réel         | Enrichissement à grande échelle         |
| **Webhook**       | Résultat complet dans le payload | Notification, puis GET                  |

Pour les traitements par lots, voir [Trouver des e-mails](/fr/api-reference/email-finder/find-bulk), [Vérifier des e-mails](/fr/api-reference/email-verifier/verify-bulk) et [Trouver des téléphones](/fr/api-reference/phone/find-bulk).

## Qu'est-ce qui distingue l'API Enrow ?

L'API Enrow combine une vérification déterministe avec une livraison flexible des résultats, pour que vous obteniez des données précises sans outils supplémentaires :

<CardGroup cols={2}>
  <Card title="Vérification catch-all" icon="check-double">
    Vérification déterministe qui fonctionne même sur les domaines catch-all. Aucun debouncer nécessaire.
  </Card>

  <Card title="Champs personnalisés" icon="tag">
    Transmettez vos propres données `custom` avec chaque recherche — elles sont renvoyées telles quelles dans le résultat.
  </Card>
</CardGroup>

<Card title="Webhooks" icon="bolt" href="/fr/how-webhooks-work">
  Obtenez des résultats en temps réel. Pas de polling, pas d'appels API gaspillés.
</Card>

## FAQ

<AccordionGroup>
  <Accordion title="Comment authentifier les requêtes API ?">
    Chaque requête doit inclure votre clé API dans l'en-tête `x-api-key` — il n'y a ni flux OAuth ni jetons bearer. Voir [Authentification](/fr/authentication) pour la configuration et des exemples.
  </Accordion>

  <Accordion title="Pourquoi les réponses sont-elles asynchrones ?">
    Une requête POST démarre une recherche et renvoie immédiatement un `id` unique. L'`email`, le `phone` ou la `qualification` est livré ultérieurement via un [webhook](/fr/how-webhooks-work) ou en interrogeant l'endpoint GET correspondant avec cet `id`.
  </Accordion>

  <Accordion title="Combien de recherches puis-je lancer dans une seule requête par lots ?">
    Les requêtes par lots d'e-mails et de vérification d'e-mails acceptent jusqu'à 5 000 recherches, et les requêtes par lots de téléphones jusqu'à 3 000. Pour les requêtes unitaires, la taille du lot est de 1.
  </Accordion>

  <Accordion title="Comment les crédits sont-ils consommés ?">
    Les crédits sont déduits par recherche et le montant est renvoyé dans `credits_used`. Voir [Crédits et facturation](/fr/credits-billing) pour les coûts par endpoint et [Limites de débit](/fr/rate-limits) avant de passer à l'échelle.
  </Accordion>
</AccordionGroup>

## Étapes suivantes

<CardGroup cols={2}>
  <Card title="Authentification" icon="key" href="/fr/authentication">
    Configurez votre clé API dans l'en-tête x-api-key
  </Card>

  <Card title="Comment fonctionnent les webhooks" icon="bolt" href="/fr/how-webhooks-work">
    Obtenez des résultats en temps réel, sans polling
  </Card>

  <Card title="Crédits et facturation" icon="coins" href="/fr/credits-billing">
    Comprenez comment les crédits sont consommés par endpoint
  </Card>

  <Card title="Gestion des erreurs" icon="circle-info" href="/fr/error-handling">
    Codes de statut, qualifications et formats d'erreur
  </Card>
</CardGroup>
