Companies House API: UK Company Search & Data (Official API) avatar

Companies House API: UK Company Search & Data (Official API)

Pricing

from $2.00 / 1,000 company saveds

Go to Apify Store
Companies House API: UK Company Search & Data (Official API)

Companies House API: UK Company Search & Data (Official API)

Official Companies House API for UK company data: look up by company number, search by name, or list new companies by SIC code, location and incorporation date. Status, address, SIC, accounts due dates; directors, PSC, filings optional. Try with no API key (10 per run). $2 per 1,000.

Pricing

from $2.00 / 1,000 company saveds

Rating

0.0

(0)

Developer

Kevin

Kevin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

Look up any UK company on the official Companies House API: by company number, by name, or as a list of companies filtered by SIC code, location, status and incorporation date (great for new-company lead lists). Get status, registered office address, SIC codes, accounts and confirmation-statement due dates, and optionally directors, PSC (beneficial owners) and filing history with PDF links.

No API key needed to try it: leave the key empty and the run saves up to 10 companies (trial mode). Add your own free Companies House key (about 2 minutes) for unlimited runs. $2 per 1,000 companies, all details included.

  • Official API, no scraping, no proxies. The data comes from the same live register as the Companies House website, as stable JSON.
  • One flat price per company. Officers, PSC and filings are included at no extra cost.
  • Live UK company data, not a monthly snapshot. The API rate limit is respected automatically.
  • Built for KYB / KYC checks, supplier onboarding, due diligence, CRM enrichment and UK B2B lead lists.

Not affiliated with or endorsed by Companies House.

How to use

  1. Click Start. Leave the API key empty for a trial run (up to 10 companies), or paste your own free key (see below).
  2. Fill in one of the inputs below (or combine them).
  3. Run, then export the dataset as CSV, Excel or JSON, or connect it to your CRM via the Apify API.

Example 1: company number lookup (KYB, CRM enrichment). Numbers or Companies House page URLs:

{
"companyNumbers": ["00000006", "SC123456", "https://find-and-update.company-information.service.gov.uk/company/OC301234"]
}

Example 2: UK company search by name, with directors and filing history:

{
"searchQueries": ["bakery manchester"],
"searchActiveCompaniesOnly": true,
"maxResultsPerSearch": 50,
"includeOfficers": true,
"includeFilingHistory": true
}

Example 3: new companies by SIC code + location + incorporation date (lead list), e.g. software companies (SIC 62012) in Leeds incorporated in October 2026:

{
"apiKey": "<your key>",
"sicCodes": ["62012"],
"location": "Leeds",
"companyStatus": ["active"],
"incorporatedFrom": "2026-10-01",
"incorporatedTo": "2026-10-31",
"maxResultsPerSearch": 500
}

Without a key, examples 2 and 3 still run but stop after 10 companies.

Official API vs. scraping-based actors

This actorScraping-based alternatives
Data sourceOfficial Companies House Public Data API (JSON)Companies House website pages (HTML) or the monthly bulk file
Breaks when the website layout changesNoCan
Proxies neededNoUsually (website scraping)
Data freshnessLive register on every runLive (website) or up to a month old (bulk file)
API keyOptional: trial with no key (10 companies/run), own free key for unlimited runsUsually none
PriceFlat $0.002 per company, officers/PSC/filings includedOften per company plus extra per officer or section
Personal dataOff by default, flagged per item, no email/phone enrichmentVaries

Try it without a key

Leave the API key empty to try the actor right away: it runs in trial mode and saves at most 10 companies per run (same price per company). For bigger runs, add your own free key.

Get your free Companies House API key (about 2 minutes)

  1. Go to the Companies House Developer Hub and register or sign in (free).
  2. Open Your applications and create an application. Choose the live environment (not test).
  3. In the application, create a new key and choose the REST key type (an "API key"; not a stream key or OAuth client).
  4. Leave the IP/domain restrictions empty: Apify runs on changing servers, so an IP-restricted key returns 401.
  5. Copy the key into the actor's Companies House API key field. Apify stores it encrypted (secret input). It is sent only to api.company-information.service.gov.uk, never written to the dataset or logs.

The labels on the Developer Hub may change over time. Companies House documents the key in its authorisation guide.

What data do you get?

One dataset item per company:

