# Extraire un prénom et une indication de genre d’une adresse e-mail

> Extrayez le prénom candidat d’une adresse e-mail et ajoutez l’estimation et ses champs de source à votre flux Excel, Google Sheets ou API, sans remplacer les données fournies par la personne.

Canonical HTML: https://www.genderapi.io/fr/blog/extraction-de-noms-a-partir-d-adresses-email

Last reviewed: 2026-09-28

## Informations de publication

Première publication : 2025-06-14T12:00:00.000Z

Dernière révision : 2026-09-28T00:00:00.000Z

## GenderAPI peut-il extraire un prénom d’un e-mail ?

Oui. Pour les adresses personnelles compatibles, il peut extraire un prénom candidat de la partie située avant @ et renvoyer pour ce candidat des indications de genre, un contexte pays et une confiance. Il s’agit d’une inférence, pas d’une vérification d’identité, et les adresses génériques ou aléatoires peuvent rester sans résultat.

- [Démo V2 en direct et ses options](https://www.genderapi.io/fr/blog/extraction-de-noms-a-partir-d-adresses-email#essai)

## Analysez une adresse e-mail

Envoyez une valeur et examinez la réponse complète, y compris les résultats inconnus et les crédits consommés.

IA systématique (par défaut) : 2 crédits, unknown compris. Repli : 1 crédit, repli IA et résultats unknown compris. Désactivé, jeu de données uniquement (sans IA) : 1 crédit par requête aboutie, unknown compris. Avec l’analyse des pseudonymes activée : 1 crédit si le jeu de données résout la requête, ou 2 au total si l’IA est utilisée, unknown compris.

La valeur envoyée (adresse e-mail complète) est transmise à GenderAPI.io, puis au service d’IA configuré en mode IA systématique (par défaut) ou si un repli est nécessaire, mais pas en mode Désactivé. [Détails du traitement des données](https://www.genderapi.io/fr/data-provenance).

Cette réponse réelle a été obtenue le 1er octobre 2026 ; seul le solde du compte a été remplacé. Les valeurs en direct peuvent différer. Une estimation n’est pas une identité vérifiée.

**Réponse V2 réelle ; obtenue le 1er octobre 2026**

```json
{
  "data": {
    "input": {
      "type": "email",
      "value": "thomas.martin@example.com",
      "country": null
    },
    "name": "thomas",
    "gender": "male",
    "country": null,
    "confidence": 0.98,
    "confidence_kind": "model_reported",
    "sample_count": null,
    "source": "ai",
    "result_status": "identified",
    "reason": null,
    "country_source": null,
    "match": {
      "name": null,
      "method": "model_inference",
      "scope": null,
      "country": null
    }
  },
  "meta": {
    "request_id": "18b95e65-d2c9-48cc-8f5f-e0f638aa248e",
    "duration_ms": 381,
    "access": {
      "mode": "api_key",
      "reason": null
    },
    "usage": {
      "charged_credits": 2,
      "remaining_credits": 49999,
      "billing_status": "confirmed",
      "resets_at": null,
      "limit": null,
      "period_seconds": null
    }
  }
}
```

- [créez un compte](https://app.genderapi.io/user/register)

## De l’e-mail aux données structurées

- Entrée: emilyblack@email.com
- Extraction: Emily
- Enrichissement: Genre + confiance

## Choisissez où traiter vos données e-mail

- [Microsoft Excel Installer le complément →](https://appsource.microsoft.com/en-us/product/office/WA200008555)
- [Google Sheets Ouvrir Marketplace →](https://workspace.google.com/marketplace/app/gender_api_determines_gender_of_name_or/712811575775)
- [Shopify Voir l’application →](https://apps.shopify.com/gender-api)
- [Excel / CSV par lot Ouvrir l’outil →](https://app.genderapi.io/csv)
- [Airtable Voir l’extension →](https://airtable.com/marketplace/blkqCasjQIqmmBrmb/gender-api-io-determine-gender)
- [REST API Consulter l’endpoint →](https://www.genderapi.io/fr/docs/v2/gender-from-email)

## Traitez des colonnes d’adresses avec le complément Excel

Sélectionnez la méthode e-mail, puis associez la colonne source et les champs de sortie. Utilisez GENDER.FROM_EMAIL pour des requêtes dynamiques dans les cellules ou le panneau latéral pour des résultats permanents.

- [Voir le tutoriel Excel](https://youtu.be/6j4w-3oMZnA)
- [Complément GenderAPI pour Excel](https://www.genderapi.io/fr/blog/genderize-excel-names-using-genderapi-excel-add-in)
- [Formules GENDER pour Excel](https://www.genderapi.io/fr/blog/formule-gender-pour-microsoft-excel)

## Analysez des e-mails avec le module complémentaire ou une formule

Utilisez le module complémentaire pour les lignes existantes, le flux compatible pour les nouvelles lignes ou la formule GENDER pour des requêtes par cellule.

- [Guide du module complémentaire](https://www.genderapi.io/fr/blog/comment-determiner-le-genre-dans-google-sheets-en-utilisant-gender-api-add-on)
- [Formule GENDER dans Google Sheets](https://www.genderapi.io/fr/blog/formule-genre-google-sheets-detection-genre-noms)

## Ajoutez l’analyse d’e-mails depuis votre backend

Appelez l’endpoint e-mail authentifié depuis le serveur, sans exposer la clé API dans le navigateur ni dans du code public. Gérez explicitement le schéma de réponse, les codes d’erreur et la consommation de crédits.

Capture de la sortie d’une ancienne intégration ; elle ne représente pas le contrat de réponse V2 actuel.

- [Requête e-mail individuelle](https://www.genderapi.io/fr/docs/v2/gender-from-email)
- [Requête pour plusieurs e-mails](https://www.genderapi.io/fr/docs/v2/batch)

## Ne forcez pas un résultat lorsque l’adresse ne contient pas de prénom

Les adresses fonctionnelles, les identifiants aléatoires et les boîtes partagées peuvent ne fournir aucun signal fiable. Conservez data.result_status, data.reason et data.confidence, et traitez séparément les résultats incertains.

Une correspondance dans l’e-mail ne vérifie ni l’identité ni le nom du titulaire. Mesurez la qualité sur votre propre jeu de données et ne fondez aucune décision individuelle à fort impact sur cette seule estimation.

## Stockez séparément les données d’origine et l’estimation

Conservez l’identifiant d’origine de la fiche. L’API n’ouvre aucun profil, ne vérifie pas la titularité d’un compte et ne vérifie l’identité de personne. N’envoyez un contexte pays que si vous disposez d’une information fiable ; ne le déduisez ni du domaine ni de la langue de la page.

La recherche dans le jeu de données traite la partie située avant @, supprime le suffixe commençant par + et évalue des prénoms candidats. La requête standard peut aussi ajouter un nombre limité de candidats par préfixe et suffixe dans les parties accolées. Si plusieurs enregistrements correspondent, celui dont l’effectif enregistré est le plus élevé est retenu ; ce candidat n’est pas forcément le vrai prénom de la personne. Si vous envoyez un pays, l’enregistrement de ce pays est privilégié pour chaque candidat et, à défaut, l’enregistrement global peut être utilisé. Vérifiez data.match.scope et country_source.

| Fiche | Champ | Comment l’interpréter |
| --- | --- | --- |
| Fiche d’origine | contact_id / original_email | Conservez les données d’origine dans votre application et ne remplacez pas le prénom fourni par la personne par une estimation. Ce ne sont pas des champs de la réponse de l’API. |
| Prénom candidat | data.name / data.match | Le prénom retenu peut être null. Il n’existe aucun champ de nom de famille vérifié et la correspondance ne prouve pas l’identité du titulaire de la boîte. |
| Estimation | data.gender / data.result_status / data.reason | Conservez un résultat inconnu sous forme de null JSON natif. Un enregistrement du jeu de données à égalité peut comporter un prénom candidat sans genre. |
| Éléments de preuve | data.source / data.confidence_kind / data.confidence / data.sample_count | confidence va de 0 à 1. La fréquence du jeu de données et le score de l’IA ne sont pas la même mesure ; avec l’IA, sample_count vaut null. |
| Journal de l’opération | meta.request_id / meta.usage | Conservez la référence et l’état de facturation ; une réponse perdue ne signifie pas que l’opération a été gratuite ou a échoué. |

### Choisissez le mode de traitement et son coût en crédits

Pour une requête individuelle, la valeur par défaut est fallback ; pour les éléments d’un lot, c’est off. forceToGenderize est facultatif pour les noms, les adresses e-mail et les noms d’utilisateur ; dans ce cas, omettez ai_mode ou utilisez fallback, car l’option est incompatible avec off et always. Les résultats unknown aboutis sont également facturés. Un solde de départ positif suffit pour commencer ; à la fin de l’opération, le solde peut passer sous zéro.

Si l’IA intervient, elle reçoit l’adresse complète envoyée, y compris le domaine et le suffixe +, même s’il lui est demandé d’ignorer ces parties. forceToGenderize peut renvoyer une association de genre sans trouver de prénom réel ; cela ne signifie pas qu’un prénom vérifié a été extrait pour votre CRM.

| Option | Traitement | Coût par élément abouti |
| --- | --- | --- |
| options.ai_mode: off | Jeu de données uniquement | 1 crédit |
| options.ai_mode: fallback | D’abord le jeu de données, puis l’IA standard si aucun genre n’est trouvé | 1 crédit au total, IA comprise |
| options.ai_mode: always | Directement l’IA | 2 crédits |
| forceToGenderize: true | D’abord le jeu de données, puis interprétation du pseudonyme sans exiger de prénom réel | 1 si le jeu de données suffit ; 2 au total si l’IA est utilisée |

### Examinez d’abord une requête e-mail avec le jeu de données uniquement

Les entrées d’exemple ne garantissent aucune estimation particulière. Définissez GENDERAPI_API_KEY dans l’environnement du serveur et n’incluez pas la clé dans du code client public. V1 et V2 partagent la même clé de compte et le même solde. Vérifiez la clé avec /api/v2/usage et assurez-vous que meta.access.mode vaut api_key.

Choisissez un langage de programmation. [Configurez votre clé API](https://www.genderapi.io/fr/docs/v2/authentication#environment-setup), puis exécutez l'exemple sur votre serveur.

Chaque requête de prédiction est une nouvelle opération facturable, y compris les nouvelles tentatives. Ces exemples ne réessaient pas automatiquement. Vérifiez le statut de facturation avant d'envoyer une autre requête.

### Avant l'exécution : accès et gestion des erreurs

Exécutez ces exemples sur votre serveur. Définissez GENDERAPI_API_KEY dans l'environnement du processus avec votre clé API existante. Vérifiez que meta.access.mode vaut api_key : une clé non reconnue peut basculer vers l'essai par IP.

Pour les réponses JSON HTTP 4xx et 5xx, les exemples conservent le corps de l'erreur et renvoient un code de sortie non nul. Vérifiez code, action et meta.usage.billing_status avant de réessayer.

**cURL**

cURL 7.76+ dans un shell POSIX. À exécuter dans votre terminal. [Documentation de l'environnement d'exécution](https://curl.se/docs/manpage.html)

```bash
curl --silent --show-error --fail-with-body --max-time 30 \
  --request POST 'https://api.genderapi.io/api/v2/gender' \
  --header "Authorization: Bearer ${GENDERAPI_API_KEY:?Set GENDERAPI_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "email",
  "value": "alice.smith@example.com",
  "options": {
    "ai_mode": "off"
  }
}'
```

**JavaScript / Node.js**

Node.js 22+ ; fetch intégré. Enregistrez sous example.mjs et exécutez node example.mjs. [Documentation de l'environnement d'exécution](https://nodejs.org/api/globals.html#fetch)

```javascript
// Server-side Node.js. Save as example.mjs.
const apiKey = process.env.GENDERAPI_API_KEY;
if (!apiKey) throw new Error("Set GENDERAPI_API_KEY");
const body = {
  "type": "email",
  "value": "alice.smith@example.com",
  "options": {
    "ai_mode": "off"
  }
};

const response = await fetch("https://api.genderapi.io/api/v2/gender", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
  redirect: "error",
});
const raw = await response.text();
if (!(response.headers.get("content-type") ?? "").includes("json")) {
  throw new Error(`HTTP ${response.status}: expected JSON; request ID ${response.headers.get("x-request-id")}`);
}
const result = JSON.parse(raw); // Also accepts application/problem+json.
if (!response.ok) {
  console.error(`HTTP ${response.status}`, result);
  process.exitCode = 1; // A retry is a new operation; inspect billing first.
} else {
  console.log(JSON.stringify(result, null, 2));
  // For batches, inspect every item: HTTP 200 may contain item errors.
}
```

**Python**

Python 3.10+ ; bibliothèque standard. Enregistrez sous example.py et exécutez python3 example.py. [Documentation de l'environnement d'exécution](https://docs.python.org/3/library/urllib.request.html)

```python
import json
import os
import sys
import urllib.error
import urllib.request

api_key = os.environ.get("GENDERAPI_API_KEY")
if not api_key:
    raise RuntimeError("Set GENDERAPI_API_KEY")
body = json.loads("{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}")

class NoRedirect(urllib.request.HTTPRedirectHandler):
    def redirect_request(self, req, fp, code, msg, headers, newurl):
        return None

request = urllib.request.Request(
    "https://api.genderapi.io/api/v2/gender",
    method="POST",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + api_key,
        "Content-Type": "application/json",
    },
)
opener = urllib.request.build_opener(NoRedirect())
try:
    response = opener.open(request, timeout=30)
except urllib.error.HTTPError as error:
    response = error  # Keep the Problem Details body on non-2xx responses.
with response:
    status = response.status
    raw = response.read().decode("utf-8")
    if "json" not in response.headers.get("Content-Type", ""):
        raise RuntimeError(f"HTTP {status}: expected a JSON response")
    result = json.loads(raw)
print(json.dumps(result, indent=2), file=sys.stderr if status >= 300 else sys.stdout)
if not 200 <= status < 300:
    sys.exit(1)  # Inspect code, action and billing before retrying.
# For batches, inspect every item even when HTTP status is 200.
```

**PHP**

PHP 8+ avec l'extension cURL. Enregistrez sous example.php et exécutez php example.php. [Documentation de l'environnement d'exécution](https://www.php.net/manual/en/book.curl.php)

```php
<?php
$apiKey = getenv('GENDERAPI_API_KEY');
if (!$apiKey) {
    throw new RuntimeException('Set GENDERAPI_API_KEY');
}
$body = json_decode('{"type":"email","value":"alice.smith@example.com","options":{"ai_mode":"off"}}', true, 512, JSON_THROW_ON_ERROR);

$ch = curl_init('https://api.genderapi.io/api/v2/gender');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($body, JSON_THROW_ON_ERROR),
]);
$raw = curl_exec($ch);
if ($raw === false) {
    throw new RuntimeException(curl_error($ch));
}
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE) ?: '';
curl_close($ch);
if (strpos($contentType, 'json') === false) {
    throw new RuntimeException("HTTP $status: expected a JSON response");
}
$result = json_decode($raw, true, 512, JSON_THROW_ON_ERROR);
$output = json_encode($result, JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR) . PHP_EOL;
if ($status < 200 || $status >= 300) {
    fwrite(STDERR, $output); // Preserve the Problem Details body.
    exit(1);
}
echo $output;
// For batches, inspect every item; HTTP 200 can contain item errors.
```

**Java**

Java 17+ ; client HTTP standard. Enregistrez sous GenderApiExample.java et exécutez java GenderApiExample.java. [Documentation de l'environnement d'exécution](https://docs.oracle.com/en/java/javase/17/docs/api/java.net.http/java/net/http/HttpClient.html)

```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;

public class GenderApiExample {
    private static String requiredEnv(String name) {
        String value = System.getenv(name);
        if (value == null || value.isBlank()) throw new IllegalStateException("Set " + name);
        return value;
    }

    public static void main(String[] args) throws Exception {
        String apiKey = requiredEnv("GENDERAPI_API_KEY");
        String body = "{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}";
        HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10))
            .followRedirects(HttpClient.Redirect.NEVER)
            .build();
        HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.genderapi.io/api/v2/gender"))
            .timeout(Duration.ofSeconds(30))
            .header("Authorization", "Bearer " + apiKey)
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(body, StandardCharsets.UTF_8))
            .build();
        HttpResponse<String> response = client.send(request,
            HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8));
        if (!response.headers().firstValue("content-type").orElse("").contains("json")) {
            throw new IllegalStateException("HTTP " + response.statusCode() + ": expected JSON");
        }
        // JSON text; parse with your application's JSON library when integrating.
        if (response.statusCode() < 200 || response.statusCode() >= 300) {
            System.err.println(response.body()); // Includes Problem Details.
            System.exit(1);
        }
        System.out.println(response.body());
        // For batches, inspect each item's data or error, including on HTTP 200.
    }
}
```

**C# / .NET**

Application console .NET 8+. Utilisez-le comme Program.cs dans un projet console, puis exécutez dotnet run. [Documentation de l'environnement d'exécution](https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient)

```csharp
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;

string RequiredEnv(string name) =>
    !string.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable(name))
        ? Environment.GetEnvironmentVariable(name)!
        : throw new InvalidOperationException($"Set {name}");

var apiKey = RequiredEnv("GENDERAPI_API_KEY");
using var handler = new HttpClientHandler { AllowAutoRedirect = false };
using var client = new HttpClient(handler) { Timeout = TimeSpan.FromSeconds(30) };
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.genderapi.io/api/v2/gender");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
request.Content = new StringContent("{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}", Encoding.UTF8, "application/json");

using var response = await client.SendAsync(request);
var raw = await response.Content.ReadAsStringAsync();
if (!(response.Content.Headers.ContentType?.MediaType?.Contains("json") ?? false))
    throw new InvalidOperationException($"HTTP {(int)response.StatusCode}: expected JSON");
using var result = JsonDocument.Parse(raw);
if (!response.IsSuccessStatusCode)
{
    Console.Error.WriteLine(result.RootElement); // Preserve Problem Details.
    Environment.ExitCode = 1;
}
else
{
    Console.WriteLine(result.RootElement);
    // For batches, inspect every item even on HTTP 200.
}
```

**Go**

Go 1.22+ ; bibliothèque standard. Enregistrez sous main.go et exécutez go run main.go. [Documentation de l'environnement d'exécution](https://pkg.go.dev/net/http)

```go
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
    "strings"
    "time"
)

func requiredEnv(name string) string {
    value := os.Getenv(name)
    if value == "" { panic("Set " + name) }
    return value
}

func run() error {
    apiKey := requiredEnv("GENDERAPI_API_KEY")
    body := "{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}"
    request, err := http.NewRequest("POST", "https://api.genderapi.io/api/v2/gender", strings.NewReader(body))
    if err != nil { return err }
    request.Header.Set("Authorization", "Bearer " + apiKey)
    request.Header.Set("Content-Type", "application/json")
    client := &http.Client{
        Timeout: 30 * time.Second,
        CheckRedirect: func(req *http.Request, via []*http.Request) error {
            return http.ErrUseLastResponse
        },
    }
    response, err := client.Do(request)
    if err != nil { return err }
    defer response.Body.Close()
    raw, err := io.ReadAll(response.Body)
    if err != nil { return err }
    if !strings.Contains(response.Header.Get("Content-Type"), "json") || !json.Valid(raw) {
        return fmt.Errorf("HTTP %d: expected a JSON response", response.StatusCode)
    }
    if response.StatusCode < 200 || response.StatusCode >= 300 {
        return fmt.Errorf("HTTP %d: %s", response.StatusCode, raw)
    }
    fmt.Println(string(raw))
    // For batches, inspect every item even on HTTP 200.
    return nil
}

func main() {
    if err := run(); err != nil {
        fmt.Fprintln(os.Stderr, err) // Keep Problem Details for error handling.
        os.Exit(1)
    }
}
```

- [Guide des erreurs et des nouvelles tentatives →](https://www.genderapi.io/fr/docs/v2/errors-and-retries)

### Gérez les résultats de la liste et les nouvelles tentatives

POST /api/v2/gender/batch accepte jusqu’à 50 éléments avec une clé API et 10 avec l’essai partagé par IP. Attribuez à chaque élément ses propres type, value et options. Si vous souhaitez le repli IA standard, indiquez explicitement fallback pour chaque élément. L’id doit être unique dans chaque lot ; index commence à zéro dans le lot envoyé. Conservez à part vos propres identifiants de tâche et de ligne d’origine.

Un HTTP 200 ne signifie pas que tous les éléments ont abouti. Traitez séparément les résultats identified, unknown et error ; meta.summary.succeeded compte à la fois identified et unknown. Évaluez ensemble data.gender, source, confidence_kind, confidence, match et reason. Ne considérez pas le score de l’IA et la fréquence du jeu de données comme équivalents.

Si meta.usage.billing_status est confirmé, renvoyez uniquement les erreurs opérationnelles qui autorisent une nouvelle tentative. Si l’état est unconfirmed ou si la réponse est perdue, arrêtez-vous et rapprochez la facturation. Renvoyer la même fiche, y compris un unknown abouti, crée une nouvelle opération facturable ; ne renvoyez jamais toute la liste à l’aveugle.

[Contrat des requêtes par lot](https://www.genderapi.io/fr/docs/v2/batch) · [Champs de la réponse](https://www.genderapi.io/fr/docs/v2/responses) · [Options d’IA](https://www.genderapi.io/fr/docs/v2/ai-options) · [Évaluation de la précision et de la confiance](https://www.genderapi.io/fr/accuracy-methodology) · [Politique de confidentialité](https://www.genderapi.io/fr/privacy-policy)

Les compléments Excel et Google Sheets et les autres intégrations prêtes à l’emploi peuvent utiliser leur propre connexion et leur propre format de sortie. Ne supposez pas que leur résultat suit ce schéma JSON V2 ; consultez le guide à jour de chaque intégration.

## Extraire un prénom et un genre d’un e-mail

### Peut-on extraire un prénom d’une adresse e-mail ?

GenderAPI peut extraire un prénom candidat de la partie située avant @ dans les adresses personnelles compatibles et renvoyer, lorsqu’ils existent, des indications de genre, de pays et de confiance. Ce candidat est une inférence, pas le nom vérifié du titulaire de la boîte.

### Obtient-on un prénom à partir de n’importe quelle adresse ?

Non. Les adresses fonctionnelles, les identifiants aléatoires et les parties locales sans vrai prénom peuvent ne fournir aucun signal fiable. Dans la réponse V2, vérifiez data.result_status, data.reason, data.confidence et data.confidence_kind.

### Les requêtes par e-mail sont-elles conservées ?

Selon la politique publiée, les requêtes par e-mail ne sont pas conservées comme enregistrements de requêtes réutilisables. Les journaux techniques et de sécurité distincts suivent les durées indiquées dans la politique de confidentialité. N’utilisez pas de données personnelles sensibles dans la démo publique.

### Puis-je l’utiliser dans Excel et Google Sheets ?

Oui. Vous pouvez traiter des colonnes d’adresses avec le complément Excel, le module complémentaire Google Sheets ou l’outil d’import de fichiers Excel et CSV. Ces intégrations ont leur propre format de sortie, différent du JSON V2.

### Quels champs l’API renvoie-t-elle ?

V2 renvoie data.name, data.gender, data.match ainsi que les champs de source et de confiance, et dans meta la référence de l’opération et la consommation de crédits. Le prénom candidat ou le genre peuvent valoir null. Il n’existe aucun champ de nom de famille vérifié.

### Quand l’IA intervient-elle ?

Pour une requête individuelle V2, le repli IA standard est activé par défaut. Dans cette démo, vous pouvez utiliser la requête standard ou forceToGenderize ; off et always se configurent dans la requête à l’API. Le repli standard coûte 1 crédit au total et always, 2. Avec forceToGenderize, 1 crédit est facturé si le jeu de données résout la requête, ou 2 au total si l’IA est utilisée ; le résultat peut rester unknown.

### Puis-je tester gratuitement ?

Les comptes incluent 200 crédits gratuits par jour et l’essai partagé par IP, 10 crédits par jour. Une clé absente ou non reconnue peut basculer vers l’essai par IP ; vérifiez le champ meta.access.mode de la réponse. Il s’agit de crédits, pas d’un nombre de requêtes.
