Test data that hangs together.
Seed staging, write fixtures and run load tests with people whose name, city, phone, job and income agree with each other and with the place. Ask again next month and you get the same people.
Thanks — we’ll email you when your API key is ready.
[ { "id": "borfnwhfmlfj7v5l5k7cubtt.1", "name": "Alyssa Rogers", "age": 29, "city": "San Jose", "job": "Student", "email": "[email protected]", "phone": "+1 408 555-0119" }, { "id": "zeegibk2s62nppfm57yxkmz7.0", "name": "Lee Bates", "age": 31, "city": "London", "job": "Care Worker", "email": "[email protected]", "phone": "07700 900640" }]Real output from Mockfolk engine v1 (preview). All people are fictional.
Three countries. Three sets of local rules.
Each person is generated as a whole, so a Jaipur address comes with a Jaipur name, an Indian phone format and an income band in lakh. Real output from Mockfolk engine v1 (preview). All people are fictional.
| Field | India | United States | United Kingdom |
|---|---|---|---|
| Name | Aiman Syed | Alyssa Rogers | Lee Bates |
| Local script | Latin only | Latin only | Latin only |
| Age | 29 | 29 | 31 |
| City | George Town, Prayagraj | Evergreen, San Jose | Brixton, London |
| Region | Uttar Pradesh | California | London |
| Job | Homemaker | Student | Care Worker |
| Employer | Ironbridge Care | ||
| Income band | under ₹1 lakh | under $5k | £15k–20k |
| Phone | +91 54146 12903 | +1 408 555-0119 | 07700 900640 |
| [email protected] | [email protected] | [email protected] |
Phones use ranges set aside for fiction (India’s +91 5 series, which mobile numbers do not use; US 555-01xx; UK 07700 900xxx). Emails use example.com, example.net and example.org, which can never be delivered.
Built for the jobs test data actually does.
Fixtures that never change
seed → same ids → same people
A request with a seed always returns the same people, and every person has an id like
2vbf7cbbsekmpsh65n5y6g2n.1that regenerates them exactly. Engine and data-pack versions are stamped on each record so the output stays pinned when the engine improves.Seeding at volume
bulk mode · up to 1,000 per call
Ask for up to 1,000 people in one call, filtered by country, region, city, age, gender or occupation.
Need fewer fields? Project the record down to the sections you use, such as identity and contact.
Edge cases you would not think to write
census-weighted, local scripts
People follow each country’s real mix of places, names and jobs, so your forms meet Devanagari, Gujarati, Telugu and Kannada names, long employer names and five-part addresses without you inventing them.
Safe by default
no real people · no identity documents
Every person is fictional. Contact details reach no one, and Mockfolk never generates identity documents of any kind, so test data can live in staging, screenshots and demos without a privacy review.
More formats roadmap
JSON today
Output is JSON today. CSV, Parquet and SQL exports at scale are planned.
Same seed, same file.
Commit the seed, not the data. When a constraint cannot be met, you get an explicit error instead of a quiet guess.
# Seed staging with the same 200 people on every runmockfolk new --country GB --age 25-64 --count 200 --seed 7 > fixtures/people.json # Months later, in CI: identical file, byte for bytemockfolk new --country GB --age 25-64 --count 200 --seed 7 | diff - fixtures/people.json{ "error": { "code": "constraint_conflict", "message": "occupation student requires ages 18-30, outside 50-64" }}What is Mockfolk?
Mockfolk is a hosted API and command-line tool that generates realistic fictitious people for testing AI agents and for developer test data. Give it constraints such as a country, a city, an age range, an occupation or a latitude and longitude, and it fills in the rest consistently: name (in local script where relevant), address, contact details, job, income band, personality and a short backstory. The same request with the same seed, or the same persona id, always returns the same person.
How is Mockfolk different from a random-data library?
Random-data libraries in the Faker family draw each field on its own and often fall back to US formats. Mockfolk generates each person as a whole, so name, city, phone format, job and income band agree with each other and with the country, and the same seed returns the same people every time.
Is Mockfolk data safe for staging, demos and screenshots?
Yes. Every person is fictional and no real people’s data is used. Emails use example.com, example.net and example.org, phone numbers come from ranges set aside for fiction, and Mockfolk never generates identity documents of any kind.
Stop writing fixtures by hand.
Mockfolk is in private beta. Leave your email and we’ll write once, when your API key is ready.