# Vornamen und Geschlechtssignal aus einer E-Mail-Adresse extrahieren

> Extrahieren Sie einen Namenskandidaten aus einer E-Mail-Adresse und ergänzen Sie Ihren Ablauf in Excel, Google Sheets oder der API um die Vorhersage und ihre Quellfelder, ohne die von der Person selbst angegebenen Daten zu ersetzen.

Canonical HTML: https://www.genderapi.io/de/blog/namen-aus-e-mail-adressen-extrahieren

Last reviewed: 2026-09-28

## Angaben zur Veröffentlichung

Erstveröffentlichung: 2025-06-14T12:00:00.000Z

Zuletzt geprüft: 2026-09-28T00:00:00.000Z

## Kann GenderAPI einen Vornamen aus einer E-Mail-Adresse extrahieren?

Ja. Bei unterstützten persönlichen Adressen kann GenderAPI aus dem Teil vor dem @ einen Namenskandidaten extrahieren und dazu ein Geschlechtssignal, Länderkontext und Konfidenz zurückgeben. Das ist eine Ableitung, keine Identitätsprüfung, und allgemeine oder zufällige Adressen können ohne Ergebnis bleiben.

- [Live-V2-Demo und ihre Optionen](https://www.genderapi.io/de/blog/namen-aus-e-mail-adressen-extrahieren#demo)

## E-Mail-Adresse analysieren

Senden Sie einen Wert und prüfen Sie die vollständige Antwort, einschließlich unbekannter Ergebnisse und verbrauchter Credits.

Immer KI (Standard): 2 Credits, auch bei einem unbekannten Ergebnis. Fallback: 1 Credit, einschließlich KI-Fallback und unbekannter Ergebnisse. Aus, nur Datensatz (ohne KI): 1 Credit pro abgeschlossener Anfrage, auch bei einem unbekannten Ergebnis. Mit Spitznamen-Auswertung: 1 Credit, wenn der Datensatz das Ergebnis liefert, oder insgesamt 2, wenn KI eingesetzt wird, auch bei einem unbekannten Ergebnis.

Der gesendete Wert (die vollständige E-Mail-Adresse) geht an GenderAPI.io und wird im Modus Immer KI (Standard) oder bei nötigem KI-Fallback an den konfigurierten KI-Dienst weitergegeben, im Modus Aus jedoch nicht. [Details zur Datenverarbeitung](https://www.genderapi.io/de/data-provenance).

Diese echte Antwort wurde am 1. Oktober 2026 abgerufen; nur das Kontoguthaben wurde ersetzt. Live-Werte können abweichen. Eine Vorhersage ist keine bestätigte Identität.

**Echte V2-Antwort; abgerufen am 1. Oktober 2026**

```json
{
  "data": {
    "input": {
      "type": "email",
      "value": "katharina.schmidt@example.com",
      "country": null
    },
    "name": "katharina",
    "gender": "female",
    "country": null,
    "confidence": 0.9998,
    "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": "db3f9df9-1f30-4aea-9ccc-92a96a8a9427",
    "duration_ms": 1065,
    "access": {
      "mode": "api_key",
      "reason": null
    },
    "usage": {
      "charged_credits": 2,
      "remaining_credits": 49999,
      "billing_status": "confirmed",
      "resets_at": null,
      "limit": null,
      "period_seconds": null
    }
  }
}
```

- [erstellen Sie ein Konto](https://app.genderapi.io/user/register)

## Von der E-Mail-Adresse zu strukturierten Daten

- Eingabe: emilyblack@email.com
- Extraktion: Emily
- Anreicherung: Geschlecht + Konfidenz

## Wählen Sie, wo Sie E-Mail-Daten verarbeiten

- [Microsoft Excel Add-in installieren →](https://appsource.microsoft.com/en-us/product/office/WA200008555)
- [Google Sheets Marketplace öffnen →](https://workspace.google.com/marketplace/app/gender_api_determines_gender_of_name_or/712811575775)
- [Shopify App ansehen →](https://apps.shopify.com/gender-api)
- [Excel / CSV im Batch Werkzeug öffnen →](https://app.genderapi.io/csv)
- [Airtable Erweiterung ansehen →](https://airtable.com/marketplace/blkqCasjQIqmmBrmb/gender-api-io-determine-gender)
- [REST API Endpunkt ansehen →](https://www.genderapi.io/de/docs/v2/gender-from-email)

## Adressspalten mit dem Excel-Add-in verarbeiten

Wählen Sie die Methode für E-Mail-Adressen und ordnen Sie anschließend die Quellspalte und die Ergebnisfelder zu. Verwenden Sie GENDER.FROM_EMAIL für dynamische Abfragen in Zellen oder den Seitenbereich für dauerhafte Ergebnisse.

- [Excel-Videoanleitung ansehen](https://youtu.be/6j4w-3oMZnA)
- [GenderAPI-Add-in für Excel](https://www.genderapi.io/de/blog/genderize-excel-names-using-genderapi-excel-add-in)
- [GENDER-Formeln in Excel](https://www.genderapi.io/de/blog/gender-formel-fur-microsoft-excel)

## E-Mail-Adressen mit dem Add-on oder einer Formel analysieren

Verwenden Sie das Add-on für vorhandene Zeilen, einen unterstützten Ablauf für neue Zeilen oder die Formel GENDER für Abfragen in einzelnen Zellen.

- [Ratgeber zum Add-on](https://www.genderapi.io/de/blog/wie-bestimmt-man-das-geschlecht-in-google-sheets-mit-gender-api-add-on)
- [GENDER-Formel in Google Sheets](https://www.genderapi.io/de/blog/geschlechtsformel-google-sheets-geschlecht-anhand-von-namen-bestimmen)

## E-Mail-Analyse in Ihr Backend einbauen

Rufen Sie den authentifizierten Endpunkt für E-Mail-Adressen vom Server aus auf, ohne den API-Schlüssel im Browser oder in öffentlichem Code offenzulegen. Behandeln Sie Antwortschema, Fehlercodes und Verbrauch an Credits ausdrücklich.

Screenshot der Ergebnisse einer älteren Integration; er zeigt nicht den aktuellen V2-Antwortvertrag.

- [Einzelanfrage für eine E-Mail-Adresse](https://www.genderapi.io/de/docs/v2/gender-from-email)
- [Anfrage für mehrere E-Mail-Adressen](https://www.genderapi.io/de/docs/v2/batch)

## Kein Ergebnis erzwingen, wenn die Adresse keinen Vornamen enthält

Funktionsadressen, zufällige Kennungen und gemeinsam genutzte Postfächer liefern möglicherweise kein verlässliches Signal. Bewahren Sie data.result_status, data.reason und data.confidence auf und behandeln Sie unsichere Ergebnisse gesondert.

Ein Treffer in einer E-Mail-Adresse bestätigt weder die Identität noch den Vornamen der Person, der das Postfach gehört. Messen Sie die Qualität mit Ihrem eigenen Datenbestand und stützen Sie keine Entscheidung mit großer Tragweite für eine bestimmte Person allein auf diese Vorhersage.

## Quelldaten und Vorhersage getrennt speichern

Bewahren Sie die ursprüngliche Kennung des Datensatzes auf. Die API öffnet kein Profil, prüft nicht, wem ein Konto gehört, und bestätigt keine Identität. Senden Sie einen Länderkontext nur, wenn Sie eine verlässliche Angabe haben; leiten Sie ihn nicht aus der Domain oder der Sprache der Website ab.

Die Suche im Datensatz analysiert den Teil vor dem @, entfernt einen mit + beginnenden Zusatz und bewertet Namenskandidaten. Eine Standardanfrage kann in zusammengesetzten Teilen außerdem eine begrenzte Anzahl von Kandidaten nach Präfix und Suffix ergänzen. Passen mehrere Einträge, wird der mit der höchsten erfassten Anzahl gewählt; dieser Kandidat muss nicht der echte Vorname der Person sein. Wenn Sie ein Land senden, wird für jeden Kandidaten der Eintrag dieses Landes bevorzugt; fehlt er, kann ein globaler Eintrag verwendet werden. Prüfen Sie data.match.scope und country_source.

| Datensatz | Feld | Interpretation |
| --- | --- | --- |
| Quelldatensatz | contact_id / original_email | Bewahren Sie die Quelldaten in Ihrer eigenen Anwendung auf und ersetzen Sie einen von der Person angegebenen Vornamen nicht durch die Vorhersage. Dies sind keine Felder der API-Antwort. |
| Namenskandidat | data.name / data.match | Der gewählte Name kann null sein. Es gibt kein Feld mit einem verifizierten Nachnamen, und ein Treffer beweist nicht die Identität der Person, der das Postfach gehört. |
| Vorhersage | data.gender / data.result_status / data.reason | Speichern Sie ein unbekanntes Ergebnis als natives JSON-null. Ein Datensatzeintrag mit Gleichstand kann einen Namenskandidaten ohne Geschlecht enthalten. |
| Belege | data.source / data.confidence_kind / data.confidence / data.sample_count | confidence liegt zwischen 0 und 1. Häufigkeit im Datensatz und KI-Wert sind unterschiedliche Maße; bei KI ist sample_count null. |
| Vorgangsprotokoll | meta.request_id / meta.usage | Bewahren Sie die ID und den Abrechnungsstatus auf; eine verlorene Antwort bedeutet weder, dass der Vorgang kostenlos war, noch dass er fehlgeschlagen ist. |

### Verarbeitungsmodus und Kosten in Credits wählen

Bei einer Einzelanfrage ist fallback der Standardwert, bei Batch-Einträgen off. forceToGenderize ist für Namen, E-Mail-Adressen und Benutzernamen optional; lassen Sie in diesem Fall ai_mode weg oder verwenden Sie fallback, denn diese Option ist nicht mit off und always kombinierbar. Auch erfolgreiche unknown-Ergebnisse werden berechnet. Für den Start genügt ein positives Anfangsguthaben; nach Abschluss des Vorgangs kann das Guthaben unter null fallen.

Wird KI eingesetzt, erhält sie die gesamte gesendete Adresse, einschließlich Domain und +-Zusatz, auch wenn sie angewiesen wird, diese Teile zu ignorieren. forceToGenderize kann eine Zuordnung zu einem Geschlecht liefern, ohne einen echten Vornamen zu finden; das bedeutet nicht, dass ein verifizierter Vorname für Ihr CRM extrahiert wurde.

| Option | Verarbeitung | Kosten pro erfolgreichem Eintrag |
| --- | --- | --- |
| options.ai_mode: off | Nur Datensatz | 1 Credit |
| options.ai_mode: fallback | Zuerst der Datensatz; wird kein Geschlecht ermittelt, die Standard-KI | Insgesamt 1 Credit, einschließlich KI |
| options.ai_mode: always | Direkt KI | 2 Credits |
| forceToGenderize: true | Zuerst der Datensatz, danach die Auswertung des Spitznamens ohne Voraussetzung eines echten Vornamens | 1, wenn der Datensatz genügt; insgesamt 2, wenn KI eingesetzt wird |

### Zuerst eine E-Mail-Anfrage nur mit dem Datensatz prüfen

Die Beispieleingaben garantieren keine bestimmte Vorhersage. Setzen Sie GENDERAPI_API_KEY in der Serverumgebung und legen Sie den Schlüssel nicht in öffentlichem clientseitigem Code ab. V1 und V2 verwenden denselben Kontoschlüssel und dasselbe Guthaben. Prüfen Sie den Schlüssel mit /api/v2/usage und stellen Sie sicher, dass meta.access.mode den Wert api_key hat.

Wählen Sie eine Programmiersprache. [Richten Sie Ihren API-Schlüssel ein](https://www.genderapi.io/de/docs/v2/authentication#environment-setup), und führen Sie dann das Beispiel auf Ihrem Server aus.

Jede Vorhersageanfrage ist ein neuer kostenpflichtiger Vorgang, auch bei Wiederholungen. Diese Beispiele wiederholen Anfragen nicht automatisch. Prüfen Sie den Abrechnungsstatus, bevor Sie eine weitere Anfrage senden.

### Vor der Ausführung: Zugang und Fehlerbehandlung

Führen Sie diese Beispiele auf Ihrem Server aus. Setzen Sie GENDERAPI_API_KEY in der Prozessumgebung auf Ihren vorhandenen API-Schlüssel. Prüfen Sie, ob meta.access.mode den Wert api_key hat: Ein nicht erkannter Schlüssel kann in den IP-Testzugang wechseln.

Bei HTTP-4xx- und -5xx-Antworten im JSON-Format bleibt der Fehlerinhalt erhalten, und das Beispiel endet mit einem Exit-Status ungleich null. Prüfen Sie code, action und meta.usage.billing_status, bevor Sie die Anfrage wiederholen.

**cURL**

cURL 7.76+ in einer POSIX-Shell. Im Terminal ausführen. [Dokumentation der Laufzeitumgebung](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+; integriertes fetch. Als example.mjs speichern und node example.mjs ausführen. [Dokumentation der Laufzeitumgebung](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+; Standardbibliothek. Als example.py speichern und python3 example.py ausführen. [Dokumentation der Laufzeitumgebung](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+ mit der cURL-Erweiterung. Als example.php speichern und php example.php ausführen. [Dokumentation der Laufzeitumgebung](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+; Standard-HTTP-Client. Als GenderApiExample.java speichern und java GenderApiExample.java ausführen. [Dokumentation der Laufzeitumgebung](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**

Konsolenanwendung mit .NET 8+. Als Program.cs in einem Konsolenprojekt verwenden und dann dotnet run ausführen. [Dokumentation der Laufzeitumgebung](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+; Standardbibliothek. Als main.go speichern und go run main.go ausführen. [Dokumentation der Laufzeitumgebung](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)
    }
}
```

- [Anleitung zu Fehlern und Wiederholungen →](https://www.genderapi.io/de/docs/v2/errors-and-retries)

### Listenergebnisse und Wiederholungen verarbeiten

POST /api/v2/gender/batch nimmt bis zu 50 Einträge mit API-Schlüssel und 10 im IP-Testzugang an. Geben Sie jedem Eintrag eigene Werte für type, value und options. Wenn Sie den Standard-KI-Fallback nutzen möchten, setzen Sie fallback in jedem Eintrag ausdrücklich. id muss innerhalb des Batches eindeutig sein; index zählt ab null innerhalb des gesendeten Batches. Speichern Sie eigene Auftrags- und Quellzeilenkennungen getrennt.

HTTP 200 bedeutet nicht, dass alle Einträge erfolgreich waren. Verarbeiten Sie die Ergebnisse identified, unknown und error getrennt; meta.summary.succeeded zählt sowohl identified als auch unknown. Bewerten Sie data.gender, source, confidence_kind, confidence, match und reason gemeinsam. Behandeln Sie einen KI-Wert und eine Häufigkeit im Datensatz nicht als gleichwertig.

Hat meta.usage.billing_status den Wert confirmed, wiederholen Sie nur betriebliche Fehler, die eine Wiederholung zulassen. Lautet der Status unconfirmed oder ist die Antwort verloren gegangen, halten Sie an und gleichen Sie die Abrechnung ab. Das erneute Senden desselben Datensatzes, auch eines erfolgreichen unknown-Ergebnisses, erzeugt einen neuen kostenpflichtigen Vorgang; senden Sie niemals blind die gesamte Liste erneut.

[Vertrag für Batch-Anfragen](https://www.genderapi.io/de/docs/v2/batch) · [Antwortfelder](https://www.genderapi.io/de/docs/v2/responses) · [KI-Optionen](https://www.genderapi.io/de/docs/v2/ai-options) · [Genauigkeit und Konfidenz bewerten](https://www.genderapi.io/de/accuracy-methodology) · [Datenschutzerklärung](https://www.genderapi.io/de/privacy-policy)

Die Add-ons für Excel und Google Sheets sowie andere fertige Integrationen können eine eigene Verbindung und ein eigenes Ergebnisformat verwenden. Gehen Sie nicht davon aus, dass ihre Ausgabe diesem V2-JSON-Schema entspricht; prüfen Sie den aktuellen Leitfaden der jeweiligen Integration.

## Vorname und Geschlecht aus E-Mail-Adressen

### Kann man einen Vornamen aus einer E-Mail-Adresse extrahieren?

GenderAPI kann aus dem Teil vor dem @ unterstützter persönlicher Adressen einen Namenskandidaten extrahieren und, sofern verfügbar, Signale zu Geschlecht, Land und Konfidenz zurückgeben. Dieser Kandidat ist eine Ableitung und kein verifizierter Vorname der Person, der das Postfach gehört.

### Liefert jede Adresse einen Vornamen?

Nein. Funktionsadressen, zufällige Kennungen und lokale Teile ohne echten Vornamen liefern möglicherweise kein verlässliches Signal. Prüfen Sie in der V2-Antwort data.result_status, data.reason, data.confidence und data.confidence_kind.

### Werden E-Mail-Anfragen gespeichert?

Nach der veröffentlichten Richtlinie werden E-Mail-Anfragen nicht als wiederverwendbare Abfragedatensätze gespeichert. Für gesonderte technische und Sicherheitsprotokolle gelten die in der Datenschutzerklärung beschriebenen Fristen. Verwenden Sie in der öffentlichen Demo keine sensiblen personenbezogenen Daten.

### Kann ich diese Funktion in Excel und Google Sheets verwenden?

Ja. Spalten mit Adressen können Sie mit dem Excel-Add-in, dem Google-Sheets-Add-on oder dem Import-Werkzeug für Excel- und CSV-Dateien verarbeiten. Diese Integrationen haben ein eigenes Ergebnisformat, das sich vom V2-JSON unterscheidet.

### Welche Felder gibt die API zurück?

V2 gibt data.name, data.gender, data.match sowie Felder zu Quelle und Konfidenz zurück, in meta außerdem die Vorgangskennung und den Verbrauch an Credits. Namenskandidat oder Geschlecht können null sein. Ein Feld mit einem verifizierten Nachnamen gibt es nicht.

### Wann wird KI eingesetzt?

Bei einer V2-Einzelanfrage ist der Standard-KI-Fallback standardmäßig aktiviert. In dieser Demo können Sie eine Standardanfrage oder forceToGenderize verwenden; off und always legen Sie in der API-Anfrage fest. Der Standard-KI-Fallback kostet insgesamt 1 Credit, always 2. Bei forceToGenderize wird 1 Credit berechnet, wenn der Datensatz die Anfrage auflöst, oder insgesamt 2, wenn KI eingesetzt wird; das Ergebnis kann unknown bleiben.

### Kann ich den Dienst kostenlos testen?

Konten enthalten täglich 200 kostenlose Credits, der gemeinsame IP-Testzugang täglich 10 Credits. Ein fehlender oder nicht erkannter Schlüssel kann zum IP-Testzugang führen; prüfen Sie das Feld meta.access.mode in der Antwort. Es handelt sich um Credits, nicht um eine Anzahl von Anfragen.