FieldExample
companyNumber, companyName12345678, EXAMPLE BAKERY LTD
companyStatus, companyStatusDetailactive
companyType, companySubtype, jurisdictionltd, england-wales
incorporationDate, cessationDate2015-03-02
registeredOfficeAddress (one line) + registeredOfficePremises, ...AddressLine1, ...Locality, ...Region, ...PostalCode, ...Country1 High Street, Unit 4, Manchester, M1 1AA, England
sicCodes, sicDescriptions["10710"], ["Manufacture of bread; manufacture of fresh pastry goods and cakes"]
lastAccountsMadeUpTo, lastAccountsType, nextAccountsDue, accountsOverdue, accountingReferenceDate2026-12-31, false
confirmationStatementLastMadeUpTo, confirmationStatementNextDue, confirmationStatementOverdue2027-03-15
previousCompanyNames[{"name": "EXAMPLE CAKES LTD", "effectiveFrom": "2015-03-02", "ceasedOn": "2018-07-01"}]
hasCharges, hasInsolvencyHistory, hasBeenLiquidated, registeredOfficeIsInDisputetrue
companiesHouseUrl, apiUrllink to the company page on the Companies House website
officers (optional)name, role, appointed/resigned dates, nationality, occupation, country of residence, service address
personsWithSignificantControl (optional)name, kind, natures of control, notified/ceased dates, nationality, country of residence, service address, corporate legal form / registration number
filingHistory (optional)date, type (e.g. AA, CS01), category, description, pages, PDF link
matchedBy, retrievedAt, containsPersonalData, source, licenceprovenance and licence attribution

SIC descriptions come from the official Companies House condensed SIC 2007 list (Open Government Licence v3.0). Codes not on that list get null; no description is invented.

Input

FieldWhat it does
Companies House API key (recommended)Your own free key (see above). Without it the actor runs in trial mode: at most 10 companies per run.
Company numbersBulk lookup: 00000006, SC123456, OC301234, or Companies House page URLs. Short numbers are padded with zeros, duplicates removed.
Search by company nameOne or more name searches, like the Companies House search box.
Filter searchSIC codes, location, company status, company type, name includes/excludes, incorporated from/to, dissolved from/to. Filters are combined (AND).
Max companies per searchDefault 100, up to 5,000.
Searches: active companies onlySkip dissolved and other non-active companies in search results.
Include officers / PSCOff by default. Personal data, see "Personal data and UK GDPR".
Also include resigned officers and ceased PSCsOff by default.
Include month and year of birthOff by default, even when officers or PSC are on.
Include filing history / Max filings per companyOff by default; latest 25 filings when on.
Max companies in totalOptional overall cap.
Max API requests per 5 minutesDefault 575 (Companies House allows 600 per key). Lower it if another app uses the same key.

See How to use above for input examples.

Output example

{
"companyNumber": "12345678",
"companyName": "EXAMPLE BAKERY LTD",
"companyStatus": "active",
"companyType": "ltd",
"jurisdiction": "england-wales",
"incorporationDate": "2015-03-02",
"cessationDate": null,
"registeredOfficeAddress": "1 High Street, Unit 4, Manchester, Greater Manchester, M1 1AA, England",
"registeredOfficePostalCode": "M1 1AA",
"sicCodes": ["10710", "47240"],
"sicDescriptions": [
"Manufacture of bread; manufacture of fresh pastry goods and cakes",
"Retail sale of bread, cakes, flour confectionery and sugar confectionery in specialised stores"
],
"lastAccountsMadeUpTo": "2025-03-31",
"lastAccountsType": "micro-entity",
"nextAccountsDue": "2026-12-31",
"accountsOverdue": false,
"confirmationStatementNextDue": "2027-03-15",
"confirmationStatementOverdue": false,
"previousCompanyNames": [{"name": "EXAMPLE CAKES LTD", "effectiveFrom": "2015-03-02", "ceasedOn": "2018-07-01"}],
"hasCharges": true,
"companiesHouseUrl": "https://find-and-update.company-information.service.gov.uk/company/12345678",
"filingHistory": [
{
"date": "2026-03-10",
"type": "CS01",
"category": "confirmation-statement",
"descriptionText": "Confirmation statement with no updates",
"pages": 3,
"documentUrl": "https://find-and-update.company-information.service.gov.uk/company/12345678/filing-history/MzQ1Njc4OTAxMmFkaXF6a2N4/document?format=pdf&download=0"
}
],
"containsPersonalData": false,
"matchedBy": {"type": "companyNumber", "value": "12345678"},
"retrievedAt": "2026-10-31T04:40:00+00:00",
"source": "Companies House Public Data API",
"licence": "Contains public sector information licensed under the Open Government Licence v3.0 (Companies House)."
}

(Illustrative values. Some fields are shortened here; every item contains all fields listed above.)

The run summary is saved as OUTPUT in the key-value store: companies saved, numbers not found or invalid, results per search, failures, API requests used, rate-limit waits and the licence attribution.

