RandomUser

Development API · Works globally · Fake user data generator

TL;DR

RandomUser.me generates completely fake but realistic user profiles for testing and prototyping. Each call returns a person with a name, email, address, phone number, date of birth, profile picture, login credentials, and more. You can specify nationality (US, GB, FR, DE, etc.), gender, number of results, and which data fields to include or exclude. No API key, no rate limits published, and the profile photos are real-looking AI-generated images. Essential for any developer building user-facing interfaces.

Quick start: https://randomuser.me/api/

No API key needed — just make a request!

Generate a random user: https://randomuser.me/api/

How to Use This API

1. Single Random User

https://randomuser.me/api/

Returns full user profile: name, gender, location (street, city, state, country, postcode, coordinates, timezone), email, login (uuid, username, password), dob, registered, phone, cell, id (SSN equivalent), picture (large, medium, thumbnail), and nat (nationality).

2. Multiple Users

https://randomuser.me/api/?results=20

3. Specific Nationality

Filter by country: AU, BR, CA, CH, DE, DK, ES, FI, FR, GB, IE, IN, IR, MX, NL, NO, NZ, RS, TR, UA, US:

https://randomuser.me/api/?nat=GB

4. JavaScript — Populate a Profile Form

fetch('https://randomuser.me/api/')
  .then(res => res.json())
  .then(data => {
    const user = data.results[0];
    console.log(`Name: ${user.name.first} ${user.name.last}`);
    console.log(`Email: ${user.email}`);
    console.log(`Phone: ${user.phone}`);
    console.log(`Location: ${user.location.city}, ${user.location.country}`);
    console.log(`DOB: ${user.dob.date.split('T')[0]}`);
    
    // Profile image
    const img = document.createElement('img');
    img.src = user.picture.large;
    img.alt = 'Profile photo';
    document.body.appendChild(img);
  });

5. Python — Generate Test Users

import requests

# Generate 5 UK users
resp = requests.get('https://randomuser.me/api/', params={
    'results': 5,
    'nat': 'GB'
})
users = resp.json()['results']
for i, u in enumerate(users, 1):
    name = f"{u['name']['first']} {u['name']['last']}"
    print(f"{i}. {name} | {u['email']} | {u['location']['city']}")

Frequently Asked Questions

What data fields are included?
Gender, name (title, first, last), location (street, city, state, country, postcode, coordinates, timezone), email, login (uuid, username, password, salt, md5, sha1, sha256), dob, registered, phone, cell, id, picture (large, medium, thumbnail), and nationality.
Do I need an API key?
No. RandomUser.me is completely free with no authentication or registration required.
Can I exclude certain fields?
Yes, use ?exc=login,id,dob to exclude specific fields from the response. Use ?inc=name,email,picture to include only specific fields.
What nationalities are available?
AU, BR, CA, CH, DE, DK, ES, FI, FR, GB, IE, IN, IR, MX, NL, NO, NZ, RS, TR, UA, US. Each generates culturally appropriate names and locations.
What format is the API response?
JSON. The response contains a results array and info metadata (seed, results count, page, version).
Can I seed the random generator?
Yes, use ?seed=abc123 to get reproducible results — the same seed always returns the same user profiles.

API Details

API URL
https://randomuser.me/api/
Documentation
randomuser.me
Category
Development
Authentication
Not Required
Geographic Coverage
Global — 20+ nationalities

What You Can Build