Generator · Polish data

Polish person

Endpoint GET /v1/pl/person

What it covers

Returns a mutually consistent synthetic Polish person: given name(s), surname (in the form matching the sex), initials, birth date, and a matching PESEL. Takes the same inputs as `/v1/pl/pesel` — `sex` and any combination of age/birth-date filters (contradictory combinations are rejected with a 400). Set `invalid=true` for a person whose PESEL has a deliberately wrong check digit (birth date and sex stay valid), for testing checksum validators. `edge=true` also makes second given names, double-barrelled surnames, and very short names (`Jan Lis`) far more likely. Set `caseStrict=false` to deliberately mangle the name/surname casing.

Parameters

ParameterTypeDescription
atAgeintegerExact age in years at request time.
bornAfterstringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$Born after this date or fragment (YYYY, YYYY-MM, YYYY-MM-DD).
bornBeforestringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$Born before this date or fragment (YYYY, YYYY-MM, YYYY-MM-DD).
bornOnstringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$Born on a date or within a fragment: YYYY, YYYY-MM, or YYYY-MM-DD.
caseStrictbooleanDefaults to true (proper casing). Set false to deliberately mangle the casing of name and surname (all-lower, all-upper, or random like "kArOl nOwAkOwSki"); initials stay proper uppercase.
countinteger1–1000Number of records to return, 1–1000 (your plan may lower this). Omitted returns a single record; set it for a batch.
edgebooleanRestrict output to edge-case values.
extremebooleanReturn a correct person whose name and surname are wrapped in a hostile encoding (untrimmed whitespace, invisible/zero-width characters, BOM, homoglyph letters, or bidi/combining marks). initials, birthDate, and the national identifier stay clean.
invalidbooleanReturn a PESEL with a deliberately wrong check digit; birth date and sex stay valid.
olderThanintegerMinimum age in years at request time.
seedintegerInteger seed for reproducible output: the same seed always yields the same record.
sex"m" | "f"Encoded sex: "m" or "f".
youngerThanintegerMaximum age in years at request time.

Response fields

FieldTypeDescription
namestringGiven (first) name, agreeing with the encoded sex.
surnamestringSurname in the form matching the sex, e.g. `Kowalski` / `Kowalska`.
initialsstringUppercase initials of name and surname, no dots, e.g. `JK`.
birthDatestringThe birth date, ISO `YYYY-MM-DD`.
peselstringThe matching 11-digit PESEL.

Other generators for Poland

See all generators for Poland →

The same kind of identifier elsewhere

Try it

Generate a live example below — every response is valid by format and entirely synthetic.