Jatka → Yleiskatsaus

REST API -viite

Muutama päätepiste, yksi vastauksen muoto. Kaikki alla on live tilillä.

https://namegender.com/api/v1/gender Rekisteröidy ilmaiseksi
llms-full.txt

Markdown-muoto koodiavustajille, kuten Claude Code, Cursor ja Copilot. Liitä se keskusteluun tai anna avustajalle linkki.

Pika-aloitus

Luo avain kojelaudassasi, sitten lähetä ensimmäinen pyyntösi. SDK:ta ei tarvita.

curl "https://namegender.com/api/v1/gender?name=Ay%C5%9Fe&country=TR" \
  -H "Authorization: Bearer YOUR_API_KEY"
<?php

$query = http_build_query(['name' => 'Ayşe', 'country' => 'TR']);

$ch = curl_init('https://namegender.com/api/v1/gender?' . $query);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer YOUR_API_KEY'],
]);

$result = json_decode(curl_exec($ch), true);

echo $result['gender'];       // female
echo $result['probability'];  // 100
const params = new URLSearchParams({ name: 'Ayşe', country: 'TR' });

const response = await fetch(`https://namegender.com/api/v1/gender?${params}`, {
  headers: { Authorization: 'Bearer YOUR_API_KEY' },
});

const result = await response.json();

console.log(result.gender);       // "female"
console.log(result.probability);  // 100
import requests

response = requests.get(
    "https://namegender.com/api/v1/gender",
    params={"name": "Ayşe", "country": "TR"},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)

result = response.json()
print(result["gender"])       # female
print(result["probability"])  # 100
require "net/http"
require "json"

uri = URI("https://namegender.com/api/v1/gender")
uri.query = URI.encode_www_form(name: "Ayşe", country: "TR")

request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end

puts JSON.parse(response.body)["gender"]   # female
req, _ := http.NewRequest("GET", "https://namegender.com/api/v1/gender?name=Ay%C5%9Fe&country=TR", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")

resp, err := http.DefaultClient.Do(req)
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()

var result struct {
    Gender      string `json:"gender"`
    Probability int    `json:"probability"`
}
json.NewDecoder(resp.Body).Decode(&result)

fmt.Println(result.Gender)   // female

Jokainen pääteiste palauttaa saman muodon, joten voit vaihtaa syötteitä ilman jäsentämiskoodia.

Todentaminen

Jokainen pyyntö kuljettaa API-avaimesi otsikossa. Käytä oletuksena Authorization: Bearer -otsikkoa tai X-Api-Key-otsikkoa, jos HTTP-asiakkaasi varaa Authorization-otsikon muuhun käyttöön. URL-osoitteeseen sijoitettu avain hylätään: URL-osoitteet kopioituvat välityspalvelimien lokeihin, analytiikkatyökaluihin ja selaimen historiaan.

Authorization-otsikko (suositeltu)
Authorization: Bearer ng_live_xxxxxxxxxxxx

Kopiointi epäonnistui. Valitse ja kopioi teksti.

X-Api-Key-otsikko
X-Api-Key: ng_live_xxxxxxxxxxxx

Kopiointi epäonnistui. Valitse ja kopioi teksti.

Älä koskaan paljasta avaintasi asiakaspuolen koodissa. Selaimesta tai mobiilisovelluksesta lähtevät kutsut pitäisi ohjata omalla taustalla.

Voit rajoittaa avainta tiettyihin IP-osoitteisiin kojelaudasta.

Asiakaskirjastot

Ohuet kääreet REST API:n ympärille. Ne lähettävät avaimesi, muodostavat jokaisen pyynnön ja muuttavat virhevastaukset poikkeuksiksi.

JavaScript Lähdekoodi
npm install namegender

Kopiointi epäonnistui. Valitse ja kopioi teksti.

Command line Lähdekoodi
npm install -g namegender

Kopiointi epäonnistui. Valitse ja kopioi teksti.

composer require namegender/namegender

Kopiointi epäonnistui. Valitse ja kopioi teksti.

pip install namegender-client

Kopiointi epäonnistui. Valitse ja kopioi teksti.

gem install namegender

Kopiointi epäonnistui. Valitse ja kopioi teksti.

<repository>
  <id>jitpack.io</id>
  <url>https://jitpack.io</url>
</repository>

<dependency>
  <groupId>com.github.anpekesen</groupId>
  <artifactId>namegender-java</artifactId>
  <version>v0.9.0</version>
</dependency>

Kopiointi epäonnistui. Valitse ja kopioi teksti.

C# / .NET Lähdekoodi
dotnet add package NameGender --version 0.6.0

Kopiointi epäonnistui. Valitse ja kopioi teksti.

go get github.com/anpekesen/namegender-go@v0.7.0

Kopiointi epäonnistui. Valitse ja kopioi teksti.

remotes::install_github('anpekesen/namegender-r', ref = 'v0.7.0')

Kopiointi epäonnistui. Valitse ja kopioi teksti.

PowerShell Lähdekoodi
Install-Module NameGender

Kopiointi epäonnistui. Valitse ja kopioi teksti.

cargo add namegender

Kopiointi epäonnistui. Valitse ja kopioi teksti.

Et tarvitse sellaista. API on vain kourallinen tavallisia JSON-päätepisteitä; kirjasto säästää sinulta iltapäivän, ei projektia. Jos kieltäsi ei ole luettelossa, REST-viitteessä on kopioitavaksi valmiita esimerkkejä.

Näytä kaikki

Tekoälyavustajat (MCP)

Käytä NameGenderiä Claude- ja Cursor-sovelluksista sekä mistä tahansa muusta asiakasohjelmasta, joka tukee Model Context Protocol -protokollaa. Kysy avustajalta nimilistasta, niin se kutsuu API:a puolestasi ja näyttää perusteet jokaisen vastauksen vieressä.

Claude Code
claude mcp add namegender -e NAMEGENDER_API_KEY=ng_live_... -- npx -y namegender-mcp

Kopiointi epäonnistui. Valitse ja kopioi teksti.

Claude Desktop, Cursor ja muut asiakasohjelmat
{
    "mcpServers": {
        "namegender": {
            "command": "npx",
            "args": [
                "-y",
                "namegender-mcp"
            ],
            "env": {
                "NAMEGENDER_API_KEY": "ng_live_..."
            }
        }
    }
}

Kopiointi epäonnistui. Valitse ja kopioi teksti.

Lisää tämä asiakasohjelman MCP-määritystiedostoon ja käynnistä ohjelma uudelleen.

Työkalut

gender_from_name
Sukupuoli etunimestä tai koko nimestä.
gender_from_email
Lukee nimen sähköpostiosoitteesta; rooliosoitteet, kuten info@, palauttavat tuloksen tuntematon.
gender_from_username
Lukee nimen käyttäjänimestä tai tunnuksesta.
gender_bulk
Enintään 100 arvoa yhdessä pyynnössä, mukana yhteenveto osumaprosentista.
name_countries
Maat, joissa nimi on kirjattu. Ei väite nimen alkuperästä.
salutation
Kirjeen aloitusrivi kirjeen kielellä; neutraali muoto, kun sukupuoli ei ole varma.
name_check
Näyttääkö lomakkeeseen kirjoitettu nimi oikealta, perusteluineen. Ei koskaan sano nimeä vääräksi.
age_from_name
Tietyn etunimen kantajien mediaani-ikä ja ikävälit Yhdysvalloissa, Ranskassa ja Norjassa.
account_status
Jäljellä olevat krediitit ja tämän päivän ilmainen kiintiö.

Jokainen haku kuluttaa krediittejä avaimen omistavalta tililtä, täsmälleen kuten suora API-kutsu. Listattu viralliseen MCP-rekisteriin nimellä io.github.anpekesen/namegender. npm-paketti · Lähdekoodi

GET · POST https://namegender.com/api/v1/gender
Markdown

Sukupuoli nimestä

Hyväksyy etunimen tai koko nimen. Arvonimet, keskinimet ja sukunimet poistetaan ennen hakua, joten "Dr. Ayşe Yılmaz" ja "Ayşe" antavat saman tuloksen.

Parametri Tyyppi Kuvaus
name
pakollinen
string Luokiteltava nimi. Etunimi tai koko nimi.
country
valinnainen
string ISO 3166-1 alpha-2 maatunnus. Parantaa tarkkuutta nimillä, joiden sukupuoli vaihtelee alueittain, kuten Andrea (mies Italiassa, nainen Saksassa).
locale
valinnainen
string Kielitunniste kuten de-DE tai en_US, esimerkiksi selaimen kieli. Sen alue tulee maaksi, kun countrya ei lähetetä. Tunniste ilman aluetta (en, de) ei aseta maata.
ip
valinnainen
string Loppukäyttäjän IP-osoite. Sen maata käytetään, kun countrya tai alueellista localea ei lähetetä. Ei tallenneta. IP geolocation by DB-IP (db-ip.com).
ai_fallback
valinnainen
boolean Jos nimelle ei löydy merkintää aineistostamme, kielimallilta pyydetään arvio sen sijaan, että palautettaisiin null. Toimii vasta, kun tekoälyhaut on otettu käyttöön asetuksissasi, ja maksaa yhden lisäkrediitin.
best_guess
valinnainen
boolean Palauta johtava sukupuoli, vaikka näyttö jäisi luottamuskynnyksen alle. Oletuksena pois päältä: lähes 50/50-vastaus, joka näyttää varmalta, tekee enemmän vahinkoa kuin null.
curl "https://namegender.com/api/v1/gender?name=Jordan" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "credits_charged": 1,
  "credits_remaining": 49999,
  "request_id": "req_4b7e0c2d9a1f6358",
  "query": "Jordan",
  "name": "Jordan",
  "first_name": "Jordan",
  "middle_name": null,
  "last_name": null,
  "name_type": "personal",
  "gender": "male",
  "country": null,
  "sample_size": 62240,
  "probability": 84,
  "took_ms": 1,
  "confidence": "high",
  "source": "db",
  "matched_as": null
}
GET · POST https://namegender.com/api/v1/gender/email
Markdown

