Skip to main content

Fake Company Name API

MOCK DATA

Fake companies with locale-aware names, industry-flavored catchphrases, founding years, log-distributed headcounts and safe example.com websites and emails.

Generated test data for fixtures and development

Base URL
/api/companies
Capabilities
1 route Seedable 8 locales
Last updated
July 29, 2026

GET /api/companies

Live requestRuns against the public API
No key required
GET/api/companies?count=5&seed=42

Request parameters

Pin every company to this industry — the `industry` field matches and the `catchphrase` uses that industry's vocabulary. Omit for a random mix.

Advanced response options8 options

How many records to generate (1–100).

Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed).

Locale for the generated data (names, addresses, …).

Return only these fields (comma-separated). Mutually exclusive with 'exclude'.

Return all fields except these (comma-separated).

Response format: json envelope, ndjson (one record per line) or csv.

Pretty-print the JSON response.

Drop the envelope: return the raw array/object without data/meta wrapper.

Response

Example parameters are ready. Send the request to inspect the live response.

Route reference

Code samples Ready-to-copy requests in 4 languages
Choose a code sample language
curl "https://randomapi.dev/api/companies?count=5&seed=42"
const res = await fetch("https://randomapi.dev/api/companies?count=5&seed=42");
const { data, meta } = await res.json();
import requests

data = requests.get("https://randomapi.dev/api/companies?count=5&seed=42").json()["data"]
$json = json_decode(file_get_contents(
  "https://randomapi.dev/api/companies?count=5&seed=42"
), true);
$data = $json["data"];
Parameters Route-specific request inputs 1
industry enum

Pin every company to this industry — the `industry` field matches and the `catchphrase` uses that industry's vocabulary. Omit for a random mix.

allowed: technology | finance | healthcare | retail | manufacturing | energy | media | transportation | hospitality | construction | agriculture | education
example: industry=technology
Universal parameters Shared response and formatting options 8
count int

How many records to generate (1–100).

default: 10
allowed: 1 – 100
example: count=3
seed int

Deterministic output: the same seed always returns the same records. Omit for random (the used seed is echoed in meta.seed).

example: seed=42
locale enum

Locale for the generated data (names, addresses, …).

default: en
allowed: en | da | de | fr | es | it | pt | ja
example: locale=da
fields list

Return only these fields (comma-separated). Mutually exclusive with 'exclude'.

example: fields=name,legalName
exclude list

Return all fields except these (comma-separated).

example: exclude=email
format enum

Response format: json envelope, ndjson (one record per line) or csv.

default: json
allowed: json | ndjson | csv
example: format=csv
pretty boolean

Pretty-print the JSON response.

default: false
example: pretty=true
unwrap boolean

Drop the envelope: return the raw array/object without data/meta wrapper.

default: false
example: unwrap=true
Response schema Fields returned in each record 8
name string

Company display name from Faker — locale-aware (try ?locale=de or ?locale=ja).

example: Greenholt - Kerluke

legalName string

The name plus a locale-appropriate legal suffix (Inc., GmbH, ApS, …) — kept as-is when the generated name already carries one (e.g. 'Beier Inc', '株式会社永井不動産').

example: Greenholt - Kerluke LLC

industry string

One of 12 industries; every record matches ?industry when set.

example: technology

catchphrase string

Marketing tagline built from the company's industry vocabulary (English in all locales).

example: Rethinking cloud infrastructure for modern enterprises

foundedYear integer

Founding year, uniform between 1950 and last calendar year (relative to request time).

example: 1998

employees integer

Headcount, log-distributed between 2 and 50 000 — most companies are small, a few are huge (like reality).

example: 240

website string (URL)

https://<slugified-name>.example.com — example.com is RFC 2606-reserved, so it can never be a real site. Non-Latin names use a company-NNN slug.

example: https://greenholt-kerluke.example.com

email string

contact@ mailbox on the same reserved, non-deliverable domain as the website.

example: contact@greenholt-kerluke.example.com

Documented examples

