Company Registry Lookup: UK Companies House and LEI Data avatar

Company Registry Lookup: UK Companies House and LEI Data

Pricing

from $3.00 / 1,000 entity rows

Go to Apify Store
Company Registry Lookup: UK Companies House and LEI Data

Company Registry Lookup: UK Companies House and LEI Data

Look up, search, match and monitor legal entities: every live UK company (Companies House) and every LEI worldwide in one English schema. Lookup by number or LEI, name search, name matching with a score, weekly change feed. Legal persons only. API and AI-agent (MCP) ready.

Pricing

from $3.00 / 1,000 entity rows

Rating

0.0

(0)

Developer

Lucas Huber Pissaia

Lucas Huber Pissaia

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

What does it do?

Looks up, searches, matches and monitors legal entities in a ready-made snapshot of every live UK company (Companies House, about 5.7 million companies) and every legal entity with an LEI worldwide (about 3.1 million LEI records), linked in one clean English schema: when a UK company has an LEI, you get both on the same row. Five modes:

  • lookup: UK company number or LEI → the entity (status, legal form, incorporation date, city, industry, LEI status).
  • search: a name → the most similar entities, with a score.
  • filter: every entity matching country, status, industry (NACE), legal form and incorporation date. Example: active UK software companies incorporated this year.
  • match: your list of names (a supplier list, a CRM export) → the best candidate for each name, with a score, the company number and the LEI.
  • changes: the weekly change feed: new entities, renamed, status changes, companies that left the register, LEIs that lapsed.

It answers in seconds from a snapshot: no API key, no rate limit, nothing to scrape. Use it as an API, schedule it, or call it as an MCP tool from an AI agent (see "Use with AI agents (MCP)").

Data last updated: 27 October 2026 (UK snapshot of 1 October 2026; LEI Golden Copy of 26 October 2026; the RUN_SUMMARY of every run carries both dates). LEI refreshed weekly, UK monthly.

Try before you pay: a free sample of about 100,000 entities (about 1% of the registry, stratified by country and legal form) with the same schema, plus the LEI ↔ UK links, is on Hugging Face: https://huggingface.co/datasets/pracadata/legal-entities-registry. Check the schema and the quality there, then come back for the whole registry, lookup, search, matching and the change feed.

This Actor is built for know-your-business checks, supplier and CRM reconciliation, and entity resolution, not for lead generation:

  • No people. Sole proprietors are removed from the LEI data (category SOLE_PROPRIETOR, and every ISO 20275 legal form that is a sole trader). There are no officers, directors, shareholders, persons with significant control, e-mails or phone numbers, and there never will be.
  • No street addresses. City, region and, for the UK, only the postcode area (SW1A, not SW1A 1AA). Many small companies are registered at a home address.
  • UK: live companies only. The Companies House bulk file only has live companies. A dissolved company leaves it; changes reports it as removed_from_source.

If you need directors or contact data, this is not the right tool.

Why use it?

  • UK company number and LEI on one row. The link comes from the LEI record itself (registration authority Companies House + company number), not from name guessing.
  • Fast and predictable. A lookup of 3 IDs takes seconds; there is no per-minute quota as with registry APIs.
  • Name matching with a score. Legal suffixes (Ltd, Limited, PLC, Inc, GmbH…) and punctuation are normalised; you set min_score.
  • A change feed nobody else keeps. Registries publish the current state. This Actor diffs snapshots every week and keeps the history.
  • Clean, documented fields. English column names, harmonised status, ISO 20275 legal-form codes, NACE Rev. 2 next to the UK SIC codes.

What data can it return?

ModeOne row isMain fields
lookup, filterone entityentity_uid, lei, register_id, name, country, jurisdiction, status, status_raw, legal_form_raw, legal_form_elf, legal_form_label_en, entity_category, incorporation_date, seat_city, seat_region, seat_postcode_area, industry_codes, nace_rev2, accounts_next_due, confirmation_statement_next_due, charges_outstanding, previous_names, partnership_risk, lei_registration_status, lei_next_renewal_date, source, source_snapshot_date, source_url, licence (and input_id in lookup)
searchone candidate for one of your namesthe entity fields + input_name, match_score, match_rank
matchyour name with its best candidatethe entity fields + input_name, match_score
changesone change of one fieldchange_week, change_type, entity_uid, name, field, old_value, new_value, previous_snapshot_date, source_snapshot_date