Sukupuoli sähköpostista

Poistaa henkilön sähköpostiosoitteen paikallisesta osasta ja luokittelee sen. "ayse.yilmaz84@example.com" vastaa Ayşe:ta.

Parametri Tyyppi Kuvaus
email
pakollinen
string Sähköpostiosoite. Vain @ edellä oleva osa käytetään.
country
valinnainen
string ISO 3166-1 alpha-2 maatunnus. Parantaa tarkkuutta nimillä, joiden sukupuoli vaihtelee alueittain, kuten Andrea (mies Italiassa, nainen Saksassa).
locale
valinnainen
string Kielitunniste kuten de-DE tai en_US, esimerkiksi selaimen kieli. Sen alue tulee maaksi, kun countrya ei lähetetä. Tunniste ilman aluetta (en, de) ei aseta maata.
ip
valinnainen
string Loppukäyttäjän IP-osoite. Sen maata käytetään, kun countrya tai alueellista localea ei lähetetä. Ei tallenneta. IP geolocation by DB-IP (db-ip.com).
ai_fallback
valinnainen
boolean Jos nimelle ei löydy merkintää aineistostamme, kielimallilta pyydetään arvio sen sijaan, että palautettaisiin null. Toimii vasta, kun tekoälyhaut on otettu käyttöön asetuksissasi, ja maksaa yhden lisäkrediitin.
best_guess
valinnainen
boolean Palauta johtava sukupuoli, vaikka näyttö jäisi luottamuskynnyksen alle. Oletuksena pois päältä: lähes 50/50-vastaus, joka näyttää varmalta, tekee enemmän vahinkoa kuin null.

best_guess vaikuttaa osoitteesta luettuun etunimeen, ei itse osoitteeseen. Jos etunimeä ei voida lukea, pakotettavaa ei ole ja gender pysyy arvossa null. Muista, että pakotettu vastaus perustuu tässä poimintaan, joka voi itsessään olla väärä.

curl "https://namegender.com/api/v1/gender/email?email=ayse.yilmaz84%40example.com" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "credits_charged": 1,
  "credits_remaining": 49998,
  "query": "ayse.yilmaz84@example.com",
  "name": "Ayse",
  "gender": "female",
  "sample_size": 655,
  "probability": 100,
  "took_ms": 1,
  "confidence": "high",
  "source": "db"
}
GET · POST https://namegender.com/api/v1/gender/username
Markdown

Sukupuoli käyttäjänimestä

Käsittelee camelCase:n, snake_case:n, jälkimmäiset numerot ja johtavat @ -merkit. "AyseYilmaz84" vastaa Ayşe:ta.

