Developer API

UK Company Intelligence API

XBRL financial extraction, PSC ownership chains, group structure traversal, and filing provenance for 2.7M+ UK company records. One API call.

2.7M+
UK Companies
20+
Financial Fields
100+
XBRL Tag Fallbacks
4
Quality Tiers

API Endpoints

11 company endpoints plus 8 lender intelligence endpoints, stats, health, and MCP tooling

GET/v1/companies/search/

Search Companies

Filter by SIC code, revenue range, employee count, location, data quality tier, and more.

POST/v1/companies/compare

Compare Companies

Side-by-side comparison of up to 10 companies across enrichment dimensions.

GET/v1/companies/{number}

Company Profile

Full company profile with financials, ownership, constraints, and quality signals.

GET/v1/companies/{number}/financials

Financial History

Multi-year XBRL financial history. Balance-sheet fields are broadest; revenue, profit, cash-flow, and liquidity metrics depend on filing type.

GET/v1/companies/{number}/time-series

Financial Time-Series

Trend summaries and arrays for reported metrics across filing years. Coverage is materially deeper on full accounts than abridged filings.

GET/v1/companies/{number}/ownership

Ownership Intelligence

PSC beneficial owners, age estimation, and corporate ownership structure.

GET/v1/companies/{number}/ownership-graph

Ownership Graph

PSC-to-management graph for group structure traversal.

GET/v1/companies/{number}/constraints

Deal Constraints

Flags secured lending constraints such as floating/fixed charges and unsatisfied encumbrances.

GET/v1/companies/{number}/explain

Provenance Explain

Returns filing URL, chosen XBRL tags, and extraction confidence for key metrics.

GET/v1/companies/{number}/deal-snapshot

Deal Snapshot

Single-call buyability summary combining owner, financial, and constraint signals.

GET/v1/companies/{number}/share-events

Share Event History

SH01/SH03/SH06 capital filing timeline — allotments, buybacks, and cancellations with share class, quantity, consideration, and post-event capital snapshots.

GET/v1/lenders

Lender League Table

Paginated list of canonical UK lenders ranked by charge activity. Filter by classification (bank, challenger_bank, building_society, specialist_mortgage, private_credit, asset_finance, invoice_finance, …), activity window, minimum charge count, or free-text name match. Pass ?include=series for 24-month sparkline data.

GET/v1/lenders/{id}

Lender Profile

Canonical lender with parent/subsidiary structure, raw alias list, and aggregate charge stats (totals + recent activity).

GET/v1/lenders/{id}/portfolio

Lender Portfolio

Paginated companies with charges from this lender, with per-company aggregated counts. Filter by charge status (outstanding | satisfied | all).

GET/v1/lenders/{id}/activity

Lender Monthly Activity

Monthly new + satisfied charge counts, oldest first. ?months=1..60 controls the trailing window (default 24). Months with no activity are omitted.

GET/v1/lenders/{id}/sectors

Lender Sector Breakdown

Top-15 SIC-section breakdown of companies this lender has charges against, ranked by charge count.

GET/v1/lenders/{id}/regions

Lender Regional Breakdown

UK ITL1 regional breakdown of companies this lender has charges against.

GET/v1/lenders/{id}/size-breakdown

Lender Size Breakdown

Revenue-band breakdown of companies this lender has charges against, ordered by band threshold. The ``Unknown`` band covers companies without a resolved latest_revenue.

GET/v1/lenders/{id}/instruments

Lender Instrument Mix

Top-5 charge-type instruments this lender uses (fixed charge, debenture, floating charge, mortgage, …), ordered by charge count.

Plus GET /health and GET /v1/stats (unauthenticated)

Quick Start

Authenticate with your API key via the X-API-Key header

Request
curl -H "X-API-Key: pk_live_your_key_here" \
  https://api.perpetua.uk/v1/companies/12345678
Response
{
  "company_number": "12345678",
  "name": "ACME ENGINEERING LTD",
  "sic_codes": ["28110"],
  "incorporation_date": "1998-03-15",
  "registered_address": "London, England",
  "latest_revenue": 4250000,
  "latest_net_profit": 680000,
  "latest_total_assets": 3100000,
  "current_ratio": 2.1,
  "debt_to_equity": 0.35,
  "data_quality_tier": "gold",
  "ownership_type": "Individual Controlled",
  "owner_max_age": 67,
  "has_family_director": false,
  "has_pe_ownership": false
}

Coverage Notes

Example payloads are illustrative. Financial field availability varies materially by filing type.

Liquidity Ratios

current_ratio, quick_ratio, and working_capital are effectively full-accounts-only for UK companies because current_liabilities is rarely disclosed in abridged filings.

Structural Filing Gaps

latest_inventory, latest_operating_cash_flow, latest_capex, latest_free_cash_flow, and most latest_interest_expense data are structural full-accounts-only gaps in UK filings and will often be null.

See The Data

Open static demo company pages with illustrative payloads and no API key.

What You Get

Enrichment data — facts, not opinions

XBRL Financial Extraction

20+ financial fields with 100+ tag fallbacks. Balance-sheet coverage is broadest; revenue, profit, cash-flow, and ratio depth increases materially on full accounts.

PSC Ownership Chains

Beneficial owner resolution with age estimation from Companies House birth month/year. See who really owns the company.

Group Structure Traversal

Walk PSC ownership chains to map group structures. Identify corporate PSCs, resolve subsidiaries, and traverse multi-layer ownership graphs.

Distress Signals

Coverage-aware financial health flags built from reported balance-sheet and profit fields. Liquidity and cash-flow signals are materially narrower on abridged filings.

Data Quality Tiering

Gold / silver / review / toxic classification. Use it to gauge how much reported financial detail is actually present for a company.

Powerful Search

Filter by SIC code, revenue range, employee count, region, owner age, data quality, and 20+ more parameters.

Interactive API Explorer

Try core endpoints through a safe proxy with demo credentials.

cURL

Auto-updated
curl -H "X-API-Key: <your_api_key>" \
  "${PERPETUA_API_URL:-http://localhost:8000}/v1/companies/00445790"
HTTP -

Response JSON

{}

Start Building

Create a free account, generate an API key, and start querying 2.7M+ UK company records in minutes.