entity_uid is GB-CH:<company number> for UK companies and LEI:<lei> for LEI records with no live UK company (other countries, and UK companies that are no longer live).

Input examples

Each example was run against the data of 27 October 2026; row counts are exact for that build, and the cost is rows × the price of the event on the Pricing tab, which is authoritative.

Look up three entities by UK company number and LEI (the default input; 3 rows):

{ "mode": "lookup", "ids": ["00445790", "00102498", "HWUPKR0MPOU8FGXBT394"] }

3 rows: Tesco PLC, BP p.l.c. and Apple Inc., in about a second. Cost: 3 entity-row.

Match a supplier list to entities (one row per name that has a candidate):

{ "mode": "match", "names": ["Tesco plc", "BP P.L.C.", "Apple Inc"], "min_score": 0.9 }

3 rows, all with score 1.0: GB-CH:00445790, GB-CH:00102498 and LEI:HWUPKR0MPOU8FGXBT394 (Apple Inc., US). Cost: 3 match-row.

Active UK companies in computer programming (NACE 62) incorporated in September 2026 (5,152 match; this example returns the first 100, in a fixed order; raise max_rows to get them all):

{ "mode": "filter", "countries": ["GB"], "status": ["active"], "nace_prefix": "62", "incorporated_from": "2026-09-01", "incorporated_to": "2026-09-30", "max_rows": 100 }

100 rows, about a second. Cost: 100 entity-row; all 5,152 would be 5,152.

UK companies that left the register since 12 October 2026 (the change feed starts with the first two consecutive snapshots, so a run before that returns 0 rows and costs nothing):

{ "mode": "changes", "countries": ["GB"], "changes_since": "2026-10-12", "change_types": ["removed_from_source"], "max_rows": 10000 }

Cost: 1 change-row per change.

Output example (lookup)

Real output of the first default ID (abridged to the main fields):

{ "input_id": "00445790", "entity_uid": "GB-CH:00445790", "source": "companies_house", "country": "GB", "register_id": "00445790",
"registration_authority_id": "RA000585", "lei": "2138002P5RNKC5W2JZ46", "name": "TESCO PLC", "legal_form_raw": "Public Limited Company",
"legal_form_elf": "B6ES", "status": "active", "status_raw": "Active", "incorporation_date": "1947-11-27", "seat_city": "WELWYN GARDEN CITY",
"seat_postcode_area": "AL7", "nace_rev2": "47.11", "lei_registration_status": "ISSUED", "source_snapshot_date": "2026-10-01", "licence": "CH s.47 CDPA approval; CC0-1.0" }

Use with AI agents (MCP)

The Apify MCP server lets an AI agent find this Actor, read its input schema and call it as a tool (search-actors, fetch-actor-details, call-actor, get-dataset-items; the run's maxTotalChargeUsd goes in callOptions). Running Actors needs an Apify account.

https://mcp.apify.com?tools=pracadata/company-registry-lookup
  • Claude (Desktop or web): Settings → Connectors → Add custom connector, paste the URL, sign in to Apify.
  • Cursor, VS Code and other mcpServers clients: { "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=pracadata/company-registry-lookup" } } }; without a browser, add "headers": { "Authorization": "Bearer <APIFY_TOKEN>" }.

What an agent should know. "Does this company exist and is it active?" → lookup with the company number or LEI. "Which company is this name?" → match (one row per name, cheapest). "Find companies like…" → search or filter. Always set max_rows and a small maximum charge per run. Read status, and source_snapshot_date for how recent the row is.

QuestionInputRows
"Is Tesco PLC active, and what is its LEI?"lookup, ids ["00445790"]1
"Match these 50 supplier names to UK companies"match, names [50 names], countries ["GB"]≤ 50
"New UK fintech companies this month"filter, countries ["GB"], nace_prefix "64", incorporated_from first day of the monthvaries; cap with max_rows
"Which of my counterparties' LEIs lapsed this week?"changes, change_types ["lei_lapsed"]varies

Pricing

This Actor uses pay per event. The Pricing tab is authoritative:

