Test Data — entry 013 of 19
RandomUser
RandomUser (the Random User Generator) is a free, open-source API that returns one or more fully-formed fake user profiles — name, address, email, login credentials, and photo — as JSON, XML, CSV, or YAML depending on the format query parameter. Requests can be tuned with parameters for results count, gender, nationality, and a seed value that makes the "random" output reproducible across calls. It has no authentication and no key-based rate limit, making it a common stand-in for Lorem Ipsum-style placeholder people in demos and test fixtures.
RandomUser is a free, keyless API that returns one or more fully-formed fake user profiles -- name, address, email, login credentials, and photo -- as JSON, XML, CSV, or YAML depending on the `format` query parameter. A live probe this run confirmed `seed=` output is fully reproducible byte-for-byte across separate requests, and that an unpinned request silently tracks the newest schema (`version 1.4`) rather than a fixed one.
GreatAPIs Score
Auth quickstart
- No API key or signup required for any call. Every response echoes `access-control-allow-origin: *` regardless of whether an `Origin` header is sent, so browser-side calls need no proxy; the only planning gotcha is pinning behavior (schema version, result count), not authentication.
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Generate a reproducible seeded profile
GEThttps://randomuser.me/api/?seed=greatapis
{"results":[{"gender":"female","name":{"title":"Mademoiselle","first":"Vivien","last":"Barbier"},"location":{"street":{"number":4558,"name":"Rue du Stade"},"city":"Selzach","state":"Aargau","country":"Switzerland","postcode":1395,"coordinates":{"latitude":"-60.3874","longitude":"145.8560"},"timezone":{"offset":"-10:00","description":"Hawaii"}},"email":"vivien.barbier@example.com","login":{"uuid":"f0417dc0-9952-406a-bcd7-31e1c00c5252","username":"heavyelephant209","password":"spongebo","salt":"MthcxOTX","md5":"877c1854e6c6f17ae1f5a0c7566696ae","sha1":"56eb040f80c7e7aa3722e6635342fde627756fec","sha256":"0c9c08a5990b8843667dbce746a8e25550afc9e493d24053a8ea8313b3d56ec2"},"dob":{"date":"1995-10-26T05:08:27.173Z","age":30},"registered":{"date":"2004-04-11T20:48:21.425Z","age":22},"phone":"079 313 19 78","cell":"075 731 94 94","id":{"name":"AVS","value":"756.3077.1020.57"},"picture":{"large":"https://randomuser.me/api/portraits/women/73.jpg","medium":"https://randomuser.me/api/portraits/med/women/73.jpg","thumbnail":"https://randomuser.me/api/portraits/thumb/women/73.jpg"},"nat":"CH"}],"info":{"seed":"greatapis","results":1,"page":1,"version":"1.4"}}Try it
Developer reference
https://randomuser.me- GET/api/?results={n}
- GET/api/?seed={seed}
- GET/api/?format=csv
Gotchas & limits
- `seed=` output is genuinely reproducible, not just similar: two back-to-back live `GET /api/?seed=greatapis` calls this run returned byte-identical response bodies -- safe to use as fixed fixture data in tests.
- Requesting more than 5,000 results doesn't error or clamp at a round number -- it silently falls back to exactly 1 result instead: a live `GET /api/?results=6000` this run (and three repeat attempts) all returned a single-element `results` array in well under 100ms, far too fast to have actually generated the requested count. `results=500` and `results=5000` both work as expected, so the cliff sits between 5,000 and 6,000.
- `results=0` is not 'return nothing' -- it's treated the same as omitting the parameter and returns exactly 1 result, confirmed live this run.
- An unpinned request silently tracks the newest schema: the `info.version` field in every response above reads `"1.4"` with no version requested; pin `/api/1.3/` (or whichever version) in the path if a schema change would break a downstream test.
- `format=csv` (and `xml`/`yaml`) changes the wire format but not the field set: a live `GET /api/?format=csv&results=1` this run returned the same dotted-path fields (`name.first`, `location.city`, ...) as flattened CSV columns, including a Finnish `id.value` of the literal string `NaNNA456undefined` when the generated nationality has no real national-ID scheme -- don't assume `id.value` is always numeric or even well-formed.