Gender API
Registrera dig gratis
Språk expand_more

Dela ett fullständigt namn i för- och efternamn

Ett kombinerat namnfält, ett API-anrop, två rena fält — partiklarna, titlarna och den omvända ordningen som får en handskriven delning att gå sönder är redan hanterade, och könet finns i samma svar.

Senast granskad 2026-09-01 Skriven och underhållen av teamet på Gender-API.com

Det korta svaret

  • Skicka det kombinerade fältet och få tillbaka first_name och last_name — plus könet, träffsäkerheten och antalet samples, i samma svar, för en credit.
  • Namnpartiklar (”van der”, ”von den”, ”de la”) och akademiska titlar och yrkestitlar hanteras i stället för att bli en fallgrop — och ett omvänt ”Rossi, Andrea” löser sig också, ur namndata och inte ur kommatecknet.
  • Där båda halvorna kunde vara antingen kommer avgörandet från hur ofta varje del förekommer som förnamn mot hur ofta den förekommer som efternamn — inte från positionen i teckenkedjan.
  • Strict mode returnerar ett tomt efternamn i stället för en gissning när efternamnet inte finns i databasen, så att du ser luckan.

Varför delning på blanksteget inte fungerar

Nästan varje kodbas har en version av det här: ta namnfältet, dela på blanktecken, första elementet är förnamnet, sista är efternamnet. Det går genom granskningen eftersom testdatan är engelsk, och det går tyst fel på den första kunden som inte är det.

Tre regler tillämpade på det fullständiga namnet ”Anna van der Berg”. Delning vid första blanksteget ger förnamnet Anna och efternamnet ”van”: fel. Delning vid sista blanksteget ger förnamnet ”Anna van der” och efternamnet Berg: också fel. Att känna igen ”van der” som en partikel som hör till efternamnet och kontrollera varje kandidat mot förnamns- och efternamnsdatabaserna ger förnamnet Anna och efternamnet ”van der Berg”. De två första reglerna är vad en handskriven delning oftast gör, och de misslyckas tyst.
Samma namn, tre regler, två felaktiga svar — och inget av dem ger ett felmeddelande.

Det dyra är hur det misslyckas. Inget kastar ett undantag. Du får en databas full av människor vars efternamn är ”van”, ett massutskick som hälsar dem så, och inte en enda loggrad som pekar på orsaken.

Vad som avgör delningen

Fyra saker, i den ordningen — och den sista kan en regelbaserad delning inte ha, eftersom den kräver kunskap om hur namn verkligen är fördelade.

Fyra former ett kombinerat namnfält kommer in i, och vad som avgör varje delning. ”Rossi, Andrea”: kommatecknet tas bort och ordningen läses ur namndata i stället för att antas ur positionen. ”Prof. Dr. Anna Maria de la Cruz”: titlar tas bort utifrån en känd lista, partikeln stannar hos efternamnet och båda förnamnen behålls. ”Andrea Rossi”, där båda delarna är rimliga namn: hur ofta varje del förekommer som förnamn vägs mot hur ofta den förekommer som efternamn, så positionen avgör inte. ”Markus Stefan Nonexistent” med strict mode på: efternamnet finns inte i databasen, så det kommer tillbaka tomt i stället för gissat.
Fyra verkliga former av samma fält, och vad som löser var och en.
  • Titlarna åker av först. ”Prof. Dr.”, ”Dipl.-Ing.”, ”Managing Director” och resten av en underhållen lista tas bort innan något annat avgörs, så att de aldrig hamnar i ett namnfält.
  • Partiklarna stannar hos efternamnet. ”van”, ”van der”, ”van den”, ”von”, ”von der”, ”de”, ”de la”, ”du”, ”le”, ”di”, ”des” och deras släktingar känns igen som en del av det efternamn de hör till.
  • Skiljetecken får inte bära ordningen. Kommatecknet i ”Rossi, Andrea” tas bort tillsammans med titlarna, och ordningen läses därefter ur namndata — ett kommatecken är en formateringsvana, och väldigt många listor använder det inkonsekvent. I CSV- och Excel-uppladdningen kan du i stället ange kolumnens ordning, och en angiven ordning används precis som angivet.
  • Tvetydigheten avgörs av data. Varje kandidatdel slås upp i både förnamns- och efternamnsdatabasen, och den del som beter sig betydligt mer som ett efternamn än som ett förnamn är efternamnet.

Skicka med en landskod och samma jämförelse sker mot det landet i stället för mot alla länder samtidigt — och det är vad du vill när du redan vet var listan kommer ifrån.

Så anropar du den

Två endpoints gör detta, och vilken du vill ha beror på om du behöver strict mode.

v2 — det nuvarande API:et

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 behöver strict mode

Strict mode finns bara på v1-delningsendpointen. Om ett tomt efternamn betyder mer för dig än att ligga på det nyare API:et, ta den.

GET https://gender-api.com/get?split=Anna%20van%20der%20Berg&strict=true&key=…

Först: innehåller den kolumnen ens fullständiga namn?

