# UK Company Public Record

Everything the public record says about a UK company, joined and read, in one call.

The Companies House record, distress signals, directors' and PSCs' ID verification against the deadline, the payment-practices record, public contracts won, the gender pay gap, Environment Agency registrations and the UK Sanctions List, joined on the company number, with the three things most worth knowing first.

Before you give a company credit, sign it as a supplier or take it on as a customer, the answers are public, but they're spread across the Companies House profile, its insolvency and charges records, the officers and PSC registers, the payment-practices reports, public contracts (Contracts Finder and Find a Tender), gender pay gap reports, the Environment Agency's registers and the UK Sanctions List. Nobody joins them. This endpoint does: one company number in; the registry facts, the register's distress signals graded and dated, whether its directors and PSCs show a verified identity against its deadline, and (for large companies) how fast it pays its suppliers, ranked. The three things most worth knowing come first.

- Price: 3 credits
- Page: https://meetkatalis.com/apis/public-record
- OpenAPI: https://meetkatalis.com/openapi.yaml

## Endpoints

- `GET /api/v1/public-record?company=…` — By company number or name (a name resolves to one company, named in the reply)

## Call it

```bash
curl -H "x-api-key: $KATALIS_API_KEY" \
  "https://meetkatalis.com/api/v1/public-record?company=00502851"
```

```javascript
const res = await fetch("https://meetkatalis.com/api/v1/public-record?company=00502851", {
  headers: { "x-api-key": process.env.KATALIS_API_KEY },
});
if (!res.ok) throw new Error(`Katalis ${res.status}: ${await res.text()}`);
console.log(await res.json());
```

```python
import os, requests

r = requests.get(
    "https://meetkatalis.com/api/v1/public-record?company=00502851",
    headers={"x-api-key": os.environ["KATALIS_API_KEY"]},
    timeout=60,
)
r.raise_for_status()
print(r.json())
```

## Example response (a real reply)

```json
{
  "company": { "name": "GREGGS PLC", "number": "00502851", "status": "active", "type": "plc", "incorporatedOn": "1951-12-29", "sicCodes": ["10710", "47240"], "registeredOffice": "Greggs House, Quorum Business Park, Newcastle Upon Tyne, NE12 8BU, United Kingdom", "accounts": { "nextDue": "2027-06-30", "overdue": false }, "confirmationStatement": { "nextDue": "2027-04-28", "overdue": false } },
  "level": "clear",
  "knowFirst": [
    "Nothing on the Companies House register suggests trouble: no insolvency record, filings up to date.",
    "It reports paying suppliers in 34 days on average (median large company: 31), with 6% paid later than agreed terms."
  ],
  "distress": { "level": "clear", "signals": [], "summary": "Nothing on the Companies House register suggests trouble: no insolvency record, filings up to date." },
  "identityVerification": { "active": true, "deadline": { "effective": "2027-04-28", "daysLeft": 203, "source": "confirmation-statement" }, "summary": { "total": 8, "verified": 8, "notShowing": 0 }, "people": "8 (names shown to verified accounts)" },
  "paymentPractices": { "periodEnd": "2026-06-27", "averageDaysToPay": 34, "paidLateAgainstTerms": 6, "medianDaysToPay": 31, "slowerThanPercentOfReporters": 56, "reports": 12 },
  "contractsWon": { "months": 24, "awards": 0, "notifiedValueGBP": 0, "latest": [] },
  "registers": {
    "environmentAgency": { "read": true, "registrations": 2, "wasteCarrier": { "current": true, "expires": null } },
    "sanctions": { "read": true, "listed": false, "matches": [], "listDate": "2026-10-06", "says": "We didn't match GREGGS PLC to the UK Sanctions List by its company number or its registered name and address (list of 6 October 2026). That isn't a clearance: companies owned or controlled by someone on the list aren't named on it." }
  },
  "genderPayGap": { "year": 2025, "medianHourlyGap": 2.24, "womenInTopQuarter": 45 }
}
```

## What you'd build with it

- **Know your customer, for small firms.** One call before you extend credit or send the first invoice to a new customer.
- **Supplier due diligence.** A procurement check that covers insolvency, filings, ID verification and payment record in one pass.
- **Accountants and advisers.** A client or counterparty's whole public record, summarised, for the file.

## Why this one

- **The join nobody sells.** Seven public sources (Companies House, Payment Practices, Contracts Finder, Find a Tender, Gender Pay Gap, the Environment Agency, the UK Sanctions List), one company number, one answer. Each part reads exactly as our standalone APIs do.
- **What matters, first.** The three things most worth knowing, ranked: serious signals, then deadlines, then patterns.
- **By number, never by name.** A similarly named company never gets caught up in someone else's record.
- **Worded as the records show it.** Facts with dates and sources, never verdicts about people; disclaimered and attributed.

## Conventions

- Auth: `x-api-key: kat_live_…` on every request (free key at https://meetkatalis.com/developers: a verified email and mobile, 100 credits a month, no card).
- One credit balance across every API; each endpoint's price is on its page and in `x-credits` in https://meetkatalis.com/openapi.yaml.
- Keys are camelCase everywhere. A registered company is `company: { name, number, status, statusDetail?, filingsOverdue? }` on the register endpoints; the enrichment family (enrich, score, assess, brand-kit, ai-visibility, tender-match) keeps `business` / `profile` with `companyNumber`.
- Every error has `code` and `requestId`; every reply an `x-request-id` header; a charged reply `x-credits-remaining`; a reply that gave credits back `x-credits-refunded`. Missing = 404 with `query`.
- Burst ceiling 60 requests a minute per key (429, `Retry-After`, no credits used). A failure on our side (5xx) gives the call's credits back.
- Company data contains public sector information licensed under the Open Government Licence v3.0.

Provided "as is"; results come from public sources and, in places, AI, and may be inaccurate or out of date; not legal, professional or credit advice. Terms: https://meetkatalis.com/apis/terms