Most countries publish their company register as open data. You can download every UK limited company, every French business, every Norwegian organisation, for free. What you can't do is ask a simple question across them: which company owns equinor.com, and what does its register say about it?

Registries record a name, a number, an address, a status and an industry code. Almost none of them record the company's website. The databases that do join companies to websites are closed: you pay per seat, you can't see where a match came from, and you can't check it yourself.

So we built the join ourselves, from open sources only, and put it online as the Open Company Graph.

  • Size: 50,446,563 organisations from 19 official open registries.
  • Websites: 205,100 companies with a confirmed website, each with the source of the match.
  • Access: a free API, about 33,000 public company pages, and bulk lists on Apify.
  • Running cost: one small server.

What's in it

Thirteen national registers, the US through SEC EDGAR and four state registers, and every LEI from GLEIF. Here are the rows per country in the November 2026 export:

Country Register Organisations
France SIRENE 13.16M
United States SEC EDGAR filers, New York, Colorado, Connecticut, Oregon 10.17M
Japan National Tax Agency (NTA) 5.87M
United Kingdom Companies House 5.85M
Australia ABN register 4.72M
Sweden Bolagsverket 2.05M
Canada Federal corporations 1.64M
Singapore ACRA 1.27M
Czechia RES 0.97M
Ireland CRO 0.85M
Norway Brønnøysund 0.72M
Finland PRH 0.48M
Latvia UR 0.40M
Estonia RIK 0.36M

Companies in other countries appear through GLEIF, which assigns LEIs worldwide.

An LEI and a national registry number often describe the same company. Where GLEIF says which national record an LEI belongs to, we fold the LEI onto that record, so you get one company with both ids instead of two half-records. That joined 165k LEIs in France, 114k in the UK, 112k in Sweden, 64k in Norway and 60k in Finland, plus smaller numbers elsewhere.

Every record keeps the register's own id, a link back to the official record, and the licence it was published under.

The trick: registry numbers on legal pages

A website is the most useful thing to know about a company, and the hardest to get from a register. We use three sources, from most to least direct.

  1. The register itself. Norway and Finland let companies state their website when they register. Those are taken as given.
  2. Wikidata. Wikidata has an "official website" statement for many larger companies, often next to a registry number or LEI. Where both are present, it's a link.
  3. The company's own legal page. This is the one that scales, and the newest.

Today most of the 205,100 live links come from the first two: 162,968 from the Norwegian and Finnish registers and 42,132 from Wikidata. The legal-page method found 10,914 more links on its first pass, and those join the graph at the next rebuild.

In many countries a company must print its registered number on its website. A UK limited company's site usually carries a line like "Registered in England and Wales, company number 01234567" in its footer, terms or contact page. Norwegian sites print the 9-digit organisation number. French sites print the SIREN.

Common Crawl is a public archive of billions of web pages. We read its index for the pages most likely to carry that line (legal notices, terms, contact, about, privacy and the home page), fetch only those pages, and pull out anything shaped like a registry number. Then:

  • Numbers with a check digit (French SIREN and SIRET, Norwegian organisation numbers, Singapore UENs and LEIs) must pass the checksum. A typo or a random 9-digit string fails.
  • The number must exist in the register. A number that matches no company is dropped.
  • A number printed on many unrelated sites is dropped. That catches, for example, a web agency's own number in a "site by" footer.
  • When a site prints several numbers of one kind, the link only counts as strong if exactly one sits next to wording like "registered office" or "company number".

The result is an exact match, not a guess from a similar name. Each link records how it was found and the page text around the number, so you can see why we think example.co.uk belongs to company 01234567.

How often it works depends on the country. In our samples, 27% of .no sites and 14% of .uk sites printed a registry number we could read. When we checked 15 Finnish matches by hand, 14 were right.

Page text is read only to find these numbers. We don't republish the pages.

What you can do with it

Search and look up, free

The API answers without a key at a modest rate limit. A key raises the limit.

Search by name:

curl "https://graph.locaihost.org/api/v1/search?q=equinor&limit=2" 
{ "query": "equinor", "count": 2, "results": [ { "id": "NO-ORG-923609016", "name": "EQUINOR ASA", "country": "NO", "city": "STAVANGER", "status": "Active", "url": "https://graph.locaihost.org/c/no/NO-ORG-923609016-equinor-asa", "indexed": true }, { "id": "FR-SIREN-442420147", "name": "EQUINOR ASA", "country": "FR", "city": null, "status": "Active", "url": "https://graph.locaihost.org/c/fr/FR-SIREN-442420147-equinor-asa", "indexed": false } ] } 