Parametri Tyyppi Kuvaus
username
pakollinen
string Käyttäjänimi tai tunnus. Johtava @ jätetään huomioimatta.
country
valinnainen
string ISO 3166-1 alpha-2 maatunnus. Parantaa tarkkuutta nimillä, joiden sukupuoli vaihtelee alueittain, kuten Andrea (mies Italiassa, nainen Saksassa).
locale
valinnainen
string Kielitunniste kuten de-DE tai en_US, esimerkiksi selaimen kieli. Sen alue tulee maaksi, kun countrya ei lähetetä. Tunniste ilman aluetta (en, de) ei aseta maata.
ip
valinnainen
string Loppukäyttäjän IP-osoite. Sen maata käytetään, kun countrya tai alueellista localea ei lähetetä. Ei tallenneta. IP geolocation by DB-IP (db-ip.com).
ai_fallback
valinnainen
boolean Jos nimelle ei löydy merkintää aineistostamme, kielimallilta pyydetään arvio sen sijaan, että palautettaisiin null. Toimii vasta, kun tekoälyhaut on otettu käyttöön asetuksissasi, ja maksaa yhden lisäkrediitin.
best_guess
valinnainen
boolean Palauta johtava sukupuoli, vaikka näyttö jäisi luottamuskynnyksen alle. Oletuksena pois päältä: lähes 50/50-vastaus, joka näyttää varmalta, tekee enemmän vahinkoa kuin null.
curl "https://namegender.com/api/v1/gender/username?username=AyseYilmaz84" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "credits_charged": 1,
  "credits_remaining": 49997,
  "query": "AyseYilmaz84",
  "name": "Ayse",
  "gender": "female",
  "sample_size": 655,
  "probability": 100,
  "took_ms": 1,
  "confidence": "high",
  "source": "db"
}
POST https://namegender.com/api/v1/gender/bulk
Markdown

Joukkokysely

Lähetä jopa 100 nimeä yhdessä pyynnössä. Käytä tätä silmukan sijaan: yksi joukkokyse 100 nimelle on yhden matkan ja yhden deduploidun haun verran.

Parametri Tyyppi Kuvaus
names
pakollinen
string[] Nimien taulukko. Enintään 100 kohde.
type
valinnainen
string Mitä kohteet ovat: nimi, sähköposti tai käyttäjänimi. Oletuksena nimi.
country
valinnainen
string Sovellettu kaikkiin pyynnön kohteisiin.
locale
valinnainen
string Kielitunniste, jonka alue tulee jokaisen kohteen maaksi, kun countrya ei lähetetä.
ip
valinnainen
string Loppukäyttäjän IP-osoite, jonka maata käytetään jokaiselle kohteelle, kun countrya tai alueellista localea ei lähetetä. Ei tallenneta. IP geolocation by DB-IP (db-ip.com).
curl -X POST "https://namegender.com/api/v1/gender/bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"names": ["Ayşe", "Mehmet", "Priya", "Wei"]}'
<?php

$ch = curl_init('https://namegender.com/api/v1/gender/bulk');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer YOUR_API_KEY',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'names' => ['Ayşe', 'Mehmet', 'Priya', 'Wei'],
    ]),
]);

$data = json_decode(curl_exec($ch), true);

foreach ($data['results'] as $row) {
    printf("%-8s %-7s %d%%\n", $row['query'], $row['gender'] ?? '?', $row['probability']);
}
const response = await fetch('https://namegender.com/api/v1/gender/bulk', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ names: ['Ayşe', 'Mehmet', 'Priya', 'Wei'] }),
});

const { results, summary } = await response.json();

console.log(summary.match_rate);   // 100
results.forEach(r => console.log(r.query, r.gender, r.probability));
import requests

response = requests.post(
    "https://namegender.com/api/v1/gender/bulk",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"names": ["Ayşe", "Mehmet", "Priya", "Wei"]},
)

data = response.json()
print(data["summary"]["match_rate"])   # 100

for row in data["results"]:
    print(row["query"], row["gender"], row["probability"])
{
  "credits_charged": 4,
  "credits_remaining": 49995,
  "request_id": "req_71d0a9e3c5b24f86",
  "took_ms": 2,
  "summary": {
    "total": 4,
    "identified": 4,
    "unknown": 0,
    "match_rate": 100
  },
  "results": [
    { "query": "Ayşe",   "gender": "female", "probability": 100, "sample_size":  655, "confidence": "high", "source": "db" },
    { "query": "Mehmet", "gender": "male",   "probability": 100, "sample_size": 1130, "confidence": "high", "source": "db" },
    { "query": "Priya",  "gender": "female", "probability": 100, "sample_size": 2993, "confidence": "high", "source": "db" },
    { "query": "Wei",    "gender": "male",   "probability":  86, "sample_size":  136, "confidence": "high", "source": "db" }
  ]
}

Tulokset palautetaan samassa järjestyksessä kuin lähetsit ne. Hyvitykset veloitetaan nimen mukaan, ja koko pyyntö hylätään ennen mitään työtä, jos saldosi ei ole riittävä, joten et koskaan saa puoliksi käsiteltyä erää.

Yhteenvetolohko näyttää osumaprosentin yhdellä silmäyksellä, joten voit päättää, tarvitseeko syöte puhdistusta ennen loput käsittelyä.

POST GET DELETE https://namegender.com/api/v1/batches
Markdown

Tiedostotyöt

Lataa enintään 100 Mt:n ja 1 000 000 rivin CSV- tai XLSX-tiedosto ja saat sen takaisin sukupuolisarakkeet jokaiselle riville lisättyinä. Yksi krediitti riviltä, veloitetaan vain, jos työ valmistuu.

  1. 1. POST /batches Lähetä tiedosto ja name_column. Työ lisätään jonoon heti.
  2. 2. GET /batches/{id} Lue työtä, kunnes status on completed tai failed. poll_after_seconds kertoo, kuinka kauan lukujen välillä odotetaan.
  3. 3. GET /batches/{id}/result Lataa tulos. Se palautetaan ladatussa muodossa.
Parametri Tyyppi Kuvaus
file
pakollinen
file CSV, TSV tai XLSX, jossa on otsikkorivi.
name_column
pakollinen
string Nimet sisältävän sarakkeen otsikko täsmälleen kuten tiedostossa. Pakollinen, ellei start=false.
country_column
valinnainen
string Sarakkeen otsikko, jossa on maakoodi jokaisella rivillä.
country
valinnainen
string Oletusmaa riveille, joilla maata ei ole.
ai_fallback
valinnainen
boolean Kysy tekoälymallilta nimiä, joita ei ole aineistossa. Edellyttää tekoälysuostumusta asetuksissa.
best_guess
valinnainen
boolean Palauta todennäköisempi sukupuoli, vaikka näyttö olisi heikkoa.
delete_after_download
valinnainen
boolean Tuloksen voi ladata kerran, minkä jälkeen se poistetaan.
start
valinnainen
boolean false: vain lataa ja tarkastele. Oletus on true.
# 1. Upload and start
curl -X POST "https://namegender.com/api/v1/batches" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: 6f1c2e0a-customers-2026-09" \
  -F "file=@customers.csv" \
  -F "name_column=first_name" \
  -F "country_column=country"

