Discover/Gov API
live

Gov APIcompanieshouse.gov.uk

Search UK companies and officers, retrieve profiles, filing history, charges, and PSC data from Companies House via a structured JSON API.

Endpoint health
verified 5d ago
search_companies
get_company_profile
get_officer_appointments
get_company_officers
get_company_charges
8/8 passing latest checkself-healing
Endpoints
8
Updated
21d ago

What is the Gov API?

The Companies House API provides access to the UK's official company registry through 8 endpoints covering search, company profiles, officers, filings, charges, and persons with significant control. Starting with search_companies or search_officers, you can retrieve a company_number or officer_id and drill into full corporate records including SIC codes, registered addresses, incorporation dates, and charge details.

Try it
Page number for pagination (1-based)
Search query — company name or registration number
api.parse.bot/scraper/e9f73887-9fc3-4808-a6e2-0e88d8719a6a/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/e9f73887-9fc3-4808-a6e2-0e88d8719a6a/search_companies?page=1&query=Tesco' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace companieshouse-gov-uk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""UK Companies House: search companies, drill into filings and officers."""
from parse_apis.companies_house_uk_api import (
    CompaniesHouse, FilingCategory, CompanyNotFound
)

client = CompaniesHouse()

# Search for companies by name; limit caps total items fetched.
for company in client.companies.search(query="Tesco", limit=3):
    print(company.company_name, company.company_number, company.status)

# Get full profile for a known company number.
try:
    profile = client.companies.get(company_number="00445790")
    print(profile.company_name, profile.company_type, profile.registered_office_address)
except CompanyNotFound as exc:
    print(f"Company not found: {exc.company_number}")

# Drill into sub-resources via a constructible Company instance.
tesco = client.company(company_number="00445790")

# List filings filtered by category enum.
for filing in tesco.filings.list(category=FilingCategory.ACCOUNTS, limit=3):
    print(filing.date, filing.type, filing.description[:60])

# List officers and check the first one's appointment history.
officer = tesco.officers.list(limit=1).first()
if officer:
    appts = officer.appointments()
    print(appts.officer_name, appts.total_appointments)
    for appt in appts.appointments[:2]:
        print(appt.company_name, appt.role, appt.appointed_on)

# Search officers directly from the root collection.
result = client.officersearchresults.search(query="John Smith", limit=1).first()
if result:
    print(result.name, result.officer_id)

print("exercised: companies.search / companies.get / filings.list / officers.list / officer.appointments / officersearchresults.search")
All endpoints · 8 totalmissing one? ·

Full-text search over UK registered companies by name or number. Returns up to 20 results per page. Matches against current and previous company names. Each result includes a company_number suitable for drill-down via get_company_profile.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based)
queryrequiredstringSearch query — company name or registration number
Response
{
  "type": "object",
  "fields": {
    "items": "array of company search results with company_name, company_number, status, address, and url"
  },
  "sample": {
    "data": {
      "items": [
        {
          "url": "https://find-and-update.company-information.service.gov.uk/company/00445790",
          "status": "Matching previous names:TESCO STORES (HOLDINGS) PUBLIC LIMITED COMPANY",
          "address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
          "company_name": "TESCO PLC",
          "company_number": "00445790"
        }
      ]
    },
    "status": "success"
  }
}

About the Gov API

Search and Lookup

search_companies accepts a query string matching current or previous company names and registration numbers, returning up to 20 results per page with company_name, company_number, status, and address. search_officers works the same way for people — searching by name and returning an officer_id for each match. Both endpoints support 1-based page pagination for iterating through large result sets.

Company Profile and Filings

get_company_profile takes an 8-character company_number (leading zeros preserved) and returns status, company_type, incorporated_on, dissolved_on, registered_office_address, nature_of_business (SIC codes), and confirmation_statement and accounts objects containing next and last statement dates. get_company_filing_history retrieves a dated list of filings with type codes, descriptions, and pdf_url where available. The optional category parameter filters results to accounts, confirmation-statement, capital, or incorporation filings.

Officers, Appointments, and Ownership

get_company_officers returns current and resigned officers with role, appointed_on, resigned_on, nationality, country_of_residence, and date of birth alongside an officer_id usable in get_officer_appointments. That endpoint lists every company appointment an officer holds or has held, including company_name, company_number, role, and dates. get_company_persons_with_significant_control surfaces PSC records with nature_of_control arrays, notified_on, and personal details — noting that public companies may return an empty list.

Charges

