Start here
This guide contains public integration notes for United Kingdom. Use it for identifier formats, search behavior, and country-specific caveats. The live source of truth for coverage, pricing, data sources, documents, legal forms, roles, and status values is the pricing page.United Kingdom coverage, pricing, and sources
Table of Contents
- Data Sources
- Company Identifiers
- Search Capabilities
- Quirks & Gotchas
- Mappings
- Data Availability
- Example API Responses
Data Sources
All UK company data is sourced from the Companies House API, the official public data API operated by Companies House — the UK executive agency responsible for incorporating and dissolving limited companies. Companies House traces its origins to 1844, when the Joint Stock Companies Act first enabled companies to be incorporated by registration. There is a single data source for all UK entities. No priority chain or fallback logic is needed — all data flows through one unified API.All company types
- Companies House Public Data API (
api.company-information.service.gov.uk) — Provides structured company profile data including company name, status, legal form, registered address, SIC codes, officers (directors and secretaries), and Persons with Significant Control (PSCs). This is our sole source for all UK company information (company profile, officers, PSCs, establishments). - Companies House Document API (
document-api.company-information.service.gov.uk) — Used to retrieve the actual PDF content of filed documents from the filing history (accounts, incorporation documents, confirmation statements, resolutions, etc.).
How data is fetched
For a company profile request, the system makes three parallel API calls to Companies House:- Company profile (
/company/{number}) — name, status, legal form, address, SIC codes, jurisdiction, previous names - Officers (
/company/{number}/officers) — directors, secretaries, and other officers (up to 2,000 per request) - Persons with Significant Control (
/company/{number}/persons-with-significant-control) — individuals and corporate entities with significant control
Company Identifiers
Query Identifiers
Identifiers in API Response
companiesHouseNumber is the single key for a UK company number wherever it appears in a response. The queried company, related companies (corporate officers and persons with significant control), and reconstructed corporate shareholders all expose their number under identifiers.companiesHouseNumber. The same key is used in a search result’s matchReason.identifier. There is no registrationNumber or companyNumber key for UK entities.GB + 9 digits) are managed by HMRC, not Companies House.Search Capabilities
Quirks & Gotchas
Mappings
Company Status
Company status is determined deterministically from the Companies House APIcompany_status field — no AI inference is involved.
open/closed pair used for UK establishments (BR-prefixed numbers). The localName field preserves the original Companies House status value, and status.active is true for the Active rows above. For a company with an active strike-off proposal, company_status stays active while localName carries the more specific active-proposal-to-strike-off, and the standardized status detail is Pending Dissolution. The full list of possible status values is published on the pricing page.Filing compliance signals
Companies House publishes a few filing-compliance signals on every company profile. We surface them in two places. Pending strike-off. A company with an active proposal to strike off is still reported by the register as active, sostatus.active stays true. The standardized status.statusDetails.status is set to PENDING_DISSOLUTION so you can tell it apart from a plainly active company, status.localName carries the register’s active-proposal-to-strike-off detail, and there is a short status.statusDetails.additionalInfo note. Once the strike-off completes, the company moves to Closed.
Compliance signals. Companies House publishes five standing signals on every company profile, surfaced on the cross-country complianceFlags object:
active: false is a formal clearance (“Companies House says this company has no registered charges”), not a default. A key is absent only where the payload genuinely omits the field, which happens on some older records. insolvencyHistory is historical: a company currently in proceedings is reported through status.statusDetails.status.
statutoryFilings field: Companies House publishes the full calendar for both obligations, the statutory accounts and the confirmation statement.
financialYearEnd is the Companies House accounting reference date as MM-DD. It recurs every year, so it is not a full date. lastFiled.periodEnd is the “made up to” date. See Compliance Signals & Statutory Filings for the full field reference and the country availability matrix.
Legal Forms
Legal forms are mapped deterministically from the Companies Housecompany_type field to human-readable English descriptions. Since the UK is an English-speaking country, the localName and englishTranslation fields are identical. Standardization to Topograph types and ISO 20275 codes is AI-enriched.
Key Business Forms
Key Business Forms
Partnerships & LLPs
Partnerships & LLPs
Non-Profits & Charities
Non-Profits & Charities
European & International Forms
European & International Forms
Overseas & Branch Offices
Overseas & Branch Offices
Investment & Financial Entities
Investment & Financial Entities
Other & Regional Forms
Other & Regional Forms
localName field is deterministically mapped from Companies House company_type codes using a static lookup table. The standardized type and iso20275Code are AI-enriched and may evolve. Source: Companies House API enumerations.Legal Representatives
Legal representatives are extracted from the Companies House officers endpoint. The classification of an officer as legal representative vs. other key person is deterministic: all secretary roles are Other Key Persons; all other active officer roles are Legal Representatives. The rolelocalName is built by combining the mapped officer role with the occupation field (when available) using a " | " separator. For example, if the officer role is director and the occupation is Managing Director, the localName will be "Director | Managing Director".
Both individuals and corporate entities can hold officer roles. Corporate officers are detected by the presence of an identification field.
Director & Management Roles (Legal Representatives)
Director & Management Roles (Legal Representatives)
LLP Member Roles (Legal Representatives)
LLP Member Roles (Legal Representatives)
Partnership Roles (Legal Representatives)
Partnership Roles (Legal Representatives)
European / SE Roles (Legal Representatives)
European / SE Roles (Legal Representatives)
Overseas Entity Roles (Legal Representatives)
Overseas Entity Roles (Legal Representatives)
Special Roles (Legal Representatives)
Special Roles (Legal Representatives)
Other Key Persons
Secretary roles and corporate PSCs are classified as Other Key Persons. Secretary Roles:officer_role field or occupation field is classified as an Other Key Person with standardized role Secretary. Corporate and legal-person PSCs are always Other Key Persons; only individual PSCs become UBOs.Shareholders
The Companies House API does not provide a dedicated shareholders endpoint. Shareholders are extracted from filing history documents using AI-based reconstruction. Extraction Logic:- Filters available documents to categories likely to contain shareholder information (
capital,annual-return,incorporation,resolution) - Downloads the selected PDFs (all free from Companies House)
- Extracts shareholders using AI parsing
- Resolves corporate shareholders to their own Companies House number where possible (see below)
- Returns reconstructed shareholder data with share percentages and ownership details
company.id and company.identifiers.companiesHouseNumber so you can key, dedupe, and traverse the entity. When no confident match is found (for example a dissolved entity, a foreign parent, or an ambiguous name), the shareholder is returned by name only, with company.id and company.identifiers left undefined. Treat the presence of a registration number on a shareholder as best-effort, not guaranteed. The companiesHouseNumber “always present” guarantee in the Company Identifiers table applies to the queried company itself, not to reconstructed shareholders.
Activity Code Mapping
UK companies use UK SIC 2007 (UK Standard Industrial Classification of Economic Activities 2007) codes as returned by Companies House. UK SIC 2007 is maintained by the Office for National Statistics (ONS) and is identical to NACE Rev. 2 at the 4-digit level, with UK-specific 5-digit subclasses.isAIInferred flag is always false for SIC codes. NACE and ISIC classifications are AI-enriched from the SIC codes since there is no deterministic mapping table in the system. Companies can have multiple SIC codes.Data Availability
Data Availability Matrix
Documents by Company Type
All UK company documents are sourced from the Companies House filing history and are free of charge.Example API Responses
All examples use placeholder data. Query:POST /v2/company with { "id": "<id>", "countryCode": "GB", "dataPoints": ["company", "legalRepresentatives"] }
Active Private Limited Company (Ltd)
Active Private Limited Company (Ltd)
Dissolved Public Limited Company (PLC)
Dissolved Public Limited Company (PLC)
active: false and may have no active officers. Resigned officers are filtered out, so a dissolved company may return an empty legalRepresentatives array.Limited Liability Partnership (LLP)
Limited Liability Partnership (LLP)
Overseas Company (FC prefix) with Establishments
Overseas Company (FC prefix) with Establishments
establishments array lists UK branches/offices of the foreign parent company. Only companies with FC prefix trigger the establishments fetch.UBO Response (dedicated datapoint)
UBO Response (dedicated datapoint)
"dataPoints": ["ultimateBeneficialOwners"]:fullName: "Protected Person with Significant Control" and no personal details.Available Documents (filing history)
Available Documents (filing history)
"dataPoints": ["availableDocuments"] is requested.Always available: