Del et fuldt navn i for- og efternavn
Ét kombineret navnefelt, ét API-kald, to rene felter — partiklerne, titlerne og den omvendte rækkefølge, som en håndskrevet deling går i stykker på, er allerede håndteret, og kønnet er i samme svar.
Det korte svar
- Send det kombinerede felt og få first_name og last_name tilbage — plus kønnet, nøjagtigheden og antallet af samples, i samme svar, for én credit.
- Navnepartikler (“van der”, “von den”, “de la”) og akademiske titler og jobtitler håndteres i stedet for at blive en faldgrube — og et omvendt “Rossi, Andrea” løses også, ud af navnedata og ikke ud af kommaet.
- Hvor begge halvdele kunne være det ene eller det andet, kommer afgørelsen fra, hvor ofte hver del optræder som fornavn mod hvor ofte den optræder som efternavn — ikke fra placeringen i strengen.
- Strict mode returnerer et tomt efternavn i stedet for et gæt, når efternavnet ikke findes i databasen, så du kan se hullet.
Hvorfor deling ved mellemrummet ikke virker
Næsten enhver kodebase har en version af dette: tag navnefeltet, del på blanktegn, første element er fornavnet, sidste er efternavnet. Det går gennem review, fordi testdata er engelsk, og det går tavst galt ved den første kunde, der ikke er.
Det dyre er måden, det fejler på. Intet kaster en exception. Du står med en database fuld af mennesker, hvis efternavn er “van”, en masseudsendelse der hilser dem sådan, og ikke én logrække der peger på årsagen.
Hvad der afgør delingen
Fire ting, i den rækkefølge — og den sidste kan en regelbaseret deling ikke have, fordi den kræver viden om, hvordan navne faktisk er fordelt.
- Titlerne ryger af først. “Prof. Dr.”, “Dipl.-Ing.”, “Managing Director” og resten af en vedligeholdt liste fjernes, før noget andet afgøres, så de aldrig ender i et navnefelt.
- Partiklerne bliver hos efternavnet. “van”, “van der”, “van den”, “von”, “von der”, “de”, “de la”, “du”, “le”, “di”, “des” og deres slægtninge genkendes som en del af det efternavn, de hører til.
- Tegnsætningen får ikke ansvaret for rækkefølgen. Kommaet i “Rossi, Andrea” fjernes sammen med titlerne, og rækkefølgen læses derefter ud af navnedata — et komma er en formateringsvane, og rigtig mange lister bruger det inkonsekvent. I CSV- og Excel-upload kan du i stedet oplyse kolonnens rækkefølge, og en oplyst rækkefølge bruges, som den er oplyst.
- Tvetydigheden afgøres af data. Hver kandidatdel slås op i både fornavns- og efternavnsdatabasen, og den del, der opfører sig langt mere som et efternavn end som et fornavn, er efternavnet.
Send en landekode med, og samme sammenligning sker mod det land i stedet for mod alle lande på én gang — og det er det, du vil, når du allerede ved, hvor listen kommer fra.
Sådan kalder du det
To endpoints gør dette, og hvilket du vil have, afhænger af, om du har brug for strict mode.
v2 — det nuværende API
POST https://gender-api.com/v2/gender/by-full-name
{ "full_name": "Anna van der Berg", "country": "NL" }
{
"result_found": true,
"first_name": "Anna",
"last_name": "van der Berg",
"gender": "female",
"probability": 0.98,
"details": { "credits_used": 1, "samples": 8961, "duration": "33ms" }
}
v1 — når du har brug for strict mode
Strict mode findes kun på v1-delingsendpointet. Hvis et tomt efternavn betyder mere for dig end at ligge på det nyere API, tag det her.
GET https://gender-api.com/get?split=Anna%20van%20der%20Berg&strict=true&key=…
- v2-reference for fulde navne — felter, fejl, OpenAPI-beskrivelse.
- v1-delingsreference — parameteren strict og dens præcise svar.
- Officielle klienter til PHP, Python, Node, Java, Go, Ruby, Rust, Perl og .NET.
Først: indeholder den kolonne overhovedet fulde navne?
Værd at vide, før du behandler en fil, du ikke selv har lavet. Send en stikprøve på op til 100 værdier, og du får tilbage, om de ser ud som fulde navne — og det koster ingen credits.
POST https://gender-api.com/v2/name-format-detect
{ "names": ["Sophie Jones", "Lorenzo Carlos", "Anna van der Berg"] }
{
"is_fullname": true,
"fullname_probability": 1,
"validHints": [ … ]
}
Vær klar over, hvad dette måler: fullname_probability er andelen af de sendte værdier, der består af mere end ét ord, og is_fullname er den andel over 0,6. Det er en vurdering af kolonnen, ikke af hvert enkelt navn — præcis hvad du har brug for, når du afgør, om der overhovedet skal deles, og ingen erstatning for selve delingen.
En blandet kolonne er også et rigtigt svar: nogle lister har “Thomas” og “John Smith” side om side, og delingen klarer begge, uden at du sorterer dem først.
Hvor den stadig har brug for din hjælp
En deling, der hævdede at klare alle navne i verden, ville lyve. Det er de tilfælde, hvor ingen regel løser strengen af sig selv.
Hvis du styrer formularen, er den billigste løsning slet ikke et API: to felter i stedet for ét, eller en oplysning om at formatet er “fornavn, efternavn”. Alt nedenfor gælder, når du ikke styrer den.
- Efternavnet først. Med eller uden komma vinder den læsning, navnedata understøtter, over en regel om placering — og den rammer rigtigt langt oftere end forkert, men det er ingen garanti. Ved du, at hele kolonnen har efternavnet først, så oplys det i uploaden i stedet for at stole på tegnsætningen.
- Navne på ét ord. Et mononym har intet efternavn at finde. Efternavnet kommer tilbage tomt frem for at fornavnet skæres i to.
- Inkonsekvent translitteration. Samme navn stavet på tre måder gennem en liste løses som tre navne, for det er, hvad det er i data.
- Dobbelte fornavne uden bindestreg. “Anna Maria” holdes sammen, hvor data understøtter det, men en liste, der blander “Anna Maria Rossi” og “Anna Rossi”, bliver ikke ensartet.
I alle fire tilfælde indsnævrer en landekode problemet, og strict mode gør de usikre rækker synlige i stedet for stille plausible. Et tomt felt, du kan filtrere, slår et forkert, du ikke opdager.
En hel kolonne på én gang
Ligger navnene i et regneark og ikke i en applikation, har du ikke brug for API'et. Upload filen, peg på kolonnen med de kombinerede navne, og de delte dele kommer tilbage som nye kolonner ved siden af dine data — op til 10,000,000 rækker pr. CSV eller 100,000 pr. Excel-projektmappe, og din projektmappe kommer tilbage urørt.
- Upload en CSV- eller Excel-fil — ingen kode, med den oprindelige formatering bevaret.
- Kønsbestemmelse i bulk — grænserne, prisen ved volumen og svarene til indkøb.
- Arbejder du i et regneark eller et CRM? Der findes færdige integrationer til Excel, Google Sheets, Shopify, HubSpot, Salesforce, Zapier og flere.
Ofte stillede spørgsmål
Hvorfor ikke bare dele ved mellemrummet?
Fordi mellemrummet ikke er grænsen. “Anna van der Berg” giver efternavnet “van” ved det første mellemrum og fornavnet “Anna van der” ved det sidste. Begge er forkerte, begge ser fine ud i en test med engelske navne, og begge fejler tavst i det øjeblik, et hollandsk, tysk, fransk, spansk eller portugisisk efternavn dukker op.
Hvad afgør, hvor delingen falder?
Først fjernes kendte titler, og navnepartikler som “van der”, “von den” og “de la” bliver hos efternavnet. Derefter vejes, hvor ofte hver del optræder som fornavn, mod hvor ofte den optræder som efternavn — det er altså ikke ordets placering, der afgør det, og heller ikke tegnsætningen: et komma fjernes sammen med titlerne i stedet for at læses som markør for “efternavn først”. I CSV- og Excel-upload kan du oplyse kolonnens rækkefølge direkte, og så bruges den, som du har oplyst den.
Hvad sker der, når efternavnet ikke findes i databasen?
Det er, hvad strict mode er til, på v1-endpointet. Med strict mode slået til kommer efternavnet tilbage tomt frem for gættet, så hullet er synligt i dine data. Uden det trækkes der alligevel et efternavn ud, så godt det kan.
Får jeg også kønnet?
Ja, i samme svar og for den samme ene credit — sammen med antallet af samples og nøjagtigheden bag. At dele navnet og bestemme kønnet er ét kald, ikke to.
Hvordan ved jeg, om min kolonne overhovedet indeholder fulde navne?
Send en stikprøve på op til 100 værdier til endpointet name-format-detect. Det koster ingen credits og svarer, om kolonnen ser ud som fulde navne, fornavne eller en blanding — nyttigt, før du beslutter, hvordan filen skal behandles.
Hvad koster delingen?
Én credit pr. navn, det samme som en almindelig kønsbestemmelse, fra €0.35 pr. 1.000. Credits købes på forhånd og udløber ikke.
Klarer den navne, der ikke er vestlige?
Delvist, og det er bedre at kende grænserne. Navne skrevet med efternavnet først uden separator, navne på ét ord og navne translittereret inkonsekvent er de svære tilfælde — ingen regel løser dem ud fra strengen alene. At sende en landekode med hjælper, for så vejes delene mod det land i stedet for mod alt.
PRØV DET PÅ DE NAVNE, DER FÅR DIN DELING TIL AT GÅ I STYKKER
100 gratis forespørgsler om måneden, uden kort. Tag de tyve rækker, din nuværende kode får forkert, og start med dem.
API-dokumentation · Upload i stedet en fil · Stil et spørgsmål