Company
- company_number
- company_name
- legal_form
- trading_status
- dormant
- employees
Financial Accounts ready for ingestion
Bypass the complexity of raw XBRL parsing. Accounts filed electronically with Companies House are delivered with one row per filing, in Parquet, JSON and CSV.
View downloadsUK company accounts indicate the financial position of every business and are highly valuable. The vast majority are filed in machine-readable XBRL format.
However, processing XBRL at scale is technically challenging. A specification-compliant parser must resolve extensive taxonomy references, and the varying outputs from different accounting software add further complexity. Open-source parsers can take several seconds per document, making bulk ingestion of millions of accounts a slow and costly undertaking.
<xbrli:context id="company">
<xbrli:entity>
<xbrli:identifier scheme="http://www.companieshouse.gov.uk/">11932084</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2025-05-01</xbrli:startDate>
<xbrli:endDate>2026-04-30</xbrli:endDate>
</xbrli:period>
</xbrli:context>
<ix:nonFraction contextRef="company-period-end" decimals="0" format="ixt:numdotdecimal" name="core:FixedAssets" scale="0" unitRef="GBP">854</ix:nonFraction>
<ix:nonFraction contextRef="company-period-end" decimals="0" format="ixt:numdotdecimal" name="core:CurrentAssets" scale="0" unitRef="GBP">150,031</ix:nonFraction>
<ix:nonFraction contextRef="company-period-end" decimals="0" format="ixt:numdotdecimal" name="core:TotalAssetsLessCurrentLiabilities" scale="0" unitRef="GBP">150,164</ix:nonFraction>The Solution
Companies Catalogue transforms this complex parsing problem into a straightforward operation. You can run a monthly batch process to fetch the latest accounts and maintain a queryable local database.
Parquet is recommended. JSON and CSV are also available with gzip or Zstd compression for direct database loading.
The most commonly used accounts fields, with one row per filing and values from the current period.
The dataset is updated each month with the accounts published in the previous month.
Hosted on reliable object storage in the Western Europe region to ensure high-performance downloads for your ingestion pipelines.
ch-xbrl -o facts.csv \
https://download.companieshouse.gov.uk/Accounts_Bulk_Data-2026-05-09.zipAccounts are extracted with ch-xbrl, an open-source parser written in Go. Every tagged fact is extracted from each filing
in the Companies House bulk accounts files.
A curated concept map is then applied to the raw facts. It picks one value per field for the current reporting period, giving one row per filing with the company number and balance sheet date. Comparative year values are not included.
We first tried stream-read-xbrl, which showed that high-performance extraction is possible. Its output can contain
more than one row per filing, and dimensioned concepts are not always handled when
choosing a value, so we built a separate parser.
Only accounts filed electronically in XBRL are included. Historically, many accounts were filed on paper and are not in the data. From 2028, all accounts are due to be filed electronically.
Each row is one filing. zip_start and zip_end give the dates of the
Companies House bulk file it came from. Companies do not tag every concept, so which fields
are filled depends on the filing type and company size.
The XBRL is parsed accurately, but accounts software does not always tag values correctly. Extracted values can therefore differ from what appears in the accounts PDF. We correct obvious errors where we can, but some are hard to detect.
{
"zip_start": "2020-02-01",
"zip_end": "2020-02-29",
"source_file": "Prod224_0075_04002820_20190531.html",
"company_number": "04002820",
"company_name": "KVS SYSTEMS LIMITED",
"period_start": "2018-06-01",
"period_end": "2019-05-31",
"currency": "GBP",
"current_assets": 6035.0,
"creditors_within_one_year": 6959.0,
"net_current_assets": -924.0,
"net_assets": -924.0,
"turnover": 26448.0,
"profit_loss": 405.0,
"software": "Company Accounts and Tax Online",
"accounting_standard": "Micro-entities",
"dormant": false,
...
}Recent accounts are free with an account. The full history and raw facts are paid products, priced by the number of filings.
100 randomly selected filings in CSV, available to download above without an account.
The most recent 12 full months of XBRL accounts are free with a Companies Catalogue account. Sign-up is free and card details are not required.
All XBRL accounts since 2010, at £40 per million filings. One filing is one row in the table.
Every tagged concept from each filing since 2010, including the text of accounting policies and notes. £120 per million filings. Contact us to order.