Ennen pyynnön lähettämistä
Lähetä JSON-pyyntö: POST https://api.genderapi.io/api/v2/gender. Käytä nykyistä API-avaintasi otsakkeessa Authorization: Bearer YOUR_API_KEY ja lisää Content-Type: application/json. Jokainen pyyntö käsitellään erikseen.
Valitse kieli koodiesimerkistä. Aseta GENDERAPI_API_KEY prosessin ympäristöön ennen suorittamista. Puuttuva tai tunnistamaton avain voi käyttää jaettua IP-kokeilua, joten varmista tilin integroinnissa, että meta.access.mode on api_key.
Sukupuoli nimestä
| Parametri | Tyyppi | Pakollinen | Oletusarvo | Kuvaus |
|---|---|---|---|---|
type | string | Kyllä | — | Syötteen luokka: name, email tai username. |
value | string | Kyllä | — | Pakollinen. 1–254 merkkiä; ei saa olla tyhjä eikä sisältää ohjausmerkkejä. Sähköpostiarvon on oltava syntaksiltaan kelvollinen sähköpostiosoite. |
country | string | Ei | — | Valinnainen ISO 3166-1 alpha-2 -koodi isoilla kirjaimilla, esimerkiksi TR tai US. Maakohtainen haku voi siirtyä käyttämään globaalia tietoaineistoa. |
forceToGenderize | boolean | Ei | false | Hakee ensin tietoaineistosta ja sitten tarvittaessa lempinimiä tulkitsevalla tekoälyllä. Tuettu tyypeille name, email ja username. |
options | object | Ei | — | Kunkin syötteen tekoälyasetukset sisältävä objekti. |
options.ai_mode | string | Ei | fallback | Sallitut arvot: off, fallback, always. Kun forceToGenderize: true, jätä kenttä pois tai käytä fallback-arvoa. |
id | string | Ei | — | Valinnainen 1–64 merkin tunniste POST-pyynnön JSON-rungossa. Palautetaan kunkin erätuloksen yhteydessä, ja sen on oltava yksilöllinen erän sisällä. Yksittäisissä ennusteissa se hyväksytään, mutta sitä ei palauteta. Ei tuettu GET-kyselyissä. |
Lähetä etunimi tai koko nimi asetuksella type: name. Onnistunut vastaus voi silti sisältää arvon gender: null. Yksittäinen pyyntö hakee ensin tietoaineistosta ja käyttää oletuksena tekoälyä, jos sukupuolta ei voida määrittää.
Valitse ohjelmointikieli. Määritä API-avain, suorita sitten esimerkki palvelimellasi.
Jokainen ennustepyyntö on uusi laskutettava toiminto, myös uudelleenyritys. Nämä esimerkit eivät yritä uudelleen automaattisesti. Tarkista laskutuksen tila ennen uuden pyynnön lähettämistä.
Ennen suorittamista: käyttöoikeus ja virheiden käsittely
Suorita esimerkit palvelimellasi. Aseta prosessin ympäristömuuttujan GENDERAPI_API_KEY arvoksi nykyinen API-avaimesi. Varmista, että meta.access.mode on api_key: tunnistamaton avain voi siirtää pyynnön IP-kokeiluun.
HTTP 4xx- ja 5xx-JSON-vastauksissa esimerkit säilyttävät virherungon ja palauttavat nollasta poikkeavan poistumiskoodin. Tarkista code, action ja meta.usage.billing_status ennen uutta yritystä.
Virhe- ja uudelleenyritysopas →cURL 7.76+ POSIX-komentotulkissa. Suorita päätteessä. Suoritusympäristön dokumentaatio
Node.js 22+; sisäänrakennettu fetch. Tallenna nimellä example.mjs ja suorita node example.mjs. Suoritusympäristön dokumentaatio
Python 3.10+; standardikirjasto. Tallenna nimellä example.py ja suorita python3 example.py. Suoritusympäristön dokumentaatio
PHP 8+ cURL-laajennuksella. Tallenna nimellä example.php ja suorita php example.php. Suoritusympäristön dokumentaatio
Java 17+; standardikirjaston HTTP-asiakas. Tallenna nimellä GenderApiExample.java ja suorita java GenderApiExample.java. Suoritusympäristön dokumentaatio
.NET 8+ -konsolisovellus. Käytä konsoliprojektissa nimellä Program.cs ja suorita sitten dotnet run. Suoritusympäristön dokumentaatio
Go 1.22+; standardikirjasto. Tallenna nimellä main.go ja suorita go run main.go. Suoritusympäristön dokumentaatio
Esimerkkivastaus
Tämä on todellinen vastaus, joka haettiin 1. lokakuuta 2026 API-avaimella; vain tilin saldo on korvattu. Se ei ole tarkkuuden mitta, ja reaaliaikainen pyyntö voi palauttaa eri tuloksen. API-avaimella tehdyt pyynnöt palauttavat arvon meta.access.mode: api_key, ja vain kokeilua koskevat kiintiökentät ovat null; IP-kokeilun pyynnöt palauttavat arvon ip_trial. Lue päätelmä kohdasta data ja toiminnon laskutustulos kohdasta meta.usage.
{
"data": {
"input": {
"type": "name",
"value": "Juha",
"country": "FI"
},
"name": "juha",
"gender": "male",
"country": "FI",
"confidence": 0.9988558352402745,
"confidence_kind": "observed_frequency",
"sample_count": 874,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "juha",
"method": "normalized",
"scope": "country",
"country": "FI"
}
},
"meta": {
"request_id": "010b6440-a403-4d2e-bc0f-f44e6c03891c",
"duration_ms": 10,
"access": {
"mode": "api_key",
"reason": null
},
"usage": {
"charged_credits": 1,
"remaining_credits": 49999,
"billing_status": "confirmed",
"resets_at": null,
"limit": null,
"period_seconds": null
}
}
}Ennustevastauksen kentät
| Kenttä | Tyyppi | Voi olla null | Esimerkki | Kuvaus |
|---|---|---|---|---|
data.input | object | Ei | {"type":"name","value":"Juha","country":"FI"} | Syötteen tyyppi, arvo ja maa. forceToGenderize on mukana, kun sen arvo on true. |
data.name | string | Kyllä | "juha" | Osumana löytynyt tai poimittu etunimi; null, jos sellaista ei ole. |
data.gender | string | Kyllä | "male" | male, female tai JSON null. Päätelmä, ei vahvistettu henkilöllisyys. |
data.result_status | string | Ei | "identified" | identified, kun sukupuoli palautetaan; muuten unknown. |
data.reason | string | Kyllä | null | null identified-tuloksissa. Tuntemattoman tuloksen syyt: not_found, no_name_candidate, ambiguous tai insufficient_evidence. |
data.confidence | number | Kyllä | 0.95 | Pistemäärä väliltä 0–1 tai null. Jos sukupuoli on null, myös luottamusarvo on null. |
data.confidence_kind | string | Kyllä | "observed_frequency" | observed_frequency: hallitsevan sukupuolen määrä jaettuna tietoaineiston kokonaismäärällä. model_reported: tekoälyn pistemäärä, ei kalibroitu todennäköisyys. Null, jos arvoa ei ole saatavilla. |
data.sample_count | integer | Kyllä | 1200 | Tietoaineiston otoskoko tai null. Tekoäly ei keksi otoskokoa. |
data.source | string | Ei | "dataset" | dataset, ai tai none. |
data.country | string | Kyllä | "FI" | Tietoaineistoon tai ai_association-arvoon perustuva maayhteys, tai null. Ei vahvista kansalaisuutta, asuinpaikkaa tai etnistä taustaa. |
data.country_source | string | Kyllä | "dataset" | Maayhteyden lähde: dataset, ai_association tai null. |
data.match | object | Ei | {"name":"juha","method":"normalized","scope":"country","country":"FI"} | Tietoaineistosta löytynyt nimi, menetelmä (normalized, token, substring tai model_inference), laajuus (country tai global) ja vastaava maa. Puuttuvat tiedot ovat null. |
Käyttöoikeus, veloitus ja pyynnön metatiedot
| Kenttä | Tyyppi | Voi olla null | Esimerkki | Kuvaus |
|---|---|---|---|---|
meta.request_id | string | Ei | "550e8400-e29b-41d4-a716-446655440000" | Tämän HTTP-yrityksen yksilöllinen tunniste; myös X-Request-ID-otsakkeessa. |
meta.duration_ms | integer | Ei | 42 | Pyynnön käsittelyaika millisekunteina. |
meta.access.mode | string | Ei | "api_key" | api_key, ip_trial tai unauthenticated. Tarkista api_key käyttäessäsi maksullista tiliä. |
meta.access.reason | string | Kyllä | null | Kokeiluun siirtymisen syy: api_key_missing, api_key_invalid tai api_key_not_found; muuten null. |
meta.usage.charged_credits | integer | Kyllä | 1 | Veloitetut nettokrediitit. Nolla ennen veloitusta tai vahvistetun täyden palautuksen jälkeen; null, jos veloitusta ei ole vahvistettu. |
meta.usage.remaining_credits | integer | Kyllä | 99 | Saldo toiminnon valmistuessa. Voi olla negatiivinen; null, jos saldoa ei saada tai veloitusta ei ole vahvistettu. |
meta.usage.billing_status | string | Ei | "confirmed" | not_charged, confirmed tai unconfirmed. Tarkista ennen epäonnistuneen ennusteen uutta yritystä. |
meta.usage.resets_at | string | Kyllä | "2026-09-27T12:00:00.000Z" | IP-kokeilun nollausaika UTC-ajassa (ISO 8601); null API-avaintileillä tai jos aika ei ole tiedossa. |
meta.usage.limit | integer | Kyllä | 10 | IP-kokeilun krediittikiintiö; null API-avaintileille. |
meta.usage.period_seconds | integer | Kyllä | 86400 | IP-kokeilujakson pituus sekunteina; null API-avaintileille. |
Maakonteksti ja tuntemattomat nimet
Anna country vain, jos sinulla on asiaankuuluva konteksti. API voi valita tietoaineistosta maakohtaisen rivin tai käyttää globaalia riviä. data.match.scope kertoo, kumpi valittiin; palautettu maa ei osoita, missä henkilö asuu.
Yksittäinen pyyntö käyttää oletuksena tekoälyä, jos tietoaineistosta ei voida päätellä sukupuolta. Kokonaishinta on 1 krediitti. Jos haluat käyttää vain tietoaineistoa, lähetä options: {"ai_mode": "off"}. Onnistuneesti käsitelty pyyntö veloitetaan myös silloin, kun tulos on gender: null. Koko nimen sijasta osuma voi löytyä sen osasta; data.match kertoo valitun ehdokkaan ja täsmäytystavan.
Kun nimiarvo muistuttaa lempinimeä, forceToGenderize: true sallii päättelyn ilman todellista etunimeä: tietoaineistosta ratkaistu tulos maksaa 1 krediitin, muuten lempinimiä tulkitseva tekoäly maksaa yhteensä 2. Positiivinen alkusaldo riittää, ja loppusaldo voi jäädä negatiiviseksi.
Hae koko nimellä olettamatta, että ensimmäinen sana ratkaisee
Lähetä alkuperäinen nimi Unicode-muodossa. Tietoaineiston haku käyttää NFKC-normalisointia, pienaakkosiksi muuntamista ja nimen jakamista osiin; nimeä ei tarvitse muuntaa ASCII-muotoon. Käytettävissä olevista ehdokkaista API valitsee tietueen, jonka tallennettu kokonaismäärä on suurin. Ehdokas voi olla nimen myöhempi osa, joten älä oleta, että valituksi tuli ensimmäinen sana tai etunimi.
Tämä pyyntö käyttää vain tietoaineistoa, joten tuloksen perusteet on helpompi tarkistaa. Kentästä data.input.value näet lähetetyn koko nimen, kentästä data.match.name haetun ehdokkaan ja kentästä data.match.method osumatavan. Esimerkki ei lupaa tiettyä sukupuolta eikä tietyn nimen osan valintaa. Tietoaineiston ehdokkaiden on oltava yli kahden merkin pituisia; lyhyet syötteet voivat jäädä ilman tulosta. Käytä tavallista tekoälyä varalla, kun tällainen lisäpäätelmä sopii sovellukseesi.
Valitse ohjelmointikieli. Määritä API-avain, suorita sitten esimerkki palvelimellasi.
Jokainen ennustepyyntö on uusi laskutettava toiminto, myös uudelleenyritys. Nämä esimerkit eivät yritä uudelleen automaattisesti. Tarkista laskutuksen tila ennen uuden pyynnön lähettämistä.
Ennen suorittamista: käyttöoikeus ja virheiden käsittely
Suorita esimerkit palvelimellasi. Aseta prosessin ympäristömuuttujan GENDERAPI_API_KEY arvoksi nykyinen API-avaimesi. Varmista, että meta.access.mode on api_key: tunnistamaton avain voi siirtää pyynnön IP-kokeiluun.
HTTP 4xx- ja 5xx-JSON-vastauksissa esimerkit säilyttävät virherungon ja palauttavat nollasta poikkeavan poistumiskoodin. Tarkista code, action ja meta.usage.billing_status ennen uutta yritystä.
Virhe- ja uudelleenyritysopas →cURL 7.76+ POSIX-komentotulkissa. Suorita päätteessä. Suoritusympäristön dokumentaatio
Node.js 22+; sisäänrakennettu fetch. Tallenna nimellä example.mjs ja suorita node example.mjs. Suoritusympäristön dokumentaatio
Python 3.10+; standardikirjasto. Tallenna nimellä example.py ja suorita python3 example.py. Suoritusympäristön dokumentaatio
PHP 8+ cURL-laajennuksella. Tallenna nimellä example.php ja suorita php example.php. Suoritusympäristön dokumentaatio
Java 17+; standardikirjaston HTTP-asiakas. Tallenna nimellä GenderApiExample.java ja suorita java GenderApiExample.java. Suoritusympäristön dokumentaatio
.NET 8+ -konsolisovellus. Käytä konsoliprojektissa nimellä Program.cs ja suorita sitten dotnet run. Suoritusympäristön dokumentaatio
Go 1.22+; standardikirjasto. Tallenna nimellä main.go ja suorita go run main.go. Suoritusympäristön dokumentaatio
Tarkista, mikä maakonteksti todella vaikutti tulokseen
Anna ISO-maakoodi vain, kun sinulla on asiaankuuluva konteksti; älä johda sitä odotetusta tuloksesta. Kunkin ehdokkaan kohdalla olemassa oleva maakohtainen rivi on etusijalla saman ehdokkaan globaaliin riviin nähden. Jos maakohtaista riviä ei ole, ehdokas voi käyttää globaalia riviä. Globaali rivi ei korvaa maakohtaista riviä, jonka määrät ovat tasan: jos valitulla rivillä on tasatilanne, tietoaineiston tulos on unknown ja käyttöön otettu tekoäly varalla voi käynnistyä.
| Vastauksen peruste | Tulkinta | Toimenpide sovelluksessa |
|---|---|---|
| match.scope: country; match.country: TR | Valittu tietoaineiston ehdokas käytti pyynnössä annetun maan riviä. | Tallenna valittu ehdokas ja maakohtainen hakualue ennusteen yhteyteen. |
| match.scope: global; match.country: null | Valittu ehdokas käytti globaalia riviä, vaikka pyynnössä annettiin maa. | Älä merkitse tulosta maakohtaiseksi osumaksi. |
| country_source: dataset tai ai_association | Kertoo, mistä data.country on peräisin; se ei kuvaa tietoaineiston hakualuetta eikä henkilön kansalaisuutta. | Lue se erillään kentästä match.country; kumpikaan kenttä ei vahvista asuinpaikkaa tai kansalaisuutta. |
| source: ai; match.scope: null | Lopullisen vastauksen tuotti tekoäly, joten vastauksessa ei ole valittua tietoaineiston riviä. | Noudata tekoälyn luottamusarvoja koskevia ohjeita ja säilytä tuntemattomat tulokset. |