Värt att veta innan du behandlar en fil du inte har skapat själv. Skicka ett urval på upp till 100 värden och du får tillbaka om de ser ut som fullständiga namn — och det kostar inga 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": [ … ]
}

Var klar över vad detta mäter: fullname_probability är andelen av de skickade värdena som består av mer än ett ord, och is_fullname är den andelen över 0,6. Det är en bedömning av kolumnen, inte av varje enskilt namn — precis vad du behöver när du avgör om du alls ska dela, och ingen ersättning för själva delningen.

En blandad kolumn är också ett riktigt svar: vissa listor har ”Thomas” och ”John Smith” sida vid sida, och delningen klarar båda utan att du sorterar dem först.

Där den fortfarande behöver din hjälp

En delning som påstod att den klarar varje namn i världen skulle ljuga. Det här är fallen där ingen regel löser teckenkedjan på egen hand.

Om du styr formuläret är den billigaste lösningen inget API alls: två fält i stället för ett, eller en upplysning om att formatet är ”förnamn, efternamn”. Allt nedan gäller när du inte styr det.

  • Efternamnet först. Med eller utan kommatecken vinner den läsning som namndata stödjer över en regel om position — och den har rätt betydligt oftare än fel, men det är ingen garanti. Om du vet att hela kolumnen har efternamnet först, ange det i uppladdningen i stället för att förlita dig på skiljetecknen.
  • Namn på ett enda ord. Ett mononym har inget efternamn att hitta. Efternamnet kommer tillbaka tomt i stället för att förnamnet klyvs i två.
  • Inkonsekvent translitterering. Samma namn stavat på tre sätt genom en lista löses som tre namn, för det är vad det är i data.
  • Dubbelnamn utan bindestreck. ”Anna Maria” hålls samman där data stödjer det, men en lista som blandar ”Anna Maria Rossi” och ”Anna Rossi” blir inte enhetlig.

I alla fyra fallen snävar en landskod in problemet, och strict mode gör de osäkra raderna synliga i stället för tyst rimliga. Ett tomt fält du kan filtrera slår ett felaktigt du inte upptäcker.

En hel kolumn på en gång

Ligger namnen i ett kalkylblad och inte i en applikation behöver du inte API:et. Ladda upp filen, peka på kolumnen med de kombinerade namnen, och de delade delarna kommer tillbaka som nya kolumner intill dina data — upp till 10,000,000 rader per CSV eller 100,000 per Excel-arbetsbok, och din arbetsbok kommer tillbaka orörd.

Vanliga frågor

Varför inte bara dela på blanksteget?

Därför att blanksteget inte är gränsen. ”Anna van der Berg” ger efternamnet ”van” vid första blanksteget och förnamnet ”Anna van der” vid det sista. Båda är fel, båda ser bra ut i ett test med engelska namn, och båda misslyckas tyst i samma stund som ett nederländskt, tyskt, franskt, spanskt eller portugisiskt efternamn dyker upp.

Vad avgör var delningen hamnar?

Först tas kända titlar bort, och namnpartiklar som ”van der”, ”von den” och ”de la” stannar hos efternamnet. Sedan vägs hur ofta varje del förekommer som förnamn mot hur ofta den förekommer som efternamn — det är alltså inte ordets position som avgör, och inte skiljetecknen heller: ett kommatecken tas bort tillsammans med titlarna i stället för att läsas som en markör för ”efternamn först”. I CSV- och Excel-uppladdningen kan du ange kolumnens ordning direkt, och då används den precis som angivet.

Vad händer när efternamnet inte finns i databasen?

Det är vad strict mode är till för, på v1-endpointen. Med strict mode på kommer efternamnet tillbaka tomt i stället för gissat, så luckan syns i dina data. Utan det plockas ett efternamn ut ändå, så gott det går.

Får jag könet också?

Ja, i samma svar och för samma enda credit — tillsammans med antalet samples och träffsäkerheten bakom. Att dela namnet och bestämma könet är ett anrop, inte två.

Hur vet jag om min kolumn ens innehåller fullständiga namn?

Skicka ett urval på upp till 100 värden till endpointen name-format-detect. Den kostar inga credits och svarar om kolumnen ser ut att innehålla fullständiga namn, förnamn eller en blandning — bra att veta innan du bestämmer hur filen ska behandlas.

Vad kostar delningen?

En credit per namn, samma som en vanlig könsbestämning, från €0.35 per 1 000. Credits köps i förväg och blir inte ogiltiga.

Klarar den namn som inte är västerländska?

Delvis, och det är bättre att känna gränserna. Namn skrivna med efternamnet först utan avgränsare, namn på ett enda ord och inkonsekvent translittererade namn är de svåra fallen — ingen regel löser dem ur enbart teckenkedjan. Att skicka med en landskod hjälper, för då vägs delarna mot det landet i stället för mot allt.

TESTA PÅ DE NAMN SOM FÅR DIN DELNING ATT GÅ SÖNDER

100 gratis förfrågningar per månad, utan kort. Ta de tjugo rader din nuvarande kod får fel och börja med dem.

Chatt