v1

Fake profiles & companies for
real software

1,000 unique user profiles and 1,000 companies, 100+ fields each. Names, photos, jobs, financials, tech stacks, leadership, logos, legal IDs — realistic seed data for your tests, prototypes, and AI agents.

Get your API key

Live demo — profiles

Enter your email above to start
JSON response will appear here

Live demo — companies

Click "New Company" to sample a response
JSON response will appear here

Endpoints

MethodPathDescription
GET /v1/profiles List random profiles
GET /v1/profiles/:uuid Get a single profile
GET /v1/images/random Random profile photo
GET /v1/images/:uuid Specific profile photo
GET /v1/companies List random companies
GET /v1/companies/:uuid Get a single company
POST /v1/keys Request an API key
GET /openapi.json OpenAPI 3.1 spec
GET /health Health check
Postman Collection Insomnia Collection OpenAPI Spec

Query parameters

count /v1/profiles Number of profiles to return (1–100, default 10)
gender /v1/profiles Filter by gender (male, female)
country /v1/profiles Include only these countries (comma-separated: US, GB, DE, FR, AU, BR, JP, IN, NG)
exclude_country /v1/profiles Exclude these countries (comma-separated)
min_age / max_age /v1/profiles Filter by age range
seed /v1/profiles Deterministic results — same seed returns same profiles
fields /v1/profiles Comma-separated field groups: name, email, phone, identity, bio, social, physical, job, address, financial, network, documents, vehicle, contact, digital, interests, education, photo, relationships, meta
format /v1/profiles Response format: json (default) or csv
photo_size /v1/profiles Photo size in px (64, 128, 256, 512, 1024 — default 1024)
photo_format /v1/profiles Image format for photo URL (jpg or webp — default jpg)
size / format /v1/images/* size: 64, 128, 256, 512, 1024 · format: jpg (default) or webp
count /v1/companies Number of companies to return (1–100, default 10)
industry /v1/companies Filter: Technology, Healthcare, Finance, Education, Manufacturing, Retail, Media, Consulting, Real Estate, Transportation, Energy, Telecommunications, Hospitality, Agriculture, Legal, Construction
country /v1/companies Comma-separated country codes (US, GB, DE, FR, AU, BR, JP, IN, NG)
size /v1/companies Comma-separated employee brackets (1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+)
fields /v1/companies Field groups: name, industry, size, location, contact, social, financial, tech, leadership, legal, operations, product, relationships, meta
logo_size /v1/companies Logo size returned in meta.logo_url (64, 128, 256, 512, 1024 — default 1024)
logo_format /v1/companies Image format for meta.logo_url (jpg or webp — default jpg)
seed / format /v1/companies seed: deterministic output · format: json (default) or csv

Usage

terminal
# 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 npmzero config. The agent asks for your email once on first use, claims a free key, and caches it locally.

.mcp.json
{
  "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.

terminal
# 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.

example.ts
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.