# 2. Poll until status is completed or failed
curl "https://namegender.com/api/v1/batches/B-7K2M9QX4TA" \
  -H "Authorization: Bearer YOUR_API_KEY"

# 3. Download the result
curl "https://namegender.com/api/v1/batches/B-7K2M9QX4TA/result" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o customers-gender.csv
import { NameGender } from 'namegender';
import { openAsBlob } from 'node:fs';
import { writeFile } from 'node:fs/promises';

const client = new NameGender(process.env.NAMEGENDER_API_KEY);

const job = await client.batches.create(await openAsBlob('customers.csv'), {
  filename: 'customers.csv',
  name_column: 'first_name',
  country_column: 'country',
});

const done = await client.batches.wait(job.id);
if (done.status === 'failed') throw new Error(done.error.code);

const file = await client.batches.download(done.id);
await writeFile('customers-gender.csv', Buffer.from(await file.arrayBuffer()));
from namegender import NameGender

client = NameGender("YOUR_API_KEY")

job = client.batches.create("customers.csv", name_column="first_name", country_column="country")

done = client.batches.wait(job["id"])
if done["status"] == "failed":
    raise RuntimeError(done["error"]["code"])

client.batches.download(done["id"], "customers-gender.csv")
{
  "id": "B-7K2M9QX4TA",
  "status": "completed",
  "source": "api",
  "file": { "name": "customers.csv", "format": "csv" },
  "columns": { "name": "first_name", "country": "country" },
  "rows": { "total": 200000, "processed": 200000, "identified": 187412 },
  "progress": 100,
  "credits": { "reserved": 200000, "charged": 200000 },
  "summary": { "male": 96120, "female": 91292, "unknown": 12588, "from_llm": 0 },
  "error": null,
  "result": {
    "url": "https://namegender.com/api/v1/batches/B-7K2M9QX4TA/result",
    "format": "csv",
    "expires_at": "2026-10-01T10:04:12Z"
  },
  "poll_after_seconds": null
}

name_column vaaditaan käynnistykseen: väärä arvattu sarake kuluttaisi krediittejä väärään dataan. Lähetä start=false nähdäksesi ensin sarakkeet, esikatselun ja hinnan, ja käynnistä sitten työ.

Lähetä Idempotency-Key-otsake. Uusi yritys samalla avaimella palauttaa ensimmäisen työn eikä avaa toista.

Enintään 3 työtä voi olla jonossa tai käynnissä yhtä aikaa. Aloittamattoman työn voi peruuttaa ja sen krediitti palautetaan; käsittelyssä olevaa työtä ei voi pysäyttää.

POST https://your-server.example/…
Markdown

Webhookit

Lisää päätepiste hallintapaneelin Webhookit-kohdassa, niin lähetämme sille allekirjoitetun POST-pyynnön, kun tiedostotyö valmistuu tai epäonnistuu. Tilaa ei tarvitse kysellä.

Tapahtuma Tyyppi Kuvaus
batch.completed BatchJob Työ valmistui. Runko sisältää työn täsmälleen samassa muodossa kuin GET /batches/{id} sen palauttaa.
batch.failed BatchJob Työ epäonnistui eikä siitä veloitettu. Haarauta error.code-arvon mukaan.
credits.low CreditsAlert Nykyisellä tahdilla krediitit riittävät enintään 7 päivää. Tarkistetaan tunneittain; tilausten uusiminen otetaan huomioon.
credits.depleted CreditsAlert Saldo on tyhjä ja pyynnöt hylätään koodilla 402. Tarkistetaan tunneittain.
webhook.test object Lähetetään vain hallintapaneelin "Lähetä testitapahtuma" -painikkeella ja vain kyseiseen päätepisteeseen.
Otsake Tyyppi Kuvaus
NameGender-Signature
pakollinen
string t=<unix-sekunnit>,v1=<heksa>. Salaisuuden uusimisen jälkeen mukana on 24 tunnin ajan toinen v1.
NameGender-Event-Id
pakollinen
string Tapahtuman tunnus. Sama saman tapahtuman jokaisella uusintayrityksellä.
NameGender-Delivery-Attempt
pakollinen
integer Ensimmäisellä yrityksellä 1, enintään 8.

Tarkista jokainen pyyntö

v1 on HMAC-SHA256 aikaleimasta, pisteestä ja raa'asta rungosta päätepisteesi salaisuudella. Vertaa vakioajassa, hyväksy pyyntö, jos jokin v1 täsmää, ja hylkää aikaleima, joka poikkeaa kellostasi yli viisi minuuttia. Asiakaskirjastot tekevät kaiken tämän yhdellä kutsulla.

Tarkista runko täsmälleen sellaisena kuin se saapui. Kehys, joka jäsentää JSONin ja sarjallistaa sen uudelleen, muuttaa tavuja, eikä allekirjoitus täsmää.
import express from 'express';
import { webhooks, NameGenderWebhookError } from 'namegender';

const app = express();

// express.raw, not express.json: the signature covers the exact bytes.
app.post('/namegender', express.raw({ type: 'application/json' }), async (req, res) => {
  let event;
  try {
    event = await webhooks.verify(
      req.body,
      req.get('NameGender-Signature'),
      process.env.NAMEGENDER_WEBHOOK_SECRET,
    );
  } catch (error) {
    if (error instanceof NameGenderWebhookError) return res.sendStatus(400);
    throw error;
  }

  res.sendStatus(204);   // answer first, then do the work

  if (event.type === 'batch.completed') {
    const job = event.data.object;   // same object as GET /batches/{id}
  }
});
import os
from flask import Flask, request
from namegender import webhooks, WebhookVerificationError

app = Flask(__name__)

@app.post("/namegender")
def namegender_webhook():
    try:
        event = webhooks.verify(
            request.get_data(),   # raw bytes, not request.json
            request.headers.get("NameGender-Signature"),
            os.environ["NAMEGENDER_WEBHOOK_SECRET"],
        )
    except WebhookVerificationError:
        return "", 400

    if event["type"] == "batch.completed":
        job = event["data"]["object"]   # same object as GET /batches/{id}
    return "", 204
<?php

$body   = file_get_contents('php://input');   // raw body, before json_decode
$header = $_SERVER['HTTP_NAMEGENDER_SIGNATURE'] ?? '';
$secret = getenv('NAMEGENDER_WEBHOOK_SECRET');

parse_str(str_replace(',', '&', $header), $parts);   // t=…&v1=…
preg_match_all('/v1=([0-9a-f]{64})/', $header, $m);