EventWhat you are charged for
entity-roweach entity returned by lookup (ID found), search or filter
match-roweach of your names in match that returned a candidate at or above min_score
change-roweach row of the change feed

Not charged: IDs that are not found (RUN_SUMMARY.not_found lists them) and names with no candidate. Rows are charged before they are delivered, in batches, and the run stops at your maximum charge per run: you never get a row you were not charged for, and never pay for a row you did not get (RUN_SUMMARY.charged, stopped_by_spending_limit).

Source and attribution

  • LEI data: Contains LEI data from the Global Legal Entity Identifier Foundation (GLEIF), available under CC0 1.0 (https://www.gleif.org/en/meta/lei-data-terms-of-use). This Actor is not provided, endorsed, sponsored or authorised by GLEIF or any LEI issuing organisation, and has no special relationship with them. The data has been filtered and transformed.
  • UK company data: Source: Companies House, Free Company Data Product (BasicCompanyData) (https://download.companieshouse.gov.uk/en_output.html). Information on the public register is made available under Companies House approvals issued in accordance with section 47 of the Copyright, Designs and Patents Act 1988. Companies House is not responsible for this Actor. Care-of names, street addresses and partner counts are removed; postcodes are reduced to the outward code.
  • Legal forms: ISO 20275 Entity Legal Forms code list, as published by GLEIF.

Privacy

The data describes legal persons. Sole proprietors are excluded, and no column describes a natural person. A company's registered name can contain a person's name, and limited and Scottish partnerships are flagged with partnership_risk = true for that reason. Do not use the data to identify, profile or contact individuals. Removal requests and data-protection (UK GDPR) questions: lucashpissaia@gmail.com; removals apply from the next weekly build.

Licence and terms

  • Unofficial. Derived work, not an official register extract. For legal or regulatory decisions, confirm with the registry.
  • Use: your own checks, analysis and products built on the results. Do not resell the raw rows in volume as a substantially similar dataset or API.
  • No warranty: provided as is, from public sources, with the limitations in this README.
  • Withdrawal: if a source restricts reuse, the Actor may be withdrawn. Takedown requests: lucashpissaia@gmail.com.

Known limitations

  • UK snapshot is monthly, so a company incorporated or dissolved this month appears next month. source_snapshot_date says which snapshot a row is from.
  • Dissolved UK companies are not in the UK file; they remain visible only through an LEI, if they had one.
  • LEI coverage is what entities registered: most companies in the world have no LEI.
  • Name matching is lexical (normalised names, Jaro-Winkler and token overlap): no transliteration, no trading names, no addresses. Check scores below 0.95.
  • nace_rev2 comes from the first UK SIC code only, and only for UK companies.
  • Speed of search and match. A name that is spelled exactly like a registered name (after normalising case, accents, punctuation and legal suffixes) answers instantly; a name with a typo is compared against millions of names and takes a few seconds at the default 1 GB of memory (a list of 100 names takes about 1 to 6 minutes, depending on how many have typos). Rows are delivered and charged block by block, so a long run never loses what it has already done. For lists of several hundred names, split them into runs or raise the memory in the run options (CPU grows with memory).
  • Name matching uses the current legal name only (not previous or trading names). The first letters must be right: the score is Jaro-Winkler on the normalised name, so a typo in the first characters lowers the score a lot. Ties on score go to the candidate with the same legal suffix as your name (Inc with Inc), then active entities, then entities with an LEI.
  • changes: the feed starts when two consecutive snapshots of a source exist; name is the entity's current name and is empty if it left the source; with countries, entities that left the LEI file have no country and only show up without that filter.
  • No officers, owners, addresses or contacts, by design.

FAQ and support

How fresh is the data? LEI weekly, UK monthly; see RUN_SUMMARY and "Data last updated".

Can I get everything? Yes, here: filter returns up to 100,000 rows per run and you can narrow by country, status, industry, legal form and incorporation date to page through the registry. The free dataset on Hugging Face is only a ~100,000-entity sample; lookup, search, matching and the change feed are only here.

Can I use it from an AI agent? Yes, as an MCP tool. See "Use with AI agents (MCP)".

Found a problem or need another field? Use the Issues tab.