Overview
The UK Companies House API offers a direct interface to the official register of companies in the United Kingdom, maintained by Companies House. This governmental body, established in 1844, is responsible for incorporating and dissolving companies, examining and storing company information, and making this information available to the public. The API enables developers to integrate this extensive public data directly into their applications and services.
Developers use the Companies House API for various purposes, including automating compliance checks, enhancing customer onboarding processes with company verification, and building financial technology applications that require up-to-date corporate information. The API supports queries for company profiles, allowing retrieval of registered addresses, company status, and incorporation dates. It also provides access to detailed filing histories, including annual accounts, confirmation statements, and changes in company officers, which are critical for due diligence and risk assessment. The API's capabilities extend to searching for company officers and accessing insolvency data, offering a comprehensive view of a company's legal and financial standing.
The service is particularly useful for financial institutions, legal firms, credit reference agencies, and data analytics companies that require reliable, official UK company data. Its design emphasizes public accessibility, aligning with the Companies House mandate to make corporate information transparent. Authentication typically involves an API key, and the documentation provides clear guidance on integration, data structures, and rate limits. While most data is available for free, certain bulk data products or certified documents may incur fees, as outlined in the Companies House service fees and payment options.
The API is a fundamental resource for any application requiring current and historical data on UK registered companies, providing an official source for information that underpins many business operations and regulatory requirements. Its comprehensive nature and direct link to the official register ensure data accuracy and reliability.
Key features
- Company Information API: Access core company details such as registered office address, company status, incorporation date, and company type. This is essential for verifying company existence and basic profile data.
- Company Search API: Perform searches for companies based on name, company number, or other criteria, returning a list of matching companies with summary information.
- Filing History API: Retrieve a complete list of documents filed by a company, including annual accounts, confirmation statements, and changes to company structure, with links to the original documents.
- Officers API: Obtain details about current and resigned officers (directors, secretaries) of a company, including their names, appointment dates, and roles.
- Insolvency API: Access information related to company insolvency proceedings, providing data critical for risk assessment and financial analysis.
- Charges API: View details of charges registered against a company, such as mortgages and debentures, which indicate secured borrowing.
- PSC (Persons with Significant Control) API: Identify individuals or entities with significant control over a company, enhancing transparency and compliance efforts.
- Exemptions API: Check if a company is exempt from certain filing requirements, which can affect data availability and interpretation.
Pricing
As of May 2026, the UK Companies House API offers most data free of charge, reflecting the organization's public service mission. Specific bulk data products and certified physical documents may incur fees.
| Service/Data Type | Cost | Details |
|---|---|---|
| Standard API Access (most data) | Free | Access to company profiles, filing history, officers, insolvency data via API. |
| Bulk Data Products | Variable | Charges apply for large datasets, such as the full register of companies or specific historical datasets. Refer to the Companies House guidance for specific pricing. |
| Certified Copies of Documents | Variable | Fees apply for certified printouts or digital copies of official company documents. |
| Company Incorporation Services | £10-£50+ | Fees for registering a new company, varying by method (online, paper). Not directly API-related but part of Companies House services. |
For the most current and detailed pricing information, including specific charges for bulk data products and certified documents, consult the official Companies House service fees page.
Common integrations
- CRM Systems (e.g., Salesforce): Integrate company data to enrich customer records, verify business entities, and automate onboarding processes. For example, developers can use Salesforce's REST API documentation to connect external data sources.
- ERP Software: Embed company information for supplier verification, financial compliance, and automated data synchronization within enterprise resource planning systems.
- Financial Services Platforms: Used by banks, fintechs, and credit agencies for enhanced due diligence, anti-money laundering (AML) checks, and fraud prevention.
- Legal & Compliance Tools: Automate the retrieval of official company filings and officer details for legal research, regulatory compliance, and governance.
- Data Analytics & Business Intelligence Platforms: Ingest company data for market analysis, competitive intelligence, and building comprehensive business databases.
- Workflow Automation Platforms (e.g., Tray.io): Connect the API to automate workflows that involve company data retrieval, such as triggering alerts on significant company filing changes, as demonstrated in Tray.io's connector documentation.
Alternatives
- OpenCorporates: A database of company data from various official registers worldwide, offering broader international coverage.
- Companies House (Northern Ireland): The official register for companies incorporated in Northern Ireland, separate from the main UK Companies House, though part of the same overall UK government department.
- D&B Hoovers (Dun & Bradstreet): A commercial database providing extensive business information, including private company data, financial insights, and corporate family trees, often covering more than just public register data.
Getting started
To begin using the UK Companies House API, you first need to register for an API key on their developer portal. This key authenticates your requests. Once you have your key, you can make HTTP requests to the API endpoints to retrieve company data. The following Python example demonstrates how to fetch basic company profile information using the requests library.
import requests
import os
# Replace with your actual API key and company number
API_KEY = os.getenv("COMPANIES_HOUSE_API_KEY") # It's best practice to use environment variables
COMPANY_NUMBER = "08970894" # Example: Company number for "apispine Ltd"
if not API_KEY:
print("Error: COMPANIES_HOUSE_API_KEY environment variable not set.")
print("Please get your API key from https://developer.companieshouse.gov.uk/ and set it.")
exit()
base_url = "https://api.companieshouse.gov.uk"
endpoint = f"/company/{COMPANY_NUMBER}"
headers = {
"Authorization": f"Basic {API_KEY}"
}
try:
response = requests.get(base_url + endpoint, headers=headers)
response.raise_for_status() # Raise an exception for HTTP errors (4xx or 5xx)
company_data = response.json()
print(f"Company Name: {company_data.get('company_name', 'N/A')}")
print(f"Company Type: {company_data.get('type', 'N/A')}")
print(f"Company Status: {company_data.get('company_status', 'N/A')}")
print(f"Incorporation Date: {company_data.get('date_of_creation', 'N/A')}")
address = company_data.get('registered_office_address', {})
print(f"Registered Office Address: {address.get('address_line_1', 'N/A')}, {address.get('locality', 'N/A')}, {address.get('postal_code', 'N/A')}")
except requests.exceptions.RequestException as e:
print(f"An error occurred: {e}")
if response is not None:
print(f"Response Status Code: {response.status_code}")
print(f"Response Body: {response.text}")
This Python script fetches the company profile for a specified company number. You would replace "08970894" with the actual company number you wish to query. The Companies House API uses HTTP Basic Authentication, where the API key is base64-encoded. Ensure your API_KEY is correctly set as an environment variable for security. More details on authentication and available endpoints can be found in the Companies House API reference.