Pricing

This actor uses pay-per-event pricing. You pay only for each company saved to the dataset. Apify platform usage is included in that price: under pay-per-event the actor's creator pays it, not you.

EventPrice
Company saved to the dataset (Apify's standard "dataset item" event)$0.002 (= $2 per 1,000 companies)

Officers, PSC and filing history are included in this price. Companies that are not found, invalid numbers and failed requests cost nothing. Set Maximum cost per run to cap spending. When that limit is reached, the run stops cleanly: it keeps everything already saved, makes no further API requests, and reports the skipped inputs in OUTPUT (stoppedByChargeLimit: true).

Speed: Companies House allows 600 requests per 5 minutes per key, about 2 per second. A profile needs 1 request, and each optional section adds at least 1 more. Expect about 1,000 companies in ~9 minutes with profiles only, or ~35 minutes with officers, PSC and filings.

Use cases

  • KYB / supplier onboarding: check status, registered office, overdue accounts and insolvency flags for a list of company numbers.
  • Due diligence: previous names, charges flag, filing history with PDF links, PSC (beneficial owners).
  • CRM enrichment: add SIC codes, incorporation date and address to your accounts by company number.
  • Market mapping and lead lists: all active companies by SIC code and location, or new incorporations in a date range.
  • Compliance calendars: upcoming accounts and confirmation-statement deadlines for a client portfolio.

Licence and attribution

Company data is © Crown copyright, from Companies House, and is reused under the Open Government Licence v3.0. Every item has a licence field, and OUTPUT has attribution and licenceUrl. If you publish or redistribute the data, keep the attribution: "Contains public sector information licensed under the Open Government Licence v3.0." Using the API is also subject to Companies House's developer terms and guidelines, including the rate limit. The actor respects that limit and never rotates keys to get around it.

Personal data and UK GDPR

Company profiles are company-level data. Officers and PSC are personal data even though they are on a public register. Officers, PSC and birth month/year are off by default, and items that include them are marked containsPersonalData: true.

If you turn these options on, you are the controller of the personal data in your copy under UK GDPR (and EU GDPR where it applies). You need a lawful basis and a specific purpose (for example KYC/AML checks or due diligence), must keep only what you need, must honour data subject rights, and must not use the data for unsolicited direct marketing to individuals where the law forbids it. Companies House's personal information charter explains why it publishes this data.

The actor outputs only what Companies House publishes. It never enriches personal data: no email, phone or social-media lookups, no matching across sources, and never a day of birth (the API publishes only month and year, and even those are off by default). Residential addresses are not available from the API; only service (correspondence) addresses are output.

FAQ

Can I try it without an API key? Yes. Leave the key empty: trial mode saves up to 10 companies per run (same price per company). Add your own free key to remove the cap.

Is the API key really free? Yes. Companies House gives REST API keys free of charge to anyone who registers on its Developer Hub. See "Get your free Companies House API key" above.

Can I find newly incorporated companies? Yes. Use the filter search with incorporatedFrom / incorporatedTo, optionally with SIC codes and a location (example 3). Schedule the run weekly or monthly on Apify to get a fresh list.

Can I export to Excel or CSV? Yes. The address and due dates are flat fields, so the Apify dataset export to CSV/Excel works well in spreadsheets. Nested lists (officers, PSC, filings) are JSON arrays.

Does it cover Scotland and Northern Ireland? Yes: all companies on the Companies House register, including SC, NI, OC (LLP) and other prefixes.

Why use my own API key? Each key has its own limit of 600 requests per 5 minutes. With your own free key there is no 10-company cap, your runs never compete with other users for a shared quota, and you use the official API under Companies House's terms.

I get "Companies House rejected the API key (HTTP 401)". Check that you copied a REST key from a live application, without spaces, and that the key has no IP restriction.

The run was slower than expected. The actor paces itself to stay under the key's limit. If another application uses the same key at the same time, the actor waits for the window to reset (you will see this in the log). This is safer than getting the key banned for exceeding the limit.

Does it include financial figures (turnover, profit)? No. The public API has no parsed accounts. Use the PDF links in filingHistory to open the filed accounts.

How fresh is the data? It is live: every run reads the current register. It is not a monthly bulk snapshot.

Changelog

  • 1.1 (2026-10-31): trial mode without an API key (up to 10 companies per run).
  • 1.0 (2026-10-31): company numbers, name search and filter search (SIC, location, status, type, dates); optional officers, PSC, filing history; SIC descriptions; rate limiting with 429 handling; pay-per-event with clean charge-limit stop.