$t = (int) ($parts['t'] ?? 0);
$expected = hash_hmac('sha256', $t . '.' . $body, $secret);
$valid = abs(time() - $t) <= 300
    && array_filter($m[1], fn ($sig) => hash_equals($expected, $sig));

if (! $valid) {
    http_response_code(400);
    exit;
}

http_response_code(204);
$event = json_decode($body, true);
{
  "id": "evt_16f7c01502fda5436e8b7c4e",
  "type": "batch.completed",
  "created_at": "2026-09-24T10:04:12Z",
  "api_version": "v1",
  "data": {
    "object": {
      "id": "B-7K2M9QX4TA",
      "status": "completed",
      "rows": { "total": 200000, "processed": 200000, "identified": 187412 },
      "credits": { "reserved": 200000, "charged": 200000 },
      "result": { "url": "…/api/v1/batches/B-7K2M9QX4TA/result", "format": "csv" }
    }
  }
}
  • Vastaa millä tahansa 2xx-tilalla 10 sekunnin kuluessa ja tee työ vasta sen jälkeen.
  • Kaikki muut vastaukset, myös uudelleenohjaukset, yritetään uudelleen enintään 7 kertaa noin 45 tunnin aikana. Jos päätepiste epäonnistuu kolmen päivän ajan, se poistetaan käytöstä ja saat sähköpostin.
  • Uusintayrityksellä on sama tunnus, eikä järjestystä taata. Poista kaksoiskappaleet NameGender-Event-Id:n avulla ja lue työ GET-pyynnöllä, kun tarvitset sen nykyisen tilan.
  • Kun uusit salaisuuden hallintapaneelissa, vanha allekirjoittaa vielä 24 tuntia, joten voit päivittää palvelimesi menettämättä tapahtumia.
  • Uusia tapahtumatyyppejä voidaan lisätä. Vastaa 2xx tyyppiin, jota et käsittele, ja jätä se huomiotta.
GET POST https://namegender.com/api/v1/gender/countries
Markdown

Maantieteellinen jakautuminen

Palauttaa maat, joissa nimi on rekisteröity. Palautuu kaksi listaa, joita ei ole tarkoituksella yhdistetty: `registrations` on mitattu volyymi, vertailukelpoinen vain niiden yhdentoista maan välillä, jotka julkaisevat laskettuja nimitilastoja, ja `attested_in` on esiintyminen ilman painotusta.

Tämä ei ole alkuperämaa- tai etnisyyspäätelmä, eikä sitä saa käyttää sellaisena. Laskettuja tilastoja on saatavilla vain yhdestätoista maasta: Yhdysvalloista, Yhdistyneestä kuningaskunnasta, Ranskasta, Kanadasta, Espanjasta, Irlannista, Norjasta, Itävallasta, Israelista, Puolasta ja Sveitsistä. Siksi "Mehmet"-nimen haussa ensimmäisinä ovat Sveitsi ja Ranska, kumpikin noin 29 prosentin osuudella, eikä Turkki näy rankingissa lainkaan — Turkki ei julkaise lukumääriä. Turkki kuitenkin esiintyy kohdassa `attested_in`.
Parametri Tyyppi Kuvaus
name
pakollinen
string Haettava nimi.
limit
valinnainen
integer Kuinka monta laskettua maata listataan kohdassa `registrations`. 1–100, oletus 25. Osuuksia ei lasketa uudelleen lyhyemmälle listalle.
curl "https://namegender.com/api/v1/gender/countries?name=Mehmet" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "credits_charged": 1,
  "credits_remaining": 49994,
  "took_ms": 3,
  "name": "Mehmet",
  "basis": {
    "counted_sources": ["ssa", "ons", "nrs", "nisra", "insee", "statcan", "ine", "cso", "ssb", "statat", "pesel", "bfs"],
    "counted_countries": 8,
    "attested_countries": 16,
    "note": "Shares are calculated only across countries that publish counted name statistics…"
  },
  "registrations": [
    { "country": "CH", "count": 3890, "share": 29.45, "gender": "male", "source": "bfs"    },
    { "country": "FR", "count": 3775, "share": 28.58, "gender": "male", "source": "insee"  },
    { "country": "PL", "count": 1808, "share": 13.69, "gender": "male", "source": "pesel"  }
  ],
  "attested_in": ["AL","AT","AU","BE","CA","CH","ES","FR","GB","KS","MK","NO","PL","SE","TR","US"]
}

Yksi hyvitys per pyyntö. `share` lasketaan kaikkien lukumääriä julkaisevien maiden kesken, joten se summautuu 100:ksi vain, kun `limit` ei lyhennä listaa; myös `counted_countries` lasketaan ennen lyhentämistä. `attested_in` ei sisällä prosenttiosuuksia, koska näille tietueille ei ole lukumäärää, josta laskea niitä.

GET POST https://namegender.com/api/v1/salutation
Markdown

Tervehdys

Muuttaa nimen kirjeeseen tai sähköpostiin valmiiksi tervehdykseksi kymmenellä kielellä: “Sehr geehrte Frau Dr. Müller,”, “Sayın Ahmet Bey,”, “Madame,”, “山田様”. Sukupuolihaku sisältyy hintaan ja maksaa saman yhden hyvityksen. Jokaisessa vastauksessa on muodollinen, epämuodollinen ja neutraali rivi sekä muodollisen rivin osat.

Parametri Tyyppi Kuvaus
name
pakollinen
string Koko nimi tittelit mukaan lukien (“Dr. Anna Müller”). Lähetä tämä tai `first_name` ja `last_name`.
first_name, last_name
valinnainen
string Käytä näitä `name`-kentän sijaan, kun CRM:si tallentaa nimet erillisiin kenttiin. Mitään ei jäsennetä.
email
valinnainen
string Sähköpostiosoite, jota käytetään, kun nimeä ei lähetetä. Nimi luetaan @-merkkiä edeltävästä osasta ilman tarkkeita (Mueller, ei Müller); info@ ja muut rooliosoitteet saavat organisaatioille tarkoitetun tervehdyksen.
language
valinnainen
string Tervehdyksen kieli: en, en-US, en-GB, de, de-AT, de-CH, fr, es, it, pt, pt-PT, pt-BR, nl, tr, pl, ja. Ilman sitä: `locale`-tunnisteen kieli, sitten maan pääkieli, sitten englanti. Tukematon kieli on virhe, ei koskaan hiljainen vaihto englantiin.
country, locale, ip
valinnainen
string Maavihje sukupuolihakua varten, kuten sukupuolipäätepisteissä. Se valitsee kielen vain, kun `language` ei ole lähetetty.
gender
valinnainen
string `male`, `female` tai `neutral`, kun tiedät sen jo. Ohittaa haun; `neutral` antaa aina neutraalin muodon.
min_probability
valinnainen
integer Pienin todennäköisyys sukupuolen mukaiselle tervehdykselle, 50–100. Oletus 90.
title
valinnainen
string Erillisessä kentässä säilytettävä akateeminen titteli, kuten `Dr.` Käytetään saksan- ja englanninkielisissä tervehdyksissä.
curl -X POST "https://namegender.com/api/v1/salutation" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Dr. Anna Müller", "language": "de"}'
{
  "credits_charged": 1,
  "credits_remaining": 49993,
  "language": "de",
  "form": "gendered",
  "reason": null,
  "salutation": {
    "formal": "Sehr geehrte Frau Dr. Müller,",
    "informal": "Liebe Anna,",
    "neutral": "Guten Tag Dr. Anna Müller,"
  },
  "parts": { "opening": "Sehr geehrte", "courtesy": "Frau", "academic": "Dr.", "name": "Müller" },
  "gender": "female",
  "gender_source": "lookup",
  "probability": 99,
  "first_name": "Anna",
  "last_name": "Müller",
  "name_type": "personal"
}

