Update 2 October 2026: The system now covers 16 foreign countries, with 9 full national registries; Sweden is live. Lithuania adds official Registrų centras JAR data: name, code, registration date and legal status, without addresses or officers. The article below remains a dated July 2026 snapshot.
Part of a series on building cz-agents → under the hood
The brief: how far do I get for free
The brief sounded simple: how many European countries can I cover with due-diligence data from freely available registries alone — without paying for a single excerpt. I was wiring European business registries into my own tool, and I wanted four things from each country: the company's identity, its address, its status (active, in liquidation, dissolved), and, where possible, who owns it and who runs it. No paid APIs, no aggregator subscription, no scraping — scraping business registries almost always breaks the terms of use, and it's an invitation to get blocked at the exact moment someone is using the tool for real.
The result as of today: twelve countries in the system, eight of them "full" — the UK, Slovakia, Poland, France, Norway, Denmark, Finland, and Estonia. For those I get full identity and ownership data from the national registry, in most cases including named directors. The remaining four large economies — Germany, the Netherlands, Italy, Austria, Spain — run on what I call the "baseline": VAT-number validation through the EU's VIES system plus a link to the global Legal Entity Identifier, the LEI. Identity and ownership yes, the names of the people at the top no.
Why that line falls where it does is its own story. And it's best told as a report card, because one thing surfaced during the work that you won't find written down anywhere: "open data" means something completely different in every European country. In one it's a single download command; in another it's an email to a government office and a week of waiting; in a third it's a word that hides a paid PDF excerpt. So I graded each country like at school.
The report card
The grades are my subjective verdict as the person who actually wired these registries in — not an official metric. I'm scoring one single thing: how easily I can get structured company information out of freely available data.
| Country | Grade | Access | Note |
|---|---|---|---|
| Estonia | A+ | Whole registry as a download (JSON/XML/CSV), no registration, CC BY 4.0 | Beneficial owners included. Download, import, done. |
| Finland | A | Free REST API, no key, CC BY 4.0 | Clean schema. Adapter written and live in a day. |
| Norway | A | Brreg registry, free, no authentication | Wide open, nothing to arrange. |
| United Kingdom | A–/B+ | Companies House, full free data | The established standard the others quietly watch. |
| Slovakia | A–/B+ | ORSR registry, full free data | Directors and ownership structure. |
| Poland | A–/B+ | KRS registry, full free data | No fees, no registration. |
| France | A–/B+ | SIRENE database, full free data | Large, well-maintained open dataset. |
| Denmark | B | Free, no hard rate limit — but an email to the office and a signed declaration | Great data, human process. And one trap in the schema (below). |
| Sweden | C (for now) | Form submitted, waiting on access keys | Once they arrive, a drop-in adapter like Finland. |
| Germany | D− | Structured data effectively behind a paywall, free remnants messy | Biggest economy, worst free access. The paradox of the whole exercise. |
| NL / IT / AT / ES | — | National excerpt is paid → baseline only (VIES + LEI) | Identity and ownership yes, named directors no. |
The A+: Estonia
Estonia is the star pupil the rest can only dream of. You download the entire business registry as a single data file — updated daily, in JSON, XML and CSV formats, under a CC BY 4.0 licence, with no registration, login, or Estonian ID whatsoever. No email to an office, no contract, no waiting. And, most valuable of all for due diligence: that dump includes beneficial owners — data you pay for elsewhere, or simply can't get.
Technically this means Estonia isn't an "API integration" but a nightly batch. I download the daily dump, import it into a local database, and companies are then searched from there. On my side it runs as a cron job in the middle of the night; by morning the data is fresh and nobody had to ask anyone for anything. When a state frees its data this thoroughly, all that's left on my side is a few dozen lines of import script. This is exactly what the authors of the open-data directives had in mind — and Estonia is one of the few countries where it actually landed.
The Nordic A: Finland, Norway, and waiting on Sweden
Right behind Estonia stands Finland. The Finnish registry offers a free REST API with no key, under the same CC BY 4.0 licence, with a clean, well-documented schema. For a developer that's the ideal: no registration, no tokens, you just ask and get a structured answer back. I wrote and deployed the adapter in a single day, and it worked on a real company on the first try, without any tuning.
Norway is the same league. Its registry, Brreg, is open, free, and needs no authentication. You ask, it answers — end of story. When I looked up Norway's largest company through it, the answer came back first time.
Sweden gets a C for now, but only because of paperwork, not the data. Bolagsverket, the Swedish registry, opened a free API; access, though, is requested via a form, and you wait for keys to arrive by email. I've submitted the form — and once the keys land, I expect a drop-in adapter practically identical to the Finnish one. That closes the Nordic quartet: Norway, Denmark, and Finland done, Sweden as the last piece.
Denmark: a B where half the work wasn't code
Denmark is the textbook case for why this article exists. The data is excellent — free, no hard rate limit, high quality. But the path to it runs through people, not documentation.
To reach the Danish registry programmatically, I had to email the government office (Erhvervsstyrelsen) directly, sign a declaration about handling entities protected against marketing use — the Danes have an institution called reklamebeskyttelse, protection against having your details end up in marketing databases — and then wait for a person on the other end to send me a username and password by email. That protection also has to propagate downstream: the adapter carries a flag on each company for whether it's protected, so nobody accidentally strips that status as the data flows through my tool.
And then came the trap that no test written against the documentation would have caught. On paper, a company's status (virksomhedsstatus) is a plain text field — a string like "active". In reality it's an array of objects, each with its own status and the period it applied. My code expected a string, got a structure — and crashed on the first real company I queried for real. The fix was trivial, the lesson wasn't: an adapter has to be written against the actual data, not against its description. Documentation is a model of reality, and like every model it occasionally lies. (One for the collection: the Danish data endpoint runs over plain HTTP, not HTTPS. It's documented and an accepted risk, but it catches you off guard.)
UK, Slovakia, Poland, France: A-minus to B-plus
This quartet is the backbone of the "full" tier. The UK's Companies House is effectively the standard the others quietly watch — full free data, including ownership links and the people at the top. Slovakia's ORSR, Poland's KRS, and France's SIRENE are cut from the same cloth: a national registry you can pull identity, status, and directors from for free, no paid excerpts and mostly no annoying registration. They aren't star pupils like Estonia — the schema is older here, the search clunkier there — but they do the job, and you neither pay nor beg.
Germany: the paradox of the whole exercise
And now the paradox. Germany is Europe's largest economy and by far the most frequent request — whenever someone works on European due diligence, they want German data. And yet Germany has the worst free access of any country I examined. Hence the D-minus.
Formally, German registry data has been "free to read" since a 2022 reform. In practice, though, there's no usable machine interface: the official portal shows you data through a click-through website with a captcha and terms that forbid automation. The structured data you could actually work with programmatically is effectively behind a paywall — held by commercial aggregators who, note, don't sell the data itself (that's public by law) but convenient access to it. A civic attempt to break down that wall and publish the data as an open dataset exists, but it's a frozen snapshot from the late 2010s, long since abandoned — useless for vetting a company today. So Germany is left with the baseline: VAT validation and an LEI link, no named directors.
This is the most important finding of the whole exercise, and it's worth generalising. The difference between Estonia and Germany is not "state versus commerce". In both countries, directors are public state data. The difference is implementation: Estonia and the Czech Republic freed their data by dumping it as a downloadable open dataset, whereas Germany cemented theirs behind a portal with no API. So the question I ask of every new country isn't "is the data public?" but "does the state hand it out in bulk, or only through a click-through window?". The second is a paywall, even if nobody calls it that.
Two lessons that hold beyond my tool
The first lesson is about where "free" ends. In the EU you can reliably obtain, for free, a company's identity, its address, VAT validity, and — via the global LEI identifier — a slice of ownership structure, namely parent companies. But where "free" reliably ends is named directors and board members. In Europe those are either in a free national registry (the Czech Republic, the UK, Norway, Denmark, and friends) or in a paid excerpt (Italy, the Netherlands, Austria, Spain) — and no clean, free, structured pan-European source of the names of people running companies exists. Anyone who claims otherwise is selling you scraping, whether they admit it or not.
The second lesson is uncomfortable for anyone building this as a product: demand and ease are inversely proportional. The countries people ask about most — Germany, the Netherlands, Austria, Italy — have the least accessible data. The cleanest free APIs belong, conversely, to the Nordic countries, which in practice almost nobody asks about. The sober conclusion: free expansion past Germany is mostly about breadth of coverage, not depth of value. Adding another Nordic country is easy and looks good on the map, but it doesn't solve the real pain — Germany, Italy. That costs money, or costs nothing at all.
What to take away
Europe has been talking about open data for a good decade. The reality I put my hands on is a grading scale from Estonia's whole-registry download in a single command to Germany's data, which you can't reach programmatically without a paid middleman. Between those two poles is a full spectrum: a clean API where you'd never expect one, and an email with a signature where the data is otherwise excellent.
And if there's one practical piece of advice for anyone building something similar: count on half the work not being code. It's reading licence terms, emailing government offices, and waiting for people to send you access. And write that other, code half against real data, not against the documentation — because it's exactly that Danish field, which was supposed to be plain text and turned out to be a structure, that otherwise drops you on the first genuine company. Registries are reality, and reality, unlike documentation, doesn't care what you expected.