get_company_charges retrieves registered security interests including mortgages and debentures. Each charge object carries charge_id, title, created, delivered, status, persons_entitled, and short_particulars. This is useful for credit risk assessment and corporate due diligence workflows.

Reliability & maintenanceVerified

The Gov API is a managed, monitored endpoint for companieshouse.gov.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when companieshouse.gov.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official companieshouse.gov.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Due diligence automation: pull company status, SIC codes, and registered address from get_company_profile for KYC workflows
  • Beneficial ownership mapping: trace PSC nature_of_control across group structures using get_company_persons_with_significant_control
  • Credit risk screening: check outstanding and satisfied charges via get_company_charges before extending trade credit
  • Director network analysis: map all appointments of an individual using get_officer_appointments with an officer_id
  • Compliance monitoring: track confirmation statement and accounts due dates from get_company_profile response fields
  • Filing retrieval: download accounts PDFs from get_company_filing_history filtered by the accounts category
  • Nominee director detection: identify officers with large total_appointments counts via get_officer_appointments
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Companies House have an official developer API?+
Yes. Companies House publishes an official REST API at https://developer.company-information.service.gov.uk. It requires a free API key and covers much of the same data. This Parse API surfaces the same registry data in a consistent structured format without requiring you to manage your own credentials or handle rate-limit responses from the official service.
What does `get_company_filing_history` return and can I filter it?+
It returns a filings array where each item includes date, type (a filing type code), description, and pdf_url (which may be null if no document is attached). The optional category parameter restricts results to one of four values: accounts, confirmation-statement, capital, or incorporation. There is no date-range filter; to retrieve filings across a long history, you would need to paginate through the full list.
Are dissolved or struck-off companies included?+
Yes. get_company_profile returns a status field that can be Dissolved, Liquidation, Active, or other Companies House status values, and dissolved_on carries the dissolution date where applicable. search_companies also matches dissolved companies by name or number.
Does the API return shareholder or share capital data?+
Not directly. The API covers filing history (including capital filings via the capital category filter), PSC ownership through get_company_persons_with_significant_control, and charges through get_company_charges, but individual shareholder registers and detailed share capital breakdowns are not exposed as structured fields. You can fork this API on Parse and revise it to add an endpoint targeting that data.
How many results does each search endpoint return, and is there pagination?+
search_companies and search_officers each return up to 20 results per call. Both accept an integer page parameter (1-based) so you can step through additional results. For get_company_officers and similar list endpoints, all available records are returned in a single response with no pagination parameter.
Page content last updated . Spec covers 8 endpoints from companieshouse.gov.uk.
Related APIs in Government PublicSee all →
find-and-update.company-information.service.gov.uk API
Search and access detailed information about UK companies registered at Companies House, including company profiles, filing histories, officers, and financial charges. Filter companies by name, status, type, SIC code, and more.
opencorporates.com API
Access comprehensive company registration data, officer details, and filing histories from OpenCorporates across jurisdictions worldwide to research businesses and their leadership. Search for specific companies or officers, retrieve detailed corporate information, and explore filing records to support due diligence, compliance checks, and business intelligence.
sec.gov API
Search for publicly traded companies and instantly access their SEC filings with details like filing type, date, description, and accession numbers. Find the regulatory documents you need to research company financial information and compliance records.
thecompaniesapi.com API
Enrich your company database with 80+ data points per company, search by industry or company details, and discover email patterns to drive your business intelligence. Find verified company information, get pricing data, and ask contextual questions about any organization to fuel your sales, marketing, or research efforts.
pappers.fr API
Search French companies and directors to access detailed business profiles, ownership structures, trademark information, and legal filings all in one place. Build professional networks, track company leadership, and monitor business intelligence across France's official registry data.
insolvencydirect.bis.gov.uk API
Search and retrieve detailed information about UK individual insolvency records, including bankruptcies, Individual Voluntary Arrangements (IVAs), Debt Relief Orders (DROs), and bankruptcy restrictions for individuals and sole traders in England and Wales. Access comprehensive insolvency data to verify financial history and legal status of individuals.
qcc.com API
Access Chinese business registration data from QCC.com. Search for companies by name, registration number, or credit code, and retrieve full company profiles including legal representative, industry, and registration authority details.
dnb.com API
Search millions of companies in Dun & Bradstreet's global business directory to find detailed company profiles and verify D-U-N-S numbers. Look up key business information like company details and identifiers to support due diligence, sales prospecting, and business intelligence needs.