Gender API
Zarejestruj się za darmo
Język expand_more

Rozdziel pełne nazwisko na imię i nazwisko

Jedno połączone pole nazwy, jedno wywołanie API, dwa czyste pola — cząstki, tytuły i odwrócona kolejność, na których wykłada się samodzielnie napisany podział, są już obsłużone, a płeć jest w tej samej odpowiedzi.

Ostatni przegląd 2026-09-01 Napisane i utrzymywane przez zespół Gender-API.com

Krótka odpowiedź

  • Wyślij połączone pole, otrzymaj first_name i last_name — a do tego płeć, dokładność i liczbę próbek, w tej samej odpowiedzi, za jeden credit.
  • Cząstki nazwiskowe („van der“, „von den“, „de la“) oraz tytuły akademickie i zawodowe są obsługiwane, a nie stanowią przeszkody — i odwrócone „Rossi, Andrea“ też się rozwiązuje, z danych o nazwach, a nie z przecinka.
  • Tam, gdzie obie połowy mogłyby być jednym albo drugim, decyduje to, jak często każda część występuje jako imię względem tego, jak często występuje jako nazwisko — a nie jej pozycja w ciągu znaków.
  • Tryb strict zwraca puste nazwisko zamiast domysłu, gdy nazwiska nie ma w bazie — dzięki temu widzisz lukę.

Dlaczego podział na spacji nie działa

Prawie każda baza kodu ma swoją wersję: weź pole nazwy, podziel na białych znakach, pierwszy element to imię, ostatni to nazwisko. Przechodzi review, bo dane testowe są angielskie, i po cichu psuje się przy pierwszym kliencie, który nie jest.

Trzy reguły zastosowane do pełnego nazwiska „Anna van der Berg“. Podział na pierwszej spacji daje imię Anna i nazwisko „van“ — błędnie. Podział na ostatniej spacji daje imię „Anna van der“ i nazwisko Berg — również błędnie. Rozpoznanie „van der“ jako cząstki należącej do nazwiska i sprawdzenie każdego kandydata w bazie imion i bazie nazwisk daje imię Anna i nazwisko „van der Berg“. Pierwsze dwie reguły to zwykle to, co robi samodzielnie napisany podział — i zawodzą w milczeniu.
To samo nazwisko, trzy reguły, dwie błędne odpowiedzi — i żadna nie zgłasza błędu.

Kosztowny jest sposób, w jaki to zawodzi. Nic nie zgłasza wyjątku. Zostajesz z bazą pełną ludzi o nazwisku „van“, korespondencją seryjną, która tak ich wita, i bez ani jednej linii logu wskazującej przyczynę.

Co decyduje o podziale

Cztery rzeczy, w tej kolejności — a ostatniej podział oparty na regułach mieć nie może, bo wymaga wiedzy o tym, jak nazwy naprawdę się rozkładają.

Cztery formy, w jakich przychodzi połączone pole nazwy, i co decyduje o każdym podziale. „Rossi, Andrea“: przecinek jest usuwany, a kolejność czytana z danych o nazwach, nie wnioskowana z pozycji. „Prof. Dr. Anna Maria de la Cruz“: tytuły są usuwane na podstawie znanej listy, cząstka zostaje przy nazwisku, a oba imiona są zachowane. „Andrea Rossi“, gdzie obie części są prawdopodobnymi nazwami: waży się, jak często każda część występuje jako imię, względem tego, jak często jako nazwisko — pozycja więc nie decyduje. „Markus Stefan Nonexistent“ z włączonym trybem strict: nazwiska nie ma w bazie, więc wraca puste, a nie zgadnięte.
Cztery rzeczywiste postacie tego samego pola i to, co rozwiązuje każdą z nich.
  • Tytuły schodzą pierwsze. „Prof. Dr.“, „Dipl.-Ing.“, „Managing Director“ i resztę utrzymywanej listy usuwamy przed jakąkolwiek inną decyzją, żeby nigdy nie wylądowały w polu nazwy.
  • Cząstki zostają przy nazwisku. „van“, „van der“, „van den“, „von“, „von der“, „de“, „de la“, „du“, „le“, „di“, „des“ i im podobne są rozpoznawane jako część nazwiska, do którego należą.
  • Interpunkcji nie powierzamy kolejności. Przecinek w „Rossi, Andrea“ jest usuwany razem z tytułami, a kolejność czytana potem z danych o nazwach — przecinek to nawyk formatowania, a wiele list stosuje go niekonsekwentnie. We wgrywaniu CSV i Excela możesz zamiast tego podać kolejność kolumny, a podana kolejność jest używana tak, jak ją podałeś.
  • Niejednoznaczność rozstrzygają dane. Każda część kandydująca jest sprawdzana i w bazie imion, i w bazie nazwisk, a ta, która zachowuje się znacznie bardziej jak nazwisko niż jak imię, jest nazwiskiem.

Podaj kod kraju i to samo porównanie odbędzie się względem tego kraju, a nie wszystkich krajów naraz — a tego właśnie chcesz, gdy już wiesz, skąd wzięła się lista.

Jak to wywołać

Robią to dwa endpointy, a który wybierzesz, zależy od tego, czy potrzebujesz trybu strict.

v2 — aktualne 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 — gdy potrzebujesz trybu strict

Tryb strict istnieje tylko na endpointzie podziału v1. Jeśli puste nazwisko liczy się dla Ciebie bardziej niż nowsze API, weź ten.

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

Najpierw: czy w tej kolumnie naprawdę są pełne imiona i nazwiska?

Warto wiedzieć, zanim przetworzysz plik, którego sam nie utworzyłeś. Wyślij próbkę maksymalnie 100 wartości i dostaniesz odpowiedź, czy wyglądają na pełne imiona i nazwiska — i nie kosztuje to 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": [ … ]
}

