Generator · Canadian data
Canadian person
Endpoint GET /v1/ca/person
What it covers
Returns a consistent synthetic Canadian person: name, surname, initials, birth date, sex, and a matching Luhn-valid SIN. As with the US, the `sex` and age filters shape the **drawn** birth date and name rather than being decoded from the identifier — a SIN encodes neither. Unlike the US, the identifier does carry one real fact: the province or region of registration, reported as `registrationRegion` and pinnable via `firstDigit`. Names come from a weighted mix of the anglophone and French-Canadian pools, matching how the country’s names actually distribute. `invalid=true` breaks only the SIN’s checksum; the name and birth date stay clean.
Parameters
| Parameter | Type | Description |
|---|---|---|
| atAge | integer | Exact age in years at request time. |
| bornAfter | stringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$ | Born after this date or fragment (YYYY, YYYY-MM, YYYY-MM-DD). |
| bornBefore | stringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$ | Born before this date or fragment (YYYY, YYYY-MM, YYYY-MM-DD). |
| bornOn | stringpattern ^\d{4}(?:-\d{2}(?:-\d{2})?)?$ | Born on a date or within a fragment: YYYY, YYYY-MM, or YYYY-MM-DD. |
| caseStrict | boolean | Keep proper name casing (default `true`). Set `false` to deliberately mangle it. Initials stay uppercase regardless. |
| count | integer1–10000 | Number of records to return, 1–10000. Omitted returns a single record; set it for a batch. Costs 1 token plus a tenth per record. |
| edge | boolean | Restrict output to valid edge cases from the rare corners of the domain. |
| extreme | boolean | Return a correct value wrapped in a hostile encoding (untrimmed whitespace, invisible/zero-width characters, BOM, or bidi/combining marks). Homoglyphs are excluded so the value stays machine-parseable; it still validates after normalisation. |
| firstDigit | integer | Pin the SIN’s region of registration. 0 and 8 are never issued and are rejected. |
| format | "plain" | "with-spaces" | "with-hyphens" | SIN rendering: `with-spaces` (default), `with-hyphens`, or `plain`. |
| invalid | boolean | Return a deliberately invalid value that fails validation, for testing rejection paths. |
| olderThan | integer | Minimum age in years at request time. |
| seed | integer | Integer seed for reproducible output: the same seed always yields the same record. |
| sex | "m" | "f" | Encoded sex: "m" or "f". |
| temporaryResident | boolean | Generate a temporary resident (SIN beginning 9), whose number expires in reality. |
| youngerThan | integer | Maximum age in years at request time. |
Response fields
| Field | Type | Description |
|---|---|---|
| name | string | Given name(s), including a middle name where drawn. |
| surname | string | Surname, from either the anglophone or French-Canadian pool. |
| initials | string | Uppercase initials of name and surname, no dots. |
| birthDate | string | The birth date, ISO `YYYY-MM-DD`. Drawn independently — the SIN encodes no date. |
| sex | "m" | "f" | The person’s sex. Drawn independently — the SIN encodes none. |
| sin | string | The matching SIN, Luhn-valid, rendered per the requested format. |
| registrationRegion | string | The province the SIN records — this one fact the identifier does encode. |
Other generators for Canada
Canadian bank accountCanadian Business NumberCanadian companyCanadian company nameCanadian email addressCanadian person nameCanadian product or service offeringCanadian SINCanadian transit (branch routing) numberCanadian vehicle registration plate
See all generators for Canada →The same kind of identifier elsewhere
Austrian data · Austrian personBelgian data · Belgian personBulgarian data · Bulgarian personCroatian data · Croatian personCypriot data · Cypriot personCzech data · Czech personDanish data · Danish personDutch data · Dutch personEstonian data · Estonian personFinnish data · Finnish personFrench data · French personGerman data · German personGreek data · Greek personHungarian data · Hungarian personIrish data · Irish personItalian data · Italian personLatvian data · Latvian personLithuanian data · Lithuanian personLuxembourg data · Luxembourg personMaltese data · Maltese personPolish data · Polish personPortuguese data · Portuguese personRomanian data · Romanian personSlovak data · Slovak personSlovenian data · Slovenian personSpanish data · Spanish personSwedish data · Swedish personUS data · US person
Try it