Innan du skickar förfrågan
Skicka prediktionsförfrågningar till GenderAPI.io V2 med POST https://api.genderapi.io/api/v2/gender, med type och value i JSON-kroppen. Använd din befintliga GenderAPI.io-nyckel i Authorization: Bearer YOUR_API_KEY och Content-Type: application/json. Läs resultatet i data och uppgifterna om åtkomst och debitering i meta. Varje förfrågan behandlas separat.
Välj programmeringsspråk i kodexemplet. Sätt GENDERAPI_API_KEY i processmiljön innan du kör det. Nycklar som saknas eller inte känns igen kan använda den delade IP-provperioden, så kontrollera att meta.access.mode är api_key när du integrerar ett konto.
Kön utifrån ett användarnamn eller smeknamn
| Parameter | Typ | Obligatorisk | Standardvärde | Beskrivning |
|---|---|---|---|---|
type | string | Ja | — | Indatakategori: name, email eller username. |
value | string | Ja | — | Krävs. 1–254 tecken, inte tomt och utan kontrolltecken. E-postvärden måste ha giltig e-postsyntax. |
country | string | Nej | — | Valfri ISO 3166-1 alpha-2-kod med versaler, till exempel TR eller US. En landsspecifik sökning kan falla tillbaka på den globala datamängden. |
forceToGenderize | boolean | Nej | false | Kontrollerar först datamängden och använder sedan AI med tolkning av smeknamn om inget resultat hittas. Stöds för name, email och username. |
options | object | Nej | — | Objekt med AI-alternativ för respektive indata. |
options.ai_mode | string | Nej | fallback | Tillåtna värden: off, fallback, always. Med forceToGenderize: true utelämnar du fältet eller använder fallback. |
id | string | Nej | — | Valfri identifierare med 1–64 tecken i POST-JSON. Returneras bredvid respektive batchresultat och måste vara unik inom en batch. Godtas men returneras inte för enskilda prediktioner. Stöds inte i GET-frågor. |
Skicka type: username och användarnamnet eller smeknamnet i value till POST https://api.genderapi.io/api/v2/gender. Sätt forceToGenderize till true när du vill göra ett försök utifrån ett smeknamns betydelse, till exempel prenses, även om inget riktigt namn kan extraheras. GenderAPI.io V2 kontrollerar ändå datamängden först. En prediktion för ett smeknamn kan returnera ett data.gender som inte är null tillsammans med data.name: null.
Välj ett programmeringsspråk. Konfigurera din API-nyckel, kör sedan exemplet på din server.
Varje prediktionsförfrågan är en ny debiterbar åtgärd, även vid nya försök. Exemplen gör inga automatiska nya försök. Kontrollera debiteringsstatus innan du skickar en ny förfrågan.
Innan du kör: åtkomst och felhantering
Kör exemplen på din server. Sätt GENDERAPI_API_KEY i processmiljön till din befintliga API-nyckel. Kontrollera att meta.access.mode är api_key: en nyckel som inte känns igen kan leda till IP-provperioden.
Vid JSON-svar med HTTP 4xx och 5xx behålls felinnehållet och exemplet avslutas med en slutstatus som inte är noll. Kontrollera code, action och meta.usage.billing_status innan du försöker igen.
Guide om fel och nya försök →cURL 7.76+ i ett POSIX-skal. Kör i terminalen. Dokumentation för körmiljön
Node.js 22+; inbyggd fetch. Spara som example.mjs och kör node example.mjs. Dokumentation för körmiljön
Python 3.10+; standardbiblioteket. Spara som example.py och kör python3 example.py. Dokumentation för körmiljön
PHP 8+ med tillägget cURL. Spara som example.php och kör php example.php. Dokumentation för körmiljön
Java 17+; inbyggd HTTP-klient. Spara som GenderApiExample.java och kör java GenderApiExample.java. Dokumentation för körmiljön
Konsolapplikation med .NET 8+. Använd som Program.cs i ett konsolprojekt och kör sedan dotnet run. Dokumentation för körmiljön
Go 1.22+; standardbiblioteket. Spara som main.go och kör go run main.go. Dokumentation för körmiljön
Exempelsvar
Det här är ett verkligt svar som hämtades den 1 oktober 2026 med en API-nyckel; endast kontosaldot har ersatts. Det är inte ett mått på noggrannhet, och en liveförfrågan kan ge ett annat resultat. Förfrågningar med API-nyckel rapporterar meta.access.mode: api_key och null i kvotfälten som bara gäller provperioden; förfrågningar via IP-provperioden rapporterar ip_trial. Läs data för prediktionen och meta.usage för åtgärdens debitering.
{
"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
}
}
}Fält i prediktionssvaret
| Fält | Typ | Kan vara null | Exempel | Beskrivning |
|---|---|---|---|---|
data.input | object | Nej | {"type":"name","value":"Erik","country":"SE"} | Indatatyp, värde och land. forceToGenderize ingår när det är true. |
data.name | string | Ja | "erik" | Matchat eller extraherat förnamn; null när inget finns. |
data.gender | string | Ja | "male" | male, female eller JSON null. En prediktion, ingen bekräftad personlig identitet. |
data.result_status | string | Nej | "identified" | identified när ett kön returneras, annars unknown. |
data.reason | string | Ja | null | null för identified. Orsaker till unknown: not_found, no_name_candidate, ambiguous eller insufficient_evidence. |
data.confidence | number | Ja | 0.95 | Ett värde mellan 0 och 1 eller null. Om gender är null är även konfidensen null. |
data.confidence_kind | string | Ja | "observed_frequency" | observed_frequency: det dominerande antalet i datamängden delat med totalen. model_reported: ett AI-värde, ingen kalibrerad sannolikhet. null när värdet saknas. |
data.sample_count | integer | Ja | 1200 | Urvalsstorlek i datamängden eller null. AI hittar inte på något urvalsantal. |
data.source | string | Nej | "dataset" | dataset, ai eller none. |
data.country | string | Ja | "SE" | Landskoppling från dataset eller ai_association, eller null. Visar varken nationalitet, bosättning eller etnicitet. |
data.country_source | string | Ja | "dataset" | Källa till landskopplingen: dataset, ai_association eller null. |
data.match | object | Nej | {"name":"erik","method":"normalized","scope":"country","country":"SE"} | Matchat namn i datamängden, metod (normalized, token, substring eller model_inference), omfattning (country eller global) och matchat land. Underlag som saknas är null. |
Metadata om åtkomst, debitering och förfrågan
| Fält | Typ | Kan vara null | Exempel | Beskrivning |
|---|---|---|---|---|
meta.request_id | string | Nej | "550e8400-e29b-41d4-a716-446655440000" | Unik identifierare för det här HTTP-försöket; skickas även i X-Request-ID. |
meta.duration_ms | integer | Nej | 42 | Bearbetningstid för förfrågan i millisekunder. |
meta.access.mode | string | Nej | "api_key" | api_key, ip_trial eller unauthenticated. Kontrollera att api_key rapporteras när du använder ett betalt konto. |
meta.access.reason | string | Ja | null | Orsak till att IP-provperioden användes: api_key_missing, api_key_invalid eller api_key_not_found; annars null. |
meta.usage.charged_credits | integer | Ja | 1 | Debiterade krediter netto. 0 före debitering eller efter en bekräftad fullständig återbetalning; null när debiteringen är obekräftad. |
meta.usage.remaining_credits | integer | Ja | 99 | Saldo när åtgärden slutförs. Kan vara negativt; null om saldot saknas eller debiteringen är obekräftad. |
meta.usage.billing_status | string | Nej | "confirmed" | not_charged, confirmed eller unconfirmed. Kontrollera detta innan du gör ett nytt försök med en misslyckad prediktion. |
meta.usage.resets_at | string | Ja | "2026-09-27T12:00:00.000Z" | Tidpunkt i UTC (ISO 8601) då IP-provperioden återställs; null för konton med API-nyckel eller om tidpunkten är okänd. |
meta.usage.limit | integer | Ja | 10 | Kvot för IP-provperioden; null för konton med API-nyckel. |
meta.usage.period_seconds | integer | Ja | 86400 | IP-provperiodens tidsfönster i sekunder; null för konton med API-nyckel. |
Tolka en prediktion för ett smeknamn
Exemplet använder forceToGenderize: true. En sökning som får ett resultat i datamängden kostar 1 kredit. Annars låter API:et AI tolka aliaset och debiterar totalt 2 krediter för en lyckad åtgärd, även när resultatet är okänt. Utelämna ai_mode eller sätt det till fallback; off och always kan inte kombineras med forceToGenderize och ger 422.
I smeknamnsläget är ett uppskattat kön med name: null tillåtet. Det betyder att inget riktigt förnamn extraherades, inte att tolkningen misslyckades. AI-resultat har sample_count: null och confidence_kind: model_reported när ett kön returneras. Värdet är varken en kalibrerad sannolikhet eller en bekräftad identitet.
Utan forceToGenderize använder en enskild sökning på användarnamn fortfarande vanlig AI-reserv som standard för totalt 1 kredit, men det kräver ett användbart riktigt förnamn. Använd options.ai_mode: off för att bara använda datamängden.