Väärä sukupuoli on pahempi kuin ei mitään, joten sukupuolen mukaista muotoa käytetään vain, kun sukupuoli tiedetään vähintään `min_probability`-todennäköisyydellä ja kielellä on tarvitsemansa nimen osa. Muuten `form` on `neutral` ja `reason` kertoo syyn. Yritykset ja roolipohjaiset osoitteet saavat `form: organization`. `best_guess` ja `ai_fallback` eivät koske tätä.

POST /api/v1/salutation/bulk ottaa enintään 100 nimeä kentässä `names`, yksi hyvitys kustakin, samoilla asetuksilla jokaiselle nimelle.

GET POST https://namegender.com/api/v1/name-check
Markdown

Nimen tarkistus

Kertoo, näyttääkö rekisteröitymis- tai liidilomakkeeseen kirjoitettu nimi oikean ihmisen nimeltä, ja miksi. Se tunnistaa näppäimistön satunnaisen hakkaamisen (“asdf qwerty”), paikkamerkit (“Test Test”, “John Doe”, “n/a”), kuvitteelliset hahmot (“Mickey Mouse”), kirosanat sekä numerot, symbolit tai sähköpostiosoitteet nimikentässä. Yksi hyvitys nimeä kohden.

Tämä ei ole henkilöllisyyden varmennus, eikä se koskaan sano nimeä vääräksi. Käytä arvoja `implausible` ja `suspicious` tietueen merkitsemiseen tai lisätietojen pyytämiseen, älä ihmisten automaattiseen hylkäämiseen.
Parametri Tyyppi Kuvaus
name
pakollinen
string Nimi sellaisena kuin se kirjoitettiin lomakkeeseen. Lähetä tämä tai `first_name` ja `last_name`.
first_name, last_name
valinnainen
string Käytä näitä `name`-kentän sijaan, kun lomakkeessasi on erilliset kentät.
country, locale, ip
valinnainen
string Maavihje, kuten sukupuolipäätepisteissä. Auttaa nimen jäsentämisessä ja rekisterihaussa.
curl -X POST "https://namegender.com/api/v1/name-check" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "asdf qwerty"}'
{
  "credits_charged": 1,
  "credits_remaining": 49992,
  "query": "asdf qwerty",
  "assessment": "implausible",
  "score": 0,
  "signals": [
    { "code": "placeholder", "severity": "high", "part": "first_name", "value": "asdf" },
    { "code": "keyboard_pattern", "severity": "high", "part": "first_name", "value": "asdf" },
    { "code": "keyboard_pattern", "severity": "high", "part": "last_name", "value": "qwerty" }
  ],
  "first_name": "Asdf",
  "last_name": "Qwerty",
  "name_type": "personal",
  "evidence": { "first_name_status": "not_found", "first_name_counted_records": 0 }
}

`assessment` on `implausible`, kun mukana on vakava signaali (näppäimistökuvio, toistuvat kirjaimet, paikkamerkki, kirosana, sähköposti tai URL), `suspicious` keskitason signaalilla (kuvitteellinen hahmo, numerot, symbolit, yrityksen nimi, ei vokaaleja, hyvin pitkä) tai kahdella lievällä, ja muuten `plausible`. `score` kulkee 0:sta 100:aan omaa kynnysarvoasi varten. Virallisista syntymärekistereistä löytyvä etunimi nostaa sitä; nimi, jota emme ole koskaan nähneet, ei yksinään laske sitä. Sukunimiä arvioidaan vain niiden muodon perusteella: tämän päätepisteen takana ei ole sukunimiaineistoa.

Testattu 4 610 oikealla etunimellä yhdeksällä kirjoitusjärjestelmällä, yksinään ja sukunimen kanssa: yhtäkään ei merkitty epäilyttäväksi tai epäuskottavaksi. Sukunimet kuten Null, Test tai Cockburn, kaksikirjaimiset nimet kuten Ng ja yksiosaiset nimet jätetään tarkoituksella rauhaan.

POST /api/v1/name-check/bulk ottaa enintään 100 nimeä kentässä `names`, yksi hyvitys kustakin, ja palauttaa yhteenvedon kolmesta arviosta.

GET POST https://namegender.com/api/v1/age
Markdown

Ikä nimestä

Kuinka vanhoja tietyn etunimen elossa olevat kantajat ovat: mediaani-ikä, keskimmäinen puolikas (`age_range`) ja keskimmäiset 80 % (`age_range_80`). Brittany Yhdysvalloissa: mediaani 36, puolet 32 ja 38 vuoden välillä. Yksi hyvitys nimeä kohden.

Tämä kuvaa ryhmää, ei yksittäistä ihmistä. Useimmilla nimillä keskimmäinen puolikas kattaa 10:stä 25 vuoteen. Käytä sitä kohdeyleisöanalyysiin, segmentointiin ja tutkimukseen, älä koskaan päättämään mitään yksittäisestä ihmisestä: luotonantoa, rekrytointia, asumista, vakuutuksia, kelpoisuutta tai ikätarkistuksia.
Parametri Tyyppi Kuvaus
name
pakollinen
string Etunimi tai koko nimi; käytetään etunimeä.
gender
valinnainen
string `male` tai `female`, jos haluat käyttää vain sen sukupuolen tietoja. Leslie-nimiset miehet ovat 16 vuotta vanhempia kuin Leslie-nimiset naiset.
country, locale, ip
valinnainen
string Maavihje, kuten sukupuolipäätepisteissä. Katetut maat: US, FR ja NO. Ilman vihjettä käytetään Yhdysvaltain sarjaa, ja `country_source` on `default`. Muu maa palauttaa `reason: country_not_covered` eikä maksa mitään.
curl "https://namegender.com/api/v1/age?name=Brittany" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "credits_charged": 1,
  "credits_remaining": 49991,
  "request_id": "req_8f2c1a",
  "name": "Brittany",
  "first_name": "Brittany",
  "gender": null,
  "age": 36,
  "age_range": { "low": 32, "high": 38 },
  "age_range_80": { "low": 28, "high": 41 },
  "birth_year": 1990,
  "sample_size": 353775,
  "births": 361434,
  "country": "US",
  "country_source": "default",
  "source": "ssa",
  "series": "1880-2024",
  "reference_year": 2026,
  "reason": null
}