Search also matches registry numbers exactly, and country=NO narrows it to one register.

Go from a website to the companies behind it:

curl "https://graph.locaihost.org/api/v1/domain?domain=equinor.com" 

Each result has the company id, name, country, status, a confidence and the method that made the link (registry-stated-website here, because Equinor gave its website to the Norwegian register).

Get the full record for one company:

curl "https://graph.locaihost.org/api/v1/company/NO-ORG-923609016" 

That returns the register's fields (status, address town, incorporation date where the register has one, industry codes), the LEI, every other registry id folded onto it, linked websites with their evidence, and the source and licence.

Browse the pages

About 33,000 companies have a public page at graph.locaihost.org/c/<country>/<id>: the ones with a confirmed website, an LEI and enough registry facts to be worth reading. Each country also has industry pages that list companies by their official industry code. Every other company is still in the API and on a page, just not offered to search engines.

Pull whole lists on Apify

For more than a handful of lookups, the Company Registry Lookup Actor on Apify reads the same graph. In lookup mode you give it names or registry numbers. In bulk mode you give it a country and a segment, and it returns the whole list at $0.50 per 1,000 companies.

{ "mode": "bulk", "bulkCountry": "NO", "segment": "active-with-website", "industry": "62", "bulkMaxResults": 1000 } 

That's every active Norwegian company with a confirmed website and an industry code starting 62 (software and IT services), up to 1,000 rows. Segments are all, active, active-with-website and with-lei. You can also filter by town or by incorporation date, and turn on onlyNew to get only companies you haven't fetched before.

From Python:

from apify_client import ApifyClient client = ApifyClient("YOUR_APIFY_TOKEN") run = client.actor("locaihost/company-registry").call(run_input={ "mode": "bulk", "bulkCountry": "GB", "segment": "active-with-website", "bulkMaxResults": 500, }) companies = list(client.dataset(run["defaultDatasetId"]).iterate_items()) print(len(companies), "companies") 

Other Actors built on the graph:

  • Company 360 enriches a list of companies or domains into one row each, with the registry record as the anchor.
  • Company Change Monitor re-checks the same companies on a schedule and returns only what changed.
  • Company Ownership & Group Structure (coming) gives parents, ultimate parents and subsidiaries.
  • New Company Registrations (coming) gives companies incorporated since a date you pick.

Honest limits

  • Website coverage is small. 205,100 confirmed websites out of 50.4 million organisations is 0.4%. Most registered companies are small, and many have no website at all. The legal-page method is still running across more of the archive, so the number will grow, but most rows will never have a website.
  • Hit rates vary by country. Countries whose companies print their number on their site (Norway, the UK) match well. Where that habit is rare, we rely on Wikidata, which mostly covers larger companies.
  • Not every register states an incorporation date. Australia's ABN extract and Japan's NTA file have none, and neither do SEC filers. Date filters leave those companies out.
  • Monthly refreshes. The graph is rebuilt from fresh registry files once a month. A company registered or dissolved this week shows up in the next refresh, not today.
  • Matches can be wrong, and we measure it. We checked a sample of 1,984 links by fetching each site live and looking for the company's number or name. Of the 1,208 we could judge, 93.6% were right. Wikidata name matches scored best (97%). Websites stated in the registers scored worst (86%), mostly Norwegian housing co-ops that give their managing company's site and local clubs that give their national body's. We now drop a link when the site prints a different, unrelated company's number, and a live check of every other link is running. Our target is 97%. Every link carries its method, confidence and evidence so you can filter on it.
  • No people data, by design. We keep organisations only. Sole traders and individuals are dropped when each register is loaded, and so are directors, officers and other named people. If you need a person, this is the wrong dataset.

Removal requests

If a record is about you, or about your organisation and you want it removed, use the form at graph.locaihost.org/removal. Removed records leave the pages, the API and the bulk lists, and stay off after each monthly rebuild.

Try it

Search for your own company at graph.locaihost.org, or call the API with the examples above. For lists, the Company Registry Lookup Actor has the bulk mode.

If a match is wrong, or a register we don't cover publishes open bulk data, tell us at the address on the site. Both help.