Discover/Gov API
live

Gov APIfind-and-update.company-information.service.gov.uk

Access UK company profiles, filing histories, officers, and charges from Companies House via 7 structured endpoints. Filter by SIC code, status, type, and more.

Endpoint health
verified 6d ago
advanced_search_companies
get_company_charges
get_companies_with_charges_by_lender
search
get_company_profile
7/7 passing latest checkself-healing
Endpoints
7
Updated
21d ago

What is the Gov API?

This API provides structured access to UK company data from Companies House across 7 endpoints, covering everything from basic company profiles to registered charges and filing histories. The get_company_profile endpoint returns incorporation date, SIC codes, registered address, and company status by registration number, while get_companies_with_charges_by_lender lets you cross-reference lenders against charge records across multiple companies in a single call.

Try it
Page number for pagination.
Search type filter.
Search keyword (company name, number, or officer name).
api.parse.bot/scraper/0dc760ec-e863-4883-a169-6da8969b8b7e/<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/0dc760ec-e863-4883-a169-6da8969b8b7e/search?page=1&type=all&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 find-and-update-company-information-service-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.

"""Walkthrough: Companies House SDK — search, profile, filings, charges."""
from parse_apis.companies_house_api import CompaniesHouse, SearchType, CompanyNotFound

client = CompaniesHouse()

# Search across all entity types (companies + officers) with enum filter.
for result in client.searchresults.search(query="Tesco", type=SearchType.COMPANIES, limit=3):
    print(result.name, result.company_number, result.address)

# Fetch a full company profile by registration number.
company = client.companies.get(company_number="00445790")
print(company.company_name, company.status, company.incorporation_date)

# Drill into sub-resources: filings, officers, charges — each bounded.
for filing in company.filings.list(limit=3):
    print(filing.date, filing.type, filing.description[:60])

for officer in company.officers.list(limit=3):
    print(officer.name, officer.role, officer.appointed_on)

# Advanced search with status filter, then navigate to detail.
summary = client.companies.search(name="Tesco", status="active", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.company_name, detail.company_type, detail.address)

# Typed error handling for a non-existent company.
try:
    client.companies.get(company_number="99999999")
except CompanyNotFound as exc:
    print(f"Company not found: {exc.company_number}")

print("exercised: searchresults.search / companies.get / filings.list / officers.list / companies.search / details")
All endpoints · 7 totalmissing one? ·

Search for companies by name, number, or officer name. Returns paginated results mixing company and officer entries. Pagination via page number; each page holds up to 20 results.

Input
ParamTypeDescription
pageintegerPage number for pagination.
typestringSearch type filter.
queryrequiredstringSearch keyword (company name, number, or officer name).
Response
{
  "type": "object",
  "fields": {
    "page": "integer, current page number",
    "type": "string, search type used",
    "query": "string, the search query used",
    "results": "array of search result objects containing name, type, url, and type-specific fields"
  },
  "sample": {
    "data": {
      "page": 1,
      "type": "all",
      "query": "Tesco",
      "results": [
        {
          "url": "/company/00445790",
          "name": "TESCO PLC",
          "type": "company",
          "status": "",
          "address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, United Kingdom, AL7 1GA",
          "company_number": "00445790",
          "incorporation_date": ""
        }
      ]
    },
    "status": "success"
  }
}

About the Gov API

Company Search and Profiles

The search endpoint accepts a query string and an optional type parameter (all, companies, officers, disqualified-officers) to filter results. Each result includes a name, type, url, and type-specific fields such as company_number or officer_id. For more targeted lookups, advanced_search_companies supports filtering by company_name_includes, company_status, company_type, sic_codes, and registered_office_address, returning an array of objects with company_name, company_number, status, and type.

The get_company_profile endpoint takes a company_number (leading zeros preserved, e.g. 00445790) and returns the full registered profile: company_name, address, status, company_type, incorporation_date, and an array of sic_codes where available. This is the canonical starting point for any per-company data pipeline.

Filings, Officers, and Charges

get_company_filing_history returns a paginated list of filings for a given company, each with a date, type code, and plain-text description. An optional category parameter narrows results to a specific filing category. get_company_officers returns the current officer list with name, address, role, and appointed_on per officer — useful for building director networks or compliance checks.

get_company_charges returns all registered charges (mortgages and secured lending) against a company, including charge_code, created_date, delivered_date, status, persons_entitled, and a description. The get_companies_with_charges_by_lender endpoint goes further: given a lender_name, it searches for companies and filters their charge records for a matching entry in persons_entitled, returning company_name, company_number, and the full matching_charges array. An optional search_query parameter overrides the default company search term.

Reliability & maintenanceVerified

The Gov API is a managed, monitored endpoint for find-and-update.company-information.service.gov.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when find-and-update.company-information.service.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 find-and-update.company-information.service.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
6d ago
Latest check
7/7 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
  • Build a due diligence tool that pulls company status, incorporation date, and SIC codes before a contract is signed.
  • Monitor filing history for a portfolio of companies to detect annual return submissions or director changes.
  • Map director networks by querying get_company_officers across multiple company numbers and joining on officer names.
  • Identify all companies with charges held by a specific bank or lender using get_companies_with_charges_by_lender.
  • Screen for dissolved or inactive companies in a supplier list using advanced_search_companies with a company_status filter.
  • Aggregate SIC code distributions across a set of companies for sector-level analysis.
  • Verify registered office addresses by comparing get_company_profile output against self-reported contact data.
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 provides the Companies House REST API at https://developer.company-information.service.gov.uk, which requires a free API key obtained by registering a developer account.
What does `get_company_charges` return, and how does it differ from `get_companies_with_charges_by_lender`?+
get_company_charges takes a single company_number and returns all charge records for that company, including charge_code, created_date, delivered_date, status, persons_entitled, and description. get_companies_with_charges_by_lender works in the opposite direction: you supply a lender_name and it searches across multiple companies, returning only those whose charge records contain that lender in the persons_entitled field, along with the matching charge details.
Does the API return resigned or historical officers?+
get_company_officers returns the current officer list as it appears on the Companies House record. Historical or resigned officers are not currently included in the response. You can fork this API on Parse and revise it to add a resigned-officers endpoint if your use case requires appointment history.
How does pagination work across endpoints that support it?+
The search, advanced_search_companies, and get_company_filing_history endpoints accept an integer page parameter. Each response echoes back the current page value alongside the result array. There is no explicit total-count or next-page URL field in the response, so iteration requires incrementing the page number until an empty results array is returned.
Does the API cover Scottish or Northern Irish company registrations separately?+
The API covers companies registered at Companies House, which includes Scottish companies (SC-prefixed numbers) and Northern Irish companies (NI-prefixed numbers) alongside England and Wales registrations. Separate registers such as the Scottish Charity Register or Industrial and Provident Societies are not currently covered. You can fork this API on Parse and revise it to add endpoints targeting those additional registries.
Page content last updated . Spec covers 7 endpoints from find-and-update.company-information.service.gov.uk.
Related APIs in Government PublicSee all →
companieshouse.gov.uk API
Search for UK companies and officers, then access detailed information including company profiles, filing history, charges, and officers with significant control. Get comprehensive corporate records and appointment details all in one place.
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.
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.
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.
search.sunbiz.org API
Search the Florida Sunbiz corporate registry to find detailed business registration information by company name, officer, address, or EIN, and retrieve complete entity details including filing history, registered agents, and officer names.