gender enum Only generate this gender. Omit for a mix.
Complete fake people — name, age-consistent birth date, email, phone, job and address — with working filters for gender, age range and email domain.
Generated test data for fixtures and development
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
gender | enum | allowed: male | female example: female | Only generate this gender. Omit for a mix. |
minAge | int | default: 18 allowed: 0 – 120 example: 21 | Minimum age (inclusive). |
maxAge | int | default: 80 allowed: 0 – 120 example: 65 | Maximum age (inclusive). Must be ≥ minAge. |
domain | string | example: acme.test | Email domain override (e.g. acme.test). Defaults to RFC 2606 reserved domains that can never deliver mail. |
gender enum Only generate this gender. Omit for a mix.
minAge int Minimum age (inclusive).
maxAge int Maximum age (inclusive). Must be ≥ minAge.
domain string Email domain override (e.g. acme.test). Defaults to RFC 2606 reserved domains that can never deliver mail.
| Parameter | Type | Default & allowed | Description |
|---|---|---|---|
count | int | default: 10 allowed: 1 – 100 example: 3 | How many records to generate (1–100). |
seed | int | example: 42 | Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed). |
locale | enum | default: en allowed: en | da | de | fr | es | it | pt | ja example: da | Locale for the generated data (names, addresses, …). |
fields | list | example: id,firstName | Return only these fields (comma-separated). Mutually exclusive with 'exclude'. |
exclude | list | example: address | Return all fields except these (comma-separated). |
format | enum | default: json allowed: json | ndjson | csv example: csv | Response format: json envelope, ndjson (one record per line) or csv. |
pretty | boolean | default: false example: true | Pretty-print the JSON response. |
unwrap | boolean | default: false example: true | Drop the envelope: return the raw array/object without data/meta wrapper. |
count int How many records to generate (1–100).
seed int Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed).
locale enum Locale for the generated data (names, addresses, …).
fields list Return only these fields (comma-separated). Mutually exclusive with 'exclude'.
exclude list Return all fields except these (comma-separated).
format enum Response format: json envelope, ndjson (one record per line) or csv.
pretty boolean Pretty-print the JSON response.
unwrap boolean Drop the envelope: return the raw array/object without data/meta wrapper.
| Field | Type | Description | Example |
|---|---|---|---|
id | string (UUID v4) | Stable per seed+index. | 0b9a3f2e-6d1c-4a8b-9f2e-3d1c4a8b9f2e |
firstName | string | Given name (locale-aware). | Emily |
lastName | string | Family name (locale-aware). | Carter |
fullName | string | firstName + lastName. | Emily Carter |
gender | string | male | female — matches the name. | female |
birthDate | string (YYYY-MM-DD) | Consistent with age (relative to request time). | 1994-04-12 |
age | integer | Age in whole years, within minAge..maxAge. | 32 |
email | string | Derived from the name; non-deliverable domain by default. | emily.carter@example.com |
phone | string | Locale-formatted phone number (fake). | +1 555 028 4821 |
username | string | Derived from the name. | emily.carter94 |
avatarUrl | string (URL) | Ready-to-use avatar from this platform's avatar API. | https://randomapi.dev/api/avatars/image?style=initials&seed=emilycarter&name=Emily%20Carter |
jobTitle | string | Plausible job title. | Senior Product Designer |
address | object | Nested address: street, city, state (nullable), zipCode, country, countryCode, latitude, longitude. | {"street":"883 Maple Avenue","city":"Portland","state":"Oregon","zipCode":"97205","country":"United States","countryCode":"US","latitude":45.5152,"longitude":-122.6784} |
id string (UUID v4) Stable per seed+index.
example: 0b9a3f2e-6d1c-4a8b-9f2e-3d1c4a8b9f2e
firstName string Given name (locale-aware).
example: Emily
lastName string Family name (locale-aware).
example: Carter
fullName string firstName + lastName.
example: Emily Carter
gender string male | female — matches the name.
example: female
birthDate string (YYYY-MM-DD) Consistent with age (relative to request time).
example: 1994-04-12
age integer Age in whole years, within minAge..maxAge.
example: 32
email string Derived from the name; non-deliverable domain by default.
example: emily.carter@example.com
phone string Locale-formatted phone number (fake).
example: +1 555 028 4821
username string Derived from the name.
example: emily.carter94
avatarUrl string (URL) Ready-to-use avatar from this platform's avatar API.
example: https://randomapi.dev/api/avatars/image?style=initials&seed=emilycarter&name=Emily%20Carter
jobTitle string Plausible job title.
example: Senior Product Designer
address object Nested address: street, city, state (nullable), zipCode, country, countryCode, latitude, longitude.
example: {"street":"883 Maple Avenue","city":"Portland","state":"Oregon","zipCode":"97205","country":"United States","countryCode":"US","latitude":45.5152,"longitude":-122.6784}
/api/users?count=3&seed=42 {
"data": [
{
"id": "22019cec-2f1f-41b4-b62a-dd96ac094977",
"firstName": "Mayra",
"lastName": "Ziemann",
"fullName": "Mayra Ziemann",
"gender": "male",
"birthDate": "1965-12-24",
"age": 60,
"email": "mayra.ziemann@example.com",
"phone": "+12758414994",
"username": "mayra.ziemann65",
"avatarUrl": "https://randomapi.dev/api/avatars/image?style=initials&seed=mayraziemann&name=Mayra%20Ziemann",
"jobTitle": "District Accounts Associate",
"address": {
"street": "856 W Broad Street",
"city": "Boscoburgh",
"state": "Indiana",
"zipCode": "52410-2119",
"country": "Eritrea",
"countryCode": "HK",
"latitude": -89.7695,
"longitude": 39.9593
}
},
{
"id": "c68f36bd-0b5e-4920-bb14-20de7a85dc4d",
"firstName": "Skyla",
"lastName": "Friesen",
"fullName": "Skyla Friesen",
"gender": "male",
"birthDate": "2008-02-18",
"age": 18,
"email": "skyla.friesen@example.net",
"phone": "+12969326004",
"username": "skyla.friesen08",
"avatarUrl": "https://randomapi.dev/api/avatars/image?style=initials&seed=skylafriesen&name=Skyla%20Friesen",
"jobTitle": "Senior Implementation Technician",
"address": {
…
"generatedAt": "2026-07-30T15:14:08.000Z"
}
} /api/users?locale=da&gender=female&minAge=21&maxAge=35&count=5 {
"data": [
{
"id": "422019ce-c2f1-4f1b-9462-add96ac09497",
"firstName": "Maren",
"lastName": "Frandsen",
"fullName": "Maren Frandsen",
"gender": "female",
"birthDate": "1997-11-25",
"age": 28,
"email": "maren.frandsen@example.net",
"phone": "+4590758414",
"username": "maren.frandsen97",
"avatarUrl": "https://randomapi.dev/api/avatars/image?style=initials&seed=marenfrandsen&name=Maren%20Frandsen",
"jobTitle": "Chief Usability Architect",
"address": {
"street": "Kærvej 19A",
"city": "Taulov",
"state": "Syddanmark",
"zipCode": "5678",
"country": "Qatar",
"countryCode": "UZ",
"latitude": -64.7018,
"longitude": -146.6857
}
},
{
"id": "c68f36bd-0b5e-4920-bb14-20de7a85dc4d",
"firstName": "Sanne",
"lastName": "Dalgaard-Dam",
"fullName": "Sanne Dalgaard-Dam",
"gender": "female",
"birthDate": "2005-07-27",
"age": 21,
"email": "sanne.dalgaarddam@example.net",
"phone": "+4529693260",
"username": "sanne.dalgaarddam05",
"avatarUrl": "https://randomapi.dev/api/avatars/image?style=initials&seed=sannedalgaarddam&name=Sanne%20Dalgaard-Dam",
"jobTitle": "Senior Group Associate",
"address": {
…
"generatedAt": "2026-07-30T15:14:08.000Z"
}
} /api/users?fields=fullName,email&domain=acme.test&count=10 {
"data": [
{
"fullName": "Mayra Ziemann",
"email": "mayra.ziemann@acme.test"
},
{
"fullName": "Skyla Friesen",
"email": "skyla.friesen@acme.test"
},
{
"fullName": "Korey Steuber",
"email": "korey.steuber@acme.test"
},
{
"fullName": "Gianni Jacobson",
"email": "gianni.jacobson@acme.test"
},
{
"fullName": "Nicola Oberbrunner-Funk",
"email": "nicola.oberbrunnerfunk@acme.test"
},
{
"fullName": "Seth Howell",
"email": "seth.howell@acme.test"
},
{
"fullName": "Jordan Wunsch",
"email": "jordan.wunsch@acme.test"
},
{
"fullName": "Chloe Osinski",
"email": "chloe.osinski@acme.test"
},
{
"fullName": "Rafael Wilkinson",
"email": "rafael.wilkinson@acme.test"
},
{
"fullName": "Stella Adams",
…
"generatedAt": "2026-07-30T15:14:08.000Z"
}
} Generates complete, internally-consistent fake people: the birthDate always matches the age, the email and username derive from the actual name, and the avatarUrl points at this platform's own avatar generator so it renders anywhere.
All filters genuinely constrain the output: gender, minAge/maxAge and domain are honored for every record, and locale switches names, addresses and phone formats to one of 8 locales. With a seed the same request returns byte-identical people forever — ideal for reproducible tests and demos.
Yes — age is derived from birthDate at request time, so the two never disagree (a classic fixture bug we contract-test away).
Yes — domain=myapp.test stamps every user's email; by default emails use reserved non-deliverable domains, so staging can never mail a stranger.
gender (strict), minAge/maxAge (bounds the derived age) and domain — every one is honored and echoed back under meta.params.
Use seed with count (up to 100) — the same seed always returns the same users in the same order.
Random person names — first, last and full — with a strict gender filter, locale-aware name pools in 8 languages and seed-reproducible output.
Locale-aware fake postal addresses — street, city, state, zip, country and coordinates that all agree, plus a one-line formatted form in the local layout.
Fake email addresses with name-derived usernames on guaranteed non-deliverable domains (example.com/net/org and .test) — or stamp your own with ?domain=.
Coherent pet records for vet and pet-app fixtures — real breeds matched to species, realistic per-species ages and weights, names that follow sex.
ICAO 9303 MRZ test fixtures — TD1/TD2/TD3/MRV lines with correct 7-3-1 check digits and exact geometry, issued by the specimen state UTO, plus a validator.
Fake blog posts with markdown bodies plus a threaded comment tree whose every parentId resolves inside the page — with working tag, status and date filters.