{ "source" :

What is the Dutch business register (Handelsregister)?

Short answer

The Handelsregister is the national business register of the Netherlands, maintained by the Kamer van Koophandel (KVK), the Dutch Chamber of Commerce. Every business active in the Netherlands has to register, including sole traders and partnerships, which makes it broader than Companies House or the German Handelsregister. Core company data is public and can be read by anyone, from any country.

cURL
# One registration, enriched
curl ".../v1/lookup/68750110?enrich=true" \
  -H "Authorization: Bearer KEY"

{
  "name": "Acme B.V.",
  "registrationDate":
    "2017-04-03",
  "isActive": true,
  "source": "kvk"
}

What it is and who runs it

The Handelsregister, literally the trade register, is the statutory register of businesses in the Netherlands. It is maintained by the Kamer van Koophandel, abbreviated KVK, which is a public body rather than a chamber you optionally join. Registration is a legal obligation, not a membership.

Two features surprise people coming from other jurisdictions.

First, coverage. The Dutch register includes eenmanszaken (sole traders), VOF and CV partnerships, associations and foundations, alongside BVs and NVs. In the UK, a sole trader has nothing at Companies House. In the Netherlands, that same person has a KVK number, a registered address, and an SBI activity code. That is why Dutch B2B checkout flows can meaningfully ask a freelancer for a KVK number, and why doing the same in Germany would not work.

Second, the register is one register. There is no court by court fragmentation as with the German HRA and HRB registers, and no separate register for partnerships. One number, one national dataset.

What is in it, and what is not

In the public registerNot in the public dataset
KVK number, statutory name, trade namesUltimate beneficial owners (separate UBO register, restricted access)
Legal form and registration dateDirector personal details beyond restricted access
Registered and postal addressTurnover, profit, balance sheet
SBI activity codesBank details
Establishments and their vestigingsnummersContracts, litigation, credit scores
Whether the registration is activeTax filings

Annual accounts are filed with the KVK by entities that are required to file, but they are retrieved as documents keyed on the RSIN, not as fields on a company profile. If your use case is financial risk, the register is a starting point and not an answer: you will need a credit bureau on top.

SBI codes are the Dutch industry classification, derived from NACE. They are worth understanding early if you segment by industry, and they are explained in full in SBI codes explained.

Reading it programmatically

There are three practical routes into the register: the KVK website for one off manual checks, KVK’s own API, and a wrapper API like this one. The trade offs between the official API and a wrapper are laid out in the KVK API comparison.

A single read looks like this:

curl "https://api.kvkbase.nl/v1/lookup/68750110?enrich=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

If you do not have a KVK number yet, search by name or address:

curl "https://api.kvkbase.nl/v1/search?q=acme&city=Amsterdam" \
  -H "Authorization: Bearer YOUR_API_KEY"

Search is the part that behaves least like a database. Dutch trade names are short, generic and heavily reused, so a query for a common word returns many registrations that are genuinely different companies. Do not auto select the top hit. Show the candidates with their city and legal form and let a human choose, or match on address as well as name.

The detail that catches teams out: registration is not a state of the world

The register records what has been filed, and filings lag reality. A company that stopped trading in January may only be deregistered in June. A company that moved office in March may still show the old address for weeks. An insolvency appears once the court publication is processed.

The practical consequence is that isActive: true means “no deregistration has been filed and processed”, not “this business is trading today”. For onboarding that is usually good enough. For a payment decision on a six figure order it is not, and you should be combining it with insolvency, a recent registrationDate sanity check, and something outside the register entirely.

The reverse holds too. A registration going inactive is not proof of failure. Voluntary dissolution, a merger, or a sole trader converting to a BV all end one registration and often start another. If your system deactivates a customer the moment isActive flips, you will lock out companies that simply restructured. Flag them for review instead.

One last practical note on volume. The register is not a bulk download you keep in sync locally, at least not through an API like this one. Design for lookups on demand plus a scheduled refresh of the records you care about, rather than a nightly full crawl. That keeps your quota predictable and, more usefully, means the data you show a user was fetched because someone was going to look at it.

Frequently asked

Who has to register in the Handelsregister?
Every business and legal entity operating in the Netherlands, plus associations, foundations and the Dutch establishments of foreign companies. That includes freelancers and one person businesses, which is the biggest difference from registers that only cover incorporated entities.
Is the register free to search?
Basic search is free on the KVK website, and paid for at volume through an API. Documents such as an official extract or filed annual accounts are charged per document. Reading company data programmatically is a paid service in every case where you need it at scale.
Does the register contain director names?
The register holds officers and authorised signatories, but access to personal details is restricted and not part of the public open dataset. Our API does not return director names. If you need them for KYC, you need an official extract or a dedicated compliance provider.
How current is the data?
The register is updated as filings are processed, so there is a lag between a real world event and its appearance. Our API caches company data for 24 hours on top of that, so for anything time critical, such as an insolvency check on the day of a decision, treat the answer as up to a day old.

Updated:

One call gives you the whole company

KVK data, the derived VAT number and a live VIES check, in a single request. The free plan covers 50 lookups a month and needs no card.

50
free lookups a month
1
request instead of three
0
cards, contracts or sales calls