Get your API key
Live demo — profiles
Live demo — companies
Endpoints
Query parameters
photo URL (jpg or webp — default jpg)
Usage
# List 5 profiles
curl -H "X-API-Key: YOUR_KEY" \
"https://your-domain.com/v1/profiles?count=5"
# Get a specific profile
curl -H "X-API-Key: YOUR_KEY" \
"https://your-domain.com/v1/profiles/PROFILE_UUID"
# Random profile photo (128px)
curl -H "X-API-Key: YOUR_KEY" \
"https://your-domain.com/v1/images/random?size=128"
# Specific photo (embeddable with query key)
curl "https://your-domain.com/v1/images/UUID?key=YOUR_KEY&size=256"
# 5 Technology companies from the US
curl -H "X-API-Key: YOUR_KEY" \
"https://your-domain.com/v1/companies?count=5&industry=Technology&country=US"
# Companies with just the fields you need
curl -H "X-API-Key: YOUR_KEY" \
"https://your-domain.com/v1/companies?count=10&fields=name,industry,leadership,tech"
MCP Server
Use Random Profiles directly from Claude, Cursor, or any MCP-compatible AI agent. Install via npm — zero config. The agent asks for your email once on first use, claims a free key, and caches it locally.
{
"mcpServers": {
"random-profiles": {
"type": "stdio",
"command": "npx",
"args": ["-y", "random-profiles-mcp"],
"env": { "RANDOM_PROFILES_API_KEY": "rp_your_key" }
}
}
}
CLI
Generate profiles from your terminal. Pipe to files, seed databases, or feed into scripts. Install via npm.
# Get 5 profiles as a table
npx -y random-profiles --count 5 --format table
# Export 50 US profiles to CSV
npx -y random-profiles --count 50 --country US --format csv > profiles.csv
# Filter by gender and age
npx -y random-profiles --gender female --min-age 25 --max-age 35
# Download a random profile photo
npx -y random-profiles --image random --size 256 --output photo.jpg
Typed responses
If you call the API from TypeScript, add random-profiles-types — zero-runtime .d.ts declarations mirroring every /v1/* response shape, filter, and enumeration.
npm install -D random-profiles-types
import type { Profile, Company, ProfilesResponse } from "random-profiles-types";
const res = await fetch("https://random-profiles.com/v1/profiles?count=5", {
headers: { "X-API-Key": process.env.RANDOM_PROFILES_API_KEY! },
});
const { profiles }: ProfilesResponse = await res.json();
Response format
{
"uuid": "a1b2c3d4-...",
"name": { "prefix": "Ms.", "first": "Jane", "middle": "Marie", "last": "Doe", "suffix": null, "nickname": "Jan" },
"email": "jane.doe@example.com",
"secondary_email": "jane.doe@company.com",
"phone": "+1-555-123-4567",
"phone_type": "mobile",
"secondary_phone": "+1-555-123-9999",
"fax": null,
"identity": { "gender": "female", "date_of_birth": "1990-03-15", "age": 36, "zodiac_sign": "Pisces", "ethnicity": "White/Caucasian", ... },
"bio": { "username": "jane_doe42", "bio": "Passionate about design.", "website": "https://jane_doe42.dev" },
"social": { "twitter": "@jane_doe42", "github": "jane_doe42", "tiktok": "@janedoe42", "youtube": "@janedoe", ... },
"physical": { "height": 168, "weight": 62, "blood_type": "A+", ... },
"job": { "title": "Software Engineer", "company": "Helix Labs", "company_domain": "helixlabs.com", "job_type": "full-time", "annual_income": 155000, ... },
"address": { "street": "123 Main St", "city": "Austin", "county": "Travis County", "country_name": "United States", "formatted": "123 Main St, Austin, TX 78701, US", ... },
"financial": { "credit_card": {...}, "iban": "DE89...", "bank_name": "Chase", "credit_score": 742, "bitcoin_address": "1A1zP1...", ... },
"network": { "ip_address": "192.168.1.42", "ipv6_address": "2001:0db8:...", "mac_address": "a1:b2:c3:...", "domain_name": "janedoe.dev" },
"documents": { "ssn_last4": "4821", "passport_number": "912345678", "national_id": "123-45-6789", "tax_id": "92-3456789", ... },
"vehicle": { "make": "Tesla", "model": "Model 3", "year": 2022, "license_plate": "ABC-1234" },
"contact": { "phone_country_code": "+1", "emergency_contact": { "name": "John Doe", ... } },
"digital": { "password_hash": "$2b$10$...", "two_factor_enabled": true, "last_login": "2026-04-14T09:23:41Z", ... },
"interests": ["hiking", "photography", "cooking"],
"education": { "degree": "BSc Computer Science", "university": "MIT", "field_of_study": "Computer Science", "gpa": 3.4 },
"meta": { "created_at": "2024-01-15T...", "is_active": true, "locale": "en-US", ... },
"photo": "https://random-profiles.com/images/4f0b7747-...jpg"
}
Frequently asked questions
What is Random Profiles API?
A REST API that generates realistic but entirely fictional user profiles for development, testing, and demos. Each profile includes 100+ fields like name, email, photo, job, address, financials, and more across 9 countries.
Is the data real?
No. Every profile is completely fictional. Names, emails, addresses, phone numbers, and all other fields are generated data. None of it corresponds to real people.
Are the profile photos real people?
No. All profile photos are AI-generated using Leonardo.ai. They are not photographs of real individuals, so you can use them freely without privacy concerns.
Do I need an API key?
Yes, but it's free and instant. Enter your email above and you'll receive your API key within seconds. The free tier includes 100 profiles and 500 images per day.
Is it free?
Yes. The free tier gives you 100 profiles and 500 images per day at no cost. If you need more, the Pro plan ($5/mo) offers 10,000 profiles/day and the Unlimited plan ($15/mo) removes all limits.
What fields are included in each profile?
Over 100+ fields organized into groups: name, email, phone, identity, bio, social media, physical attributes, job details, full address, financial data, interests, education, network info, documents, vehicle, and a profile photo.
Can I use this commercially?
Yes. There are no restrictions on how you use the generated data. It's designed for seeding databases, populating prototypes, testing pipelines, CI/CD, demos, and any other development purpose.
Is there an MCP server or CLI?
Yes, both. Install random-profiles-mcp from npm to use it with AI agents like Claude, or use the random-profiles CLI to fetch profiles directly from your terminal.
Is this GDPR compliant? What about Dutch AVG?
Yes. The generated profiles and companies are entirely synthetic (AI-generated by faker and Leonardo.ai) and are not personal data under Article 4(1) GDPR. For your own account we store only what's needed to operate the service — your email, API key, short-lived sessions, and 30 days of usage logs — with no IP addresses or cross-site tracking. A full Privacy Policy will be published alongside our Dutch incorporation in May 2026.
Can I delete my account and all my data?
Yes. Sign in to your account, scroll to the Danger zone, type your email to confirm, and click Delete account. Every API key, request log, and active session tied to your email is wiped immediately. Billing invoices held by our payment processor (Lemon Squeezy) are retained separately under Dutch tax law for 7 years.