Vor dem Absenden der Anfrage
Senden Sie Vorhersageanfragen an GenderAPI.io V2 per POST https://api.genderapi.io/api/v2/gender, mit type und value im JSON-Body. Verwenden Sie Ihren vorhandenen GenderAPI.io-Schlüssel in Authorization: Bearer YOUR_API_KEY und Content-Type: application/json. Lesen Sie das Ergebnis aus data und die Angaben zu Zugang und Abrechnung aus meta. Jede Anfrage wird unabhängig verarbeitet.
Wählen Sie im Codebeispiel Ihre Programmiersprache. Setzen Sie GENDERAPI_API_KEY in der Prozessumgebung, bevor Sie es ausführen. Fehlende oder nicht erkannte Schlüssel können den gemeinsamen IP-Testzugang nutzen; prüfen Sie daher bei einer Kontointegration, ob meta.access.mode den Wert api_key hat.
Geschlecht aus einem Benutzernamen oder Spitznamen
| Parameter | Typ | Erforderlich | Standardwert | Beschreibung |
|---|---|---|---|---|
type | string | Ja | — | Eingabekategorie: name, email oder username. |
value | string | Ja | — | Erforderlich. 1–254 Zeichen; nicht leer und ohne Steuerzeichen. E-Mail-Werte müssen eine gültige E-Mail-Syntax haben. |
country | string | Nein | — | Optionaler ISO-3166-1-Alpha-2-Code in Großbuchstaben, zum Beispiel TR oder US. Eine länderspezifische Abfrage kann auf den globalen Datensatz zurückgreifen. |
forceToGenderize | boolean | Nein | false | Zuerst den Datensatz prüfen, bei fehlendem Ergebnis KI mit Spitznamen-Auswertung. Unterstützt für name, email und username. |
options | object | Nein | — | Objekt für die KI-Optionen der jeweiligen Eingabe. |
options.ai_mode | string | Nein | fallback | Erlaubte Werte: off, fallback, always. Bei forceToGenderize: true dieses Feld weglassen oder fallback verwenden. |
id | string | Nein | — | Optionale Kennung mit 1–64 Zeichen im POST-JSON. Wird neben dem jeweiligen Batch-Ergebnis zurückgegeben und muss innerhalb eines Batches eindeutig sein. Bei Einzelvorhersagen akzeptiert, aber nicht zurückgegeben. In GET-Queries nicht unterstützt. |
Senden Sie type: username und den Benutzernamen oder Spitznamen in value an POST https://api.genderapi.io/api/v2/gender. Setzen Sie forceToGenderize auf true, wenn eine Vorhersage anhand der Bedeutung eines Spitznamens wie prenses versucht werden soll, auch wenn sich kein echter Vorname extrahieren lässt. GenderAPI.io V2 prüft trotzdem zuerst den Datensatz. Eine Spitznamen-Vorhersage kann ein data.gender ungleich null mit data.name: null zurückgeben.
Wählen Sie eine Programmiersprache. Richten Sie Ihren API-Schlüssel ein, 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.
Anleitung zu Fehlern und Wiederholungen →cURL 7.76+ in einer POSIX-Shell. Im Terminal ausführen. Dokumentation der Laufzeitumgebung
Node.js 22+; integriertes fetch. Als example.mjs speichern und node example.mjs ausführen. Dokumentation der Laufzeitumgebung
Python 3.10+; Standardbibliothek. Als example.py speichern und python3 example.py ausführen. Dokumentation der Laufzeitumgebung
PHP 8+ mit der cURL-Erweiterung. Als example.php speichern und php example.php ausführen. Dokumentation der Laufzeitumgebung
Java 17+; Standard-HTTP-Client. Als GenderApiExample.java speichern und java GenderApiExample.java ausführen. Dokumentation der Laufzeitumgebung
Konsolenanwendung mit .NET 8+. Als Program.cs in einem Konsolenprojekt verwenden und dann dotnet run ausführen. Dokumentation der Laufzeitumgebung
Go 1.22+; Standardbibliothek. Als main.go speichern und go run main.go ausführen. Dokumentation der Laufzeitumgebung
Beispielantwort
Dies ist eine echte Antwort, die am 1. Oktober 2026 mit einem API-Schlüssel abgerufen wurde; nur das Kontoguthaben wurde ersetzt. Sie ist kein Maß für die Genauigkeit, und eine Live-Anfrage kann ein anderes Ergebnis liefern. Anfragen mit API-Schlüssel melden meta.access.mode: api_key und null in den Kontingentfeldern, die nur für den Testzugang gelten; Anfragen über den IP-Testzugang melden ip_trial. Lesen Sie data für die Vorhersage und meta.usage für das Abrechnungsergebnis des Vorgangs.
{
"data": {
"input": {
"type": "username",
"value": "prenses",
"country": "TR",
"forceToGenderize": true
},
"name": "prenses",
"gender": "female",
"country": "TR",
"confidence": 0.9456521739130435,
"confidence_kind": "observed_frequency",
"sample_count": 184,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "prenses",
"method": "normalized",
"scope": "country",
"country": "TR"
}
},
"meta": {
"request_id": "a799faa4-bc1a-4537-90b3-2c1b60205499",
"duration_ms": 15,
"access": {
"mode": "api_key",
"reason": null
},
"usage": {
"charged_credits": 1,
"remaining_credits": 49999,
"billing_status": "confirmed",
"resets_at": null,
"limit": null,
"period_seconds": null
}
}
}Felder der Vorhersageantwort
| Feld | Typ | Kann null sein | Beispiel | Beschreibung |
|---|---|---|---|---|
data.input | object | Nein | {"type":"name","value":"Anna","country":"DE"} | Eingabetyp, Wert und Land. forceToGenderize ist enthalten, wenn es true ist. |
data.name | string | Ja | "anna" | Gefundener oder extrahierter Vorname; null, wenn keiner verfügbar ist. |
data.gender | string | Ja | "male" | male, female oder JSON null. Eine Vorhersage, keine bestätigte persönliche Identität. |
data.result_status | string | Nein | "identified" | identified, wenn ein Geschlecht zurückgegeben wird; sonst unknown. |
data.reason | string | Ja | null | null bei identified. Gründe für unknown: not_found, no_name_candidate, ambiguous oder insufficient_evidence. |
data.confidence | number | Ja | 0.95 | Wert von 0–1 oder null. Ist gender null, ist auch die Konfidenz null. |
data.confidence_kind | string | Ja | "observed_frequency" | observed_frequency: dominante Anzahl im Datensatz geteilt durch die Gesamtzahl. model_reported: KI-Wert, keine kalibrierte Wahrscheinlichkeit. null, wenn nicht verfügbar. |
data.sample_count | integer | Ja | 1200 | Stichprobengröße im Datensatz oder null. KI erfindet keine Stichprobenzahl. |
data.source | string | Nein | "dataset" | dataset, ai oder none. |
data.country | string | Ja | "DE" | Länderzuordnung aus dataset oder ai_association, oder null. Belegt weder Nationalität noch Wohnsitz oder ethnische Zugehörigkeit. |
data.country_source | string | Ja | "dataset" | Quelle der Länderzuordnung: dataset, ai_association oder null. |
data.match | object | Nein | {"name":"anna","method":"normalized","scope":"country","country":"DE"} | Gefundener Name im Datensatz, Methode (normalized, token, substring oder model_inference), Geltungsbereich country oder global und zugeordnetes Land. Fehlende Belege sind null. |
Zugang, Abrechnung und Anfragemetadaten
| Feld | Typ | Kann null sein | Beispiel | Beschreibung |
|---|---|---|---|---|
meta.request_id | string | Nein | "550e8400-e29b-41d4-a716-446655440000" | Eindeutige Kennung dieses HTTP-Versuchs; auch in X-Request-ID enthalten. |
meta.duration_ms | integer | Nein | 42 | Bearbeitungszeit der Anfrage in Millisekunden. |
meta.access.mode | string | Nein | "api_key" | api_key, ip_trial oder unauthenticated. Prüfen Sie bei einem bezahlten Konto, ob api_key gemeldet wird. |
meta.access.reason | string | Ja | null | Grund für den Wechsel in den Testzugang: api_key_missing, api_key_invalid oder api_key_not_found; sonst null. |
meta.usage.charged_credits | integer | Ja | 1 | Netto abgebuchte Credits. 0 vor der Abbuchung oder nach einer bestätigten vollständigen Erstattung; null bei unbestätigter Abrechnung. |
meta.usage.remaining_credits | integer | Ja | 99 | Guthaben beim Abschluss des Vorgangs. Kann negativ sein; null, wenn nicht verfügbar oder die Abrechnung unbestätigt ist. |
meta.usage.billing_status | string | Nein | "confirmed" | not_charged, confirmed oder unconfirmed. Prüfen Sie dies, bevor Sie eine fehlgeschlagene Vorhersage wiederholen. |
meta.usage.resets_at | string | Ja | "2026-09-27T12:00:00.000Z" | Zeitpunkt des Zurücksetzens des IP-Testzugangs in UTC (ISO 8601); null bei Konten mit API-Schlüssel oder wenn unbekannt. |
meta.usage.limit | integer | Ja | 10 | Kontingent des IP-Testzugangs; null bei Konten mit API-Schlüssel. |
meta.usage.period_seconds | integer | Ja | 86400 | Zeitfenster des IP-Testzugangs in Sekunden; null bei Konten mit API-Schlüssel. |
Eine Spitznamen-Vorhersage lesen
Das Beispiel verwendet forceToGenderize: true. Eine im Datensatz aufgelöste Abfrage kostet 1 Credit. Andernfalls lässt die API den Alias von KI interpretieren und berechnet für einen erfolgreichen Vorgang insgesamt 2 Credits, auch bei einem unbekannten Ergebnis. Lassen Sie ai_mode weg oder setzen Sie es auf fallback; off und always sind mit forceToGenderize unvereinbar und liefern 422.
Im Spitznamenmodus ist ein ermitteltes Geschlecht mit name: null zulässig. Das bedeutet, dass kein echter Vorname extrahiert wurde; es ist kein Parserfehler. KI-Ergebnisse haben sample_count: null und confidence_kind: model_reported, wenn ein Geschlecht zurückgegeben wird. Der Wert ist weder eine kalibrierte Wahrscheinlichkeit noch eine bestätigte Identität.
Ohne forceToGenderize nutzt eine einzelne Benutzernamen-Abfrage standardmäßig weiterhin den gewöhnlichen KI-Fallback für insgesamt 1 Credit, benötigt dafür aber einen verwertbaren echten Vornamen. Verwenden Sie options.ai_mode: off für eine Verarbeitung nur mit dem Datensatz.