Miej jasność, co to mierzy: fullname_probability to udział wysłanych wartości, które mają więcej niż jedno słowo, a is_fullname to ten udział powyżej 0,6. To ocena kolumny, nie każdej pojedynczej nazwy — dokładnie to, czego potrzebujesz przy decyzji, czy w ogóle dzielić, i nie zastępuje samego podziału.

Mieszana kolumna to też prawidłowa odpowiedź: niektóre listy mają obok siebie „Thomas“ i „John Smith“, a podział radzi sobie z jednym i drugim, bez wstępnego sortowania.

Gdzie nadal potrzebuje Twojej pomocy

Podział, który twierdziłby, że radzi sobie z każdym nazwiskiem na świecie, kłamałby. Oto przypadki, w których żadna reguła nie rozwiąże ciągu znaków sama.

Jeśli kontrolujesz formularz, najtańsze rozwiązanie to wcale nie API: dwa pola zamiast jednego albo wskazówka, że format to „imię, nazwisko“. Wszystko poniżej dotyczy sytuacji, gdy go nie kontrolujesz.

  • Nazwisko najpierw. Z przecinkiem czy bez, wygrywa odczyt, który wspierają dane o nazwach, a nie reguła o pozycji — i trafia znacznie częściej, niż się myli, ale to nie gwarancja. Jeśli wiesz, że cała kolumna ma nazwisko najpierw, podaj to przy wgrywaniu, zamiast polegać na interpunkcji.
  • Nazwy jednowyrazowe. W mononimie nie ma nazwiska do znalezienia. Nazwisko wraca puste, zamiast rozcinać imię na pół.
  • Niekonsekwentna transliteracja. To samo imię zapisane w liście na trzy sposoby rozwiązuje się jako trzy imiona, bo w danych właśnie tym jest.
  • Imiona złożone bez łącznika. „Anna Maria“ zostaje razem tam, gdzie dane to wspierają, ale lista mieszająca „Anna Maria Rossi“ i „Anna Rossi“ nie będzie jednolita.

We wszystkich czterech przypadkach kod kraju zawęża problem, a tryb strict czyni niepewne wiersze widocznymi, zamiast po cichu prawdopodobnymi. Puste pole, które da się odfiltrować, jest lepsze niż błędne, którego nie wychwycisz.

Cała kolumna od razu

Jeśli nazwy są w arkuszu, a nie w aplikacji, API nie jest Ci potrzebne. Wgraj plik, wskaż kolumnę z połączonymi nazwami, a rozdzielone części wrócą jako nowe kolumny obok Twoich danych — do 10,000,000 wierszy na CSV lub 100,000 na arkusz Excela, a Twój arkusz wróci nietknięty.

Często zadawane pytania

Dlaczego nie podzielić po prostu na spacji?

Bo spacja nie jest granicą. „Anna van der Berg“ daje na pierwszej spacji nazwisko „van“, a na ostatniej imię „Anna van der“. Oba są błędne, oba wyglądają dobrze w teście z angielskimi nazwiskami i oba zawodzą w milczeniu w chwili, gdy pojawia się nazwisko niderlandzkie, niemieckie, francuskie, hiszpańskie lub portugalskie.

Co decyduje o miejscu podziału?

Najpierw usuwane są znane tytuły, a cząstki nazwiskowe takie jak „van der“, „von den“ i „de la“ zostają przy nazwisku. Potem waży się, jak często każda część występuje jako imię, względem tego, jak często występuje jako nazwisko — to więc nie pozycja słowa o tym decyduje, ani interpunkcja: przecinek jest usuwany razem z tytułami, a nie czytany jako znacznik „nazwisko najpierw“. We wgrywaniu CSV i Excela możesz wprost podać kolejność kolumny, i wtedy jest używana tak, jak ją podałeś.

Co się dzieje, gdy nazwiska nie ma w bazie?

Do tego służy tryb strict, na endpointzie v1. Przy włączonym trybie strict nazwisko wraca puste, a nie zgadnięte, więc luka jest widoczna w Twoich danych. Bez niego nazwisko i tak zostanie wyciągnięte, na tyle dobrze, na ile to możliwe.

Czy dostanę też płeć?

Tak, w tej samej odpowiedzi i za ten sam jeden credit — razem z liczbą próbek i dokładnością, która za tym stoi. Podzielenie imienia i określenie płci to jedno wywołanie, nie dwa.

Skąd mam wiedzieć, czy moja kolumna w ogóle zawiera pełne imiona i nazwiska?

Wyślij próbkę maksymalnie 100 wartości na endpoint name-format-detect. Nie kosztuje credits i odpowiada, czy kolumna wygląda na pełne imiona i nazwiska, same imiona, czy mieszankę — przydatne, zanim zdecydujesz, jak przetworzyć plik.

Ile kosztuje podział?

Jeden credit za imię, tyle samo co zwykłe określenie płci, od €0.35 za 1000. Credits kupuje się z góry i nie tracą ważności.

Czy poradzi sobie z nazwiskami niezachodnimi?

Częściowo — i lepiej znać granice. Nazwiska pisane najpierw, bez separatora, nazwy jednowyrazowe i imiona transliterowane niekonsekwentnie to trudne przypadki; żadna reguła nie rozwiąże ich z samego ciągu znaków. Wysłanie kodu kraju pomaga, bo zapytanie waży wtedy części względem tego kraju, a nie względem wszystkiego.

WYPRÓBUJ NA NAZWACH, NA KTÓRYCH WYKŁADA SIĘ TWÓJ PODZIAŁ

100 bezpłatnych zapytań miesięcznie, bez karty. Weź te dwadzieścia wierszy, które Twój obecny kod robi źle, i zacznij od nich.

Czat