Menetelmä: rekisteröidyt syntymät nimen, sukupuolen ja vuoden mukaan, ja kukin vuosi painotetaan sillä osuudella syntymäkohortista, joka on yhä elossa (SSA:n kohorttikuolleisuustaulut). Lähteet: SSA:n syntymät 1880–2024 (US), INSEE 1900–2025 (Ranska), SSB 1945–2025 (Norja). `reason` on `not_found`, jos nimeä ei ole sarjassa, ja `insufficient_data`, jos eläviä ihmisiä on alle 100.

Ulkomailla syntyneet eivät ole missään sarjassa, joten maahanmuuttajien keskuudessa yleiset nimet näyttävät todellista nuoremmilta. Norjan sarja alkaa vuodesta 1945, joten aiemmin syntyneet puuttuvat. Yhdysvaltain kuolleisuustaulua käytetään myös Ranskalle ja Norjalle.

POST /api/v1/age/bulk ottaa enintään 100 nimeä kentässä `names`, yksi hyvitys kustakin, lähetysjärjestyksessä.

GET https://namegender.com/api/v1/me
Markdown

Saldo

Lue krediittisaldosi ja se, mitä tämän päivän ilmaisesta kiintiöstä on jäljellä. Tästä kutsusta ei veloiteta.

curl "https://namegender.com/api/v1/me" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "email": "you@example.com",
  "credits_remaining": 50099,
  "purchased_credits": 50000,
  "free_today": 99,
  "free_daily_limit": 100,
  "lifetime_requests": 12480
}

Ei-latinalaiset kirjoitusjärjestelmät

Lähetä nimi sen omassa kirjoitusjärjestelmässä, ja muunnamme sen vertailuaineistoon. Ei ylimääräisiä parametreja: tunnistamme kirjoitusjärjestelmän ja valitsemme sille sopivan strategian.

Tuettu
Araabian kirjoitus

Araabian kirjoitus jättää lyhyet vokaalit pois, joten محمد translitteroidaan muotoon "mhmd" kun taas aineistomme sisältää "muhammed". Käytämme konsonanttikuvioita vastaavuuden määrittämiseen ja säilytämme feminiinin ة -merkin, joten خالد (Khalid) ja خالدة (Khalida) pysyvät erillään. Kattaa myös persia- ja urdunkielisiä nimiä arabian kirjoituksella.

Kiinalaiset merkit

Muunnettu pinyin-muotoon. Sukunimi tulee ensin kiinaksi, joten 李明 on sukunimeltään 李 (Li) ja etunimeltään 明 (Ming) — poistamme sukunimen ennen hakua. Yksittäinen merkki on täydellinen etunimi ja käsitellään yhtenä.

Korealainen

Sama sukunimi-ensin -käsittely kuin kiinassa, käyttäen yleisiä korealaisia sukunimiä.

Japanilainen kana

Hiragana ja katakana luetaan oikein (ひろし → Hiroshi).

Kyrillinen

Venäläiset, ukrainalaiset, bulgarialaset ja serbialaset nimet translitteroidaan suoraan.

Devanagari

Hindi-, marathi- ja nepalilaisia nimiä. Käsittelemme sisäisen loppuvokaalin (राहुल → Rahul, ei "Rahula").

Ei tuettu
Japanilainen kanji

Japanilaisten kanjien ja kiinalaisten merkkien Unicode-alue on sama, joten emme voi erottaa niitä pelkästään merkkien perusteella. Han-syöte tulkitaan kiinaksi: kanji-nimelle, jota meillä ei ole tallennettu sellaisenaan, käytetään mandariinin lukemista, mikä japanilaisilla nimillä on yleensä väärä (健太 lukemisena on "jian tai" kun nimi on Kenta). Meillä olevat nimet täsmäävät täsmälleen ja ovat oikein. Lähetä japanilaiset nimet kananalla tai latinaksi varmuuden vuoksi.

Thai

Thain kieli jättää vokaalit pois kuten arabia ja tarvitsee oman vastaavuuskerroksen. Ei vielä rakennettu, joten nämä palauttavat null.

# Arap yazısı — ünsüz iskeleti üzerinden eşleşir
curl "https://namegender.com/api/v1/gender?name=%D9%85%D8%AD%D9%85%D8%AF" -H "Authorization: Bearer KEY"
# -> { "gender": "male", "probability": 100, "source": "script", "matched_as": "mahamad" }

# Çince — soyadı ayıklanır, verilen ad sorgulanır
curl "https://namegender.com/api/v1/gender?name=%E6%9D%8E%E6%98%8E" -H "Authorization: Bearer KEY"
# -> { "gender": "male", "probability": 92, "source": "db" }

Kopiointi epäonnistui. Valitse ja kopioi teksti.

Kun emme voi muuntaa scriptiä lainkaan, vastaus on gender: null ja source: none. Tarkista source-kenttä: script tarkoittaa, että teimme transliteraation, db tarkoittaa, että täsmäsimme lähettämäsi merkit suoraan. Näillä on eri luottamustaso, ja näytämme sinulle, kumman sait.

Vastauskentät

Identtiset kaikissa päätepisteissä.