Build-generated requests and complete responses
3
Five reproducible companies
GET /api/companies?count=5&seed=42
{
  "data": [
    {
      "name": "Hammes and Sons",
      "legalName": "Hammes and Sons",
      "industry": "energy",
      "catchphrase": "Your partner in seamless renewables",
      "foundedYear": 1952,
      "employees": 4,
      "website": "https://hammes-and-sons.example.com",
      "email": "contact@hammes-and-sons.example.com"
    },
    {
      "name": "Flatley-Friesen, Kassulke and Fisher-Hyatt",
      "legalName": "Flatley-Friesen, Kassulke and Fisher-Hyatt Inc.",
      "industry": "technology",
      "catchphrase": "Smarter cybersecurity for busy professionals",
      "foundedYear": 1971,
      "employees": 407,
      "website": "https://flatley-friesen-kassulke-and-fisher-hyatt.example.com",
      "email": "contact@flatley-friesen-kassulke-and-fisher-hyatt.example.com"
    },
    {
      "name": "Sipes, Heller and Schowalter-Stracke",
      "legalName": "Sipes, Heller and Schowalter-Stracke Inc.",
      "industry": "agriculture",
      "catchphrase": "Reliable livestock management for everyday customers",
      "foundedYear": 1994,
      "employees": 3,
      "website": "https://sipes-heller-and-schowalter-stracke.example.com",
      "email": "contact@sipes-heller-and-schowalter-stracke.example.com"
    },
    {
      "name": "Franecki, Rolfson and Ritchie",
      "legalName": "Franecki, Rolfson and Ritchie Holdings",
      "industry": "finance",
      "catchphrase": "Rethinking banking for busy professionals",
      "foundedYear": 2002,
      "employees": 50,
      "website": "https://franecki-rolfson-and-ritchie.example.com",
    …
    "generatedAt": "2026-07-29T08:13:22.000Z"
  }
}
Healthcare companies only
GET /api/companies?industry=healthcare&count=10
{
  "data": [
    {
      "name": "Hammes and Sons",
      "legalName": "Hammes and Sons",
      "industry": "healthcare",
      "catchphrase": "Rethinking pharmacy services for local businesses",
      "foundedYear": 1990,
      "employees": 3,
      "website": "https://hammes-and-sons.example.com",
      "email": "contact@hammes-and-sons.example.com"
    },
    {
      "name": "Flatley-Friesen, Kassulke and Fisher-Hyatt",
      "legalName": "Flatley-Friesen, Kassulke and Fisher-Hyatt Holdings",
      "industry": "healthcare",
      "catchphrase": "Effortless electronic health records for everyday customers",
      "foundedYear": 1963,
      "employees": 37,
      "website": "https://flatley-friesen-kassulke-and-fisher-hyatt.example.com",
      "email": "contact@flatley-friesen-kassulke-and-fisher-hyatt.example.com"
    },
    {
      "name": "Sipes, Heller and Schowalter-Stracke",
      "legalName": "Sipes, Heller and Schowalter-Stracke Ltd.",
      "industry": "healthcare",
      "catchphrase": "Bringing effortless clinical workflows to global brands",
      "foundedYear": 1950,
      "employees": 797,
      "website": "https://sipes-heller-and-schowalter-stracke.example.com",
      "email": "contact@sipes-heller-and-schowalter-stracke.example.com"
    },
    {
      "name": "Franecki, Rolfson and Ritchie",
      "legalName": "Franecki, Rolfson and Ritchie Holdings",
      "industry": "healthcare",
      "catchphrase": "Seamless patient care for modern enterprises",
      "foundedYear": 2014,
      "employees": 2106,
      "website": "https://franecki-rolfson-and-ritchie.example.com",
    …
    "generatedAt": "2026-07-29T08:13:22.000Z"
  }
}
German companies, names + websites
GET /api/companies?locale=de&fields=name,website&count=8&seed=7
{
  "data": [
    {
      "name": "Schwanitz-Neubert",
      "website": "https://schwanitz-neubert.example.com"
    },
    {
      "name": "Möldner-Hache",
      "website": "https://moldner-hache.example.com"
    },
    {
      "name": "Matschke-Emert",
      "website": "https://matschke-emert.example.com"
    },
    {
      "name": "Marxen AG",
      "website": "https://marxen-ag.example.com"
    },
    {
      "name": "Koha Gruppe",
      "website": "https://koha-gruppe.example.com"
    },
    {
      "name": "Hold-Hackelbusch",
      "website": "https://hold-hackelbusch.example.com"
    },
    {
      "name": "Bruder KG",
      "website": "https://bruder-kg.example.com"
    },
    {
      "name": "Richter, Stöppler und Gradzki",
      "website": "https://richter-stoppler-und-gradzki.example.com"
    }
  ],
  "meta": {
    "endpoint": "companies",
    "count": 8,
    "seed": 7,
    "locale": "de",
    "params": {},
    "generatedAt": "2026-07-29T08:13:22.000Z"
  }
}

About this API

Coverage & behavior

Generates believable fake companies in 8 locales: the name comes from Faker (Danish names with ApS/A/S, German GmbHs, Japanese 株式会社…), the legalName adds a locale-appropriate legal suffix when the name doesn't already carry one, and the website and email derive from the actual name on the RFC 2606-reserved example.com domain — they can never resolve to a real company's site or deliver mail. Non-Latin names (e.g. ?locale=ja) fall back to a deterministic company-NNN slug so the URL is always valid.

Set industry and every record is pinned to it: the industry field matches and the catchphrase is built from that industry's own vocabulary — solar power and grid management for energy, telehealth and diagnostics for healthcare, and so on. Omit it for a random mix where each catchphrase still matches its own record's industry. Catchphrases are English in every locale.

The numbers behave like the real economy: foundedYear is uniform between 1950 and last calendar year, while employees is log-distributed between 2 and 50 000 — lots of small shops, the occasional giant — so size-dependent UI states actually appear in fixtures. With seed, the same request returns byte-identical companies forever.

Use it for

  • Seed CRM, invoicing or B2B-directory demos with believable company records
  • Test list UIs against a realistic size spread (2-person shops to 50 000-employee giants)
  • Industry-specific fixtures: ?industry=healthcare for a med-tech demo, reproducible via seed

Frequently asked questions

Are these real companies?

No — names, domains and catchphrases are generated; resemblance to real firms is coincidental, which is exactly what you want in demo screenshots.

Can I generate companies from one industry?

Yes — industry filters generation to that sector, and the name, catchphrase and metadata stay coherent with it.

Do the websites and emails work?

No — they're syntactically valid but fake. Use them for display; don't send mail or fetch pages against them.