Get structured financial data from filed accounts
Get structured financial data extracted from the company's latest filed iXBRL accounts.
Returns balance sheet and profit & loss figures for the current and prior reporting year, where available. All monetary values are in actual GBP (e.g. 5200000 = £5,200,000).
What you get:
- profit_and_loss - turnover, gross profit, operating profit, profit before/after tax, depreciation. Only available for companies that file full accounts.
- balance_sheet - fixed assets, current assets, creditors, net assets, equity. Available for virtually all UK companies (legally mandated).
- other - average number of employees during the period.
- data_quality - tells you exactly what was extracted, what's missing, and why. Use accounts_type to understand field availability, and filing_type / filed_on / period_end_source to audit which Companies House filing the figures came from.
Which filing is used: the most recent filing that is genuinely a set of annual accounts for this company (AA, AAMD, legacy AC(NI)). Companies House files change-of-accounting- reference-date forms (AA01) and similar administrative documents in the same filing-history category, and they can be filed after the last real accounts - those are skipped.
If turnover is null, data_quality.turnover_untagged_suspected: true means the filing probably prints turnover without an iXBRL tag: the figure is in the filed document but not readable from its tags.
data_quality.period_end is the accounting period end, not the date the filing was submitted; the submission date is data_quality.filed_on.
Why some fields are null:
UK law allows smaller companies to withhold P&L data:
- micro (accounts_type: "micro") - balance sheet only; turnover and profit are legally exempt from disclosure. ~50% of UK companies file micro accounts.
- abbreviated (accounts_type: "abbreviated") - balance sheet only; small company exemption from P&L disclosure.
- full (accounts_type: "full") - all fields available (medium/large companies).
If a field is null, check data_quality.missing_fields for the list and data_quality.has_profit_loss to understand whether P&L was filed at all.
Sources:
Data is extracted from whichever format is available in the filed accounts:
- iXBRL (inline XBRL) - structured markup, high precision, data_quality.source: "ixbrl". Covers most UK companies since CH made iXBRL filing mandatory for most company types.
- PDF - text/table extraction attempted as a fallback. In practice, PDF annual accounts on Companies House are rendered as image-based PDFs (from design software or scanning) and yield no extractable text.
If no parseable filing is available (no digital filing, or an image-based PDF) or the company is dissolved/in liquidation/administration, returns HTTP 200 with available: false, unavailable_reason ("dissolved", "no_ixbrl_filings" or "image_pdf"), company_status, and accounts metadata from the company profile. This lets pipelines branch cleanly without exception handling. HTTP 404 is only returned when the company number itself does not exist in Companies House.
Data is cached for 90 days. Financial filings don't change between annual submissions, so cached data is reliably current.
Example: /v1/company/00445790/financials returns Tesco PLC's latest filed accounts.
Upstream usage: 2–3 upstream calls on cold cache (filing history + document metadata + document download). After first fetch, cached for 90 days at no cost. On cold cache, limit to ~30 different companies per minute to stay within upstream capacity.
Request
- Base URL: https://api.registrum.co.uk
- URL: https://api.registrum.co.uk/v1/company/{company_number}/financials
- Auth: API key in header X-API-Key
Path parameters
Companies House company number (e.g. 01234567 for a typical limited company). Numeric-only numbers are automatically zero-padded.
Response
Financial data extracted and returned successfully
Example response
{
"cache_age_seconds": 3421,
"cached": true,
"credits_remaining": 487,
"credits_used": 1,
"data": {
"company_age_years": 78,
"company_name": "TESCO PLC",
"company_number": "00445790",
"company_status": "active",
"company_type": "plc"
},
"data_source": "cached",
"status": "success"
}Changes
No recorded changes to this operation across all 1 revision of this API.