Kenttä Tyyppi Kuvaus
credits_charged integer Kuinka monta krediittiä tästä kutsusta veloitettiin.
credits_remaining integer Käytettävissä oleva saldosi, kun tämä kutsu on maksettu: ostetut krediitit sekä se, mitä tämän päivän ilmaisesta kiintiöstä on jäljellä.
query string Syöte täsmälleen sellaisena kuin lähetit sen, ennen minkäänlaista siistimistä.
name string Nimi, jonka etsimme otsikkoiden ja sukunimien poistamisen jälkeen.
first_name string Syötteestä erotettu etunimi. Palautetaan myös, kun gender on null, ilman lisäkustannusta.
middle_name string Muut etunimet etunimen ja sukunimen välissä. Nimikirjaimet jätetään pois.
last_name string Sukunimi, mukaan lukien etuliitteet kuten van tai de la. Käyttäjänimissä aina null.
name_type string personal, organization (Acme Oy) tai role (info@, asiakaspalvelu). Organisaatiot ja roolit eivät saa sukupuolta.
gender string male, female tai null, kun emme ole tarpeeksi varmoja.
country string Maa, josta tilastot tulevat, tai null globaalille aggregaatille.
country_source string Mistä maa tuli: country, locale, ip tai null, kun vastaus koskee koko maailmaa.
sample_size integer Tämän vastauksen taustalla olevien rekisteröityjen henkilöiden määrä. 0 tarkoittaa, että lähde julkaisee osuuksia tai mainintoja, ei lukumäärää, jonka voisimme tarkistaa.
probability integer Luottamus ilmoitettuun sukupuoleen, 50–100. 0, kun sukupuoli on null.
took_ms integer Haun ratkaisemiseen käyttämämme aika kokonaisina millisekunteina. Oman puolesi verkkoaika ei sisälly siihen.

Kaksi kenttää, joita muut palvelut eivät tarjoa

source kertoo, mistä vastaus tuli: vertailutietokannasta, epätarkkaan vastaavuudesta tai tekoälyfallback-ratkaisusta. matched_as nimeää tietueen, johon epätarkka vastaavuus osui. Yhdessä ne antavat sinulle mahdollisuuden päättää, kuinka paljon yksittäiseen tulokseen voi luottaa ilman että hyväksyt sen sellaisenaan.

Kenttä Tyyppi Kuvaus
source string db, script, fuzzy, llm tai none.
confidence string korkea, keskitaso, matala, vahvistamaton tai tuntematon näyttötodisteiden perusteella.
matched_as string Epätarkan vastaavuuden tapauksessa tietokannan merkintä, joka osui. Muutoin null.

Virheellä

HTTP-tilakoodi kertoo, että kutsu epäonnistui. JSON-runko nimeää syyn kentässä error, selittää sen kentässä message ja antaa request_id-tunnisteen, jonka voit mainita tuelle, sekä dokumentaatiolinkin alla olevaan vastaavaan riviin. Haaraudu error-kentän mukaan, älä koskaan message-kentän: viestit on käännetty ja niitä voidaan muotoilla uudelleen.

Koodi HTTP Merkitys
missing_key 401 API-avainta ei lähetetty. Lisää pyyntöön Authorization: Bearer -otsikko tai X-Api-Key-otsikko.
invalid_key 401 Tämä API key ei ole kelvollinen.
revoked_key 401 Tämä API key on peruutettu.
blocked 403 Tämä tili on jäädytetty. Ota yhteyttä tukeen.
email_not_verified 403 Tämän tilin sähköpostiosoitetta ei ole vielä vahvistettu. Avaa lähettämämme vahvistuslinkki tai pyydä uusi hallintapaneelista.
ip_not_allowed 403 Pyyntöjä tästä IP-osoitteesta ei sallita tälle avaimelle.
proxy_secret_required 403 Tämä avain toimii vain sen API-markkinapaikan kautta, joka allekirjoittaa jokaisen pyynnön. Käytä siellä sinulle myönnettyä avainta.
forbidden 403 Sinulla ei ole oikeutta suorittaa tätä toimintoa.
no_credits 402 Krediitit ovat lopussa. Osta lisää tai odota päivittäisen ilmaisen kiintiösi nollautumista.
missing_input 400 Parametri "name" on pakollinen.
invalid_input 422 Parametri "name" ei ole kelvollinen.
too_many_items 422 Yhteen pyyntöön voi sisältyä enintään 100 kohdetta.
unknown_endpoint 404 Tässä polkussa ei ole endpointiä. Tarkista URL API-dokumentaatiosta.
method_not_allowed 405 Tämä endpoint ei hyväksy DELETE-pyyntöjä.
payload_too_large 413 Pyyntörunko on liian suuri.
rate_limited 429 Liian monta pyyntöä. Hidasta vauhtia ja yritä uudelleen hetken kuluttua.
batch_not_found 404 Tällä tilillä ei ole tiedostotyötä tällä tunnuksella.
batch_not_startable 409 Tämä työ on jo käynnistetty tai suljettu.
batch_not_finished 409 Tämä työ ei ole vielä valmis. Tarkista sen tila ja lataa tulos, kun työ on valmis.
batch_in_progress 409 Tätä työtä käsitellään parhaillaan, eikä sitä voi nyt peruuttaa. Poista se, kun se on valmis.
result_gone 410 Tällä työllä ei ole ladattavaa tulosta. Se epäonnistui, peruutettiin, vanhentui tai sen kertaladattava tulos on jo haettu.
too_many_batches 429 Sinulla on jo 100 tiedostotyötä käynnissä. Odota, että yksi valmistuu, ennen kuin aloitat uuden.
not_ready 503 Nimen tietokantaa päivitetään. Yritä hetken kuluttua uudelleen.
server_error 500 Jotain meni pieleen palvelimella. Olemme saaneet ilmoituksen.
{
  "error": "no_credits",
  "message": "You are out of credits. Buy more or wait for your daily free quota to reset.",
  "request_id": "req_9c1f5b2a7e0d4a13",
  "docs": "https://namegender.com/docs#error-no_credits"
}

Kopiointi epäonnistui. Valitse ja kopioi teksti.

Nopeustrajoitukset

Normaali käyttö ei osu rajoitukseen. Raja on olemassa paljastuneen avaimen väärinkäytön pysäyttämiseksi, ja se lasketaan API-avainta kohden eikä IP-osoitetta kohden, jotta useat asiakkaat samalla palvelimella eivät kuluta toistensa kvantiteettia.

Nykyinen raja: 1 200 pyyntöä minuutissa avaimella. Tarvitset lisää? Kysy niin nostamme rajan tilillesi.

Jokainen vastaus sisältää tavanomaiset X-RateLimit-Limit ja X-RateLimit-Remaining headerit.

Välilyönnit ja muut kuin latinalaiset kirjaimet GET-pyynnöissä

Nimi kuten Ayşe Yılmaz tai 中村 ei kulje URL-osoitteessa sellaisenaan. Prosenttikoodaa arvo, kun kutsut GET-menetelmällä, tai lähetä se JSON-rungossa POST-menetelmällä, jolloin koodausta ei tarvita lainkaan.

Ayşe Yılmaz  ->  Ay%C5%9Fe%20Y%C4%B1lmaz
محمد          ->  %D9%85%D8%AD%D9%85%D8%AF
中村           ->  %E4%B8%AD%E6%9D%91

Kopiointi epäonnistui. Valitse ja kopioi teksti.