A reliable partner for years, responsive, efficient, and high-quality.
KVK API: the Dutch register, past its official limits
The official KVK API is fine for looking up one company at a time, but it returns no phone number, no email address and no directors. CompanyData gives you 3.8M Dutch businesses with those fields added, through one REST API.
What is the KVK API?
The Kamer van Koophandel runs the Handelsregister, the Dutch trade register, and exposes it through developers.kvk.nl. You can request a Basisprofiel or Vestigingsprofiel: name, KVK number, establishment number, legal form, address, SBI activities, trade names and the number of people employed. For checking a single KVK number, it does the job well.
The limits are in what the register simply does not hold. There are no phone numbers and no email addresses, directors and shareholders are explicitly not available through the API, and you cannot pull annual figures. CompanyData starts from that same register and adds those fields, with the same KVK numbers and SBI codes, in one API that also covers 200+ other countries.
The official API, in short
- Basisprofiel, Vestigingsprofiel and Search, with trade names and employee counts
- 300,000 queries a month, up to 100 per second
- €6.40 a month per key plus €0.02 per query, only Search is free
- No phone number and no email address
- Directors, owners and signing authority are not available
- One country, so a separate integration for everywhere else
Look up any Dutch business
Register fields plus the enrichment layer, in one response. Pick a company; the example needs no key.
- Official SBI codes on every record
- Phone, email and website where available
- The same request across 200+ countries
KVK API and CompanyData, field by field
The Handelsregister covers registration well. CompanyData returns 50+ enriched fields per Dutch business in a single call.
| Data point | Official register | CompanyData API |
|---|---|---|
| Businesses in the file | 2,599,668 | 3,833,872 |
| Name and trade names | ✓ | ✓ |
| KVK number | 539,828 | 3,830,402 |
| Address and postcode | 540,166 | 3,833,521 |
| SBI code and legal form | ✓ | ✓ |
| Employees | ✓ | ✓ |
| Website | 395,162 | 1,729,934 |
| Phone number | ✗ | 1,123,866 |
| Mobile number | ✗ | 1,763,773 |
| Business email address | ✗ | 1,837,896 |
| Director or contact person | ✗ | 3,038,174 |
| Revenue and business size | filed annual accounts only | ✓ structured fields |
| Corporate structure | ✗ | ✓ included |
| International records | ✗ | 365M worldwide |
Our column counts every registered entity we hold for this country, active or inactive. Some registers only serve active entities through their API, which we think is a gap: a holding or a trust can be dormant and still matter as an entity, so we keep it. Measured live in our own file, August 2026, and refreshed monthly. Register figure: establishments in the Handelsregister, 1 January 2026. KVK counts establishments, so a business with three branches counts three times.
Search and filter
The KVK API is built for looking up one business at a time, and its Search endpoint stops at 100 pages of 100 results. CompanyData puts segmentation on top: filter by SBI code, revenue, employees, region or city, and export in bulk with the enrichment included.
Price
The KVK API costs €6.40 a month per key plus €0.02 per query, with only Search free of charge. CompanyData starts at €0.02 per credit, with 150 free calls in your first week and one API for 200+ countries.
More fields than the register returns
Directors, revenue, phone numbers and email addresses: one lookup away. Defaults to the Netherlands, switch country whenever you like.
Integrating the official KVK API yourself
The official API is a decent product with sharp edges. Here is how to get a key in three steps, and the six things that cost small teams the most time, whether you enrich with us or not.
Apply for a subscription
Register at developers.kvk.nl. The agreement is signed against your own KVK number, so in practice you need a registered business.
Test on the test environment first
The test environment runs at api.kvk.nl/test with a public test key. Production is the same host without /test.
Send the key as an apikey header
The header is literally called apikey, in lower case. Not Authorization and not X-API-Key, which is the mistake people make most often.
Honestly: the official KVK API is fine if you want to check individual KVK numbers or autocomplete a form. If you need phone numbers, email addresses, directors or international coverage, that is where we come in.
Get your API keyThe header is apikey, in lower case
No Authorization header and no bearer token. Most 401s come from the key sitting in the wrong field.
Endpoints run on different versions
Search is on v2, while Basisprofiel, Vestigingsprofiel and Naamgeving are on v1. You have to route around it.
KVK numbers are text, not numbers
Eight characters, leading zeros included. A trip through Excel cheerfully turns 00012345 into 12345, and you only find out when the match fails.
Search stops at 10,000 results
At most 100 pages of 100 records, with no cursor for deeper pagination. So you cannot pull a broad selection in full.
The free open datasets will not identify anyone
They cover only BVs and NVs and leave out precisely the name, KVK number and full address. Usable for statistics, not for looking up a business.
Respect the non-mailing indicator
The indNonMailing field is the Dutch opt-out signal for advertising. We pass it through, so you can enforce it in your own flow.
What teams use Dutch register data for
Check Dutch counterparties by KVK number. Status, legal form and registered address verify automatically.
Build prospect lists filtered by SBI code, region, revenue or business size.
Append KVK numbers, SBI codes, revenue and contact details to your Dutch accounts in bulk.
Track dissolutions, bankruptcies and board changes across your Dutch supplier base.
Type-ahead on trade names in your signup form, so the KVK number and address arrive exactly as the register writes them.
Match suppliers and customers to a KVK number once, then keep name, status and address current automatically.
The Netherlands is one of 200+ countries on the same API
The same request and the same response schema, from the Handelsregister to Companies House, the German Handelsregister and Sirene. Build the Dutch integration once and take it across the border.
See the Company Data API
The same API, register by register
What teams build with register data
Onboarding, KYB and supplier checks in production, on the same endpoints you tried above.
Norway's national trust mark verifies businesses against the register in real time, cutting verification time by 99%.
Read the story
Up-to-date business details from around the world, screened straight inside the onboarding flow.
Read the story
Large-scale KYB verification through business lookup, built straight into the signup path.
Read the story350M statutory addresses and registry director records inside Sumsub's global KYB flows, so shell offices and nominee directors get caught at onboarding.
Read the storyRegistry-sourced business and UBO data across Africa, Asia and Latin America, with 80% fewer manual reviews.
Read the storyKVK API pricing
Transparent credit-based pricing. Start with a free trial.
Make your first 150 calls free
- 150 lookups and 10 exports in week one, key issued on signup
- 1 credit per company returned, usage-based after that
- No credit card, no contract, no sales call
Questions? Ask a human.
No ticket queue. Your question lands with our data team and you get an answer within 24 hours.
Mon to Fri 9:00 to 17:30 CET · info@companydata.com
What our customers say
Real feedback from the people using CompanyData every day.
The best data company we have worked with.
Great feedback from our team on the data quality.
Frequently asked questions
What is the KVK API?
The KVK API is the Dutch Chamber of Commerce's programming interface for retrieving business data from the Handelsregister. It returns name, KVK number, establishment number, legal form, address, SBI activities, trade names and the number of people employed.
What does the KVK API cost?
The official KVK API costs €6.40 a month per key plus €0.02 per query. Only the Search endpoint charges €0.00 per query, but you pay the monthly fee either way. The Mutatieservice is a separate product at €1,279 a year.
With CompanyData your first 150 lookups in week one are free, and you pay on usage after that.
Is there a free KVK API?
Not really. The Search endpoint costs nothing per query, but you still need a paid subscription. KVK does publish free open datasets, but they cover only BVs and NVs and leave out precisely the name, KVK number and full address, so they are no use for identifying a business.
Does the KVK API return phone numbers and email addresses?
No. The Handelsregister does not hold phone numbers or email addresses, so the API cannot return them. It does return websites and employee counts, which many people do not realise.
For phone and email you need an enriched source. We include them on the records where they are available, along with the non-mailing indicator so you can respect it.
Can I retrieve directors through the KVK API?
No. KVK states explicitly that directors, owners, shareholders and signing authority are not available through the API. A separate UBO extract exists, but it is restricted to banks and civil-law notaries and returns a signed PDF rather than structured data.
How do I get a KVK API key?
You register at developers.kvk.nl and sign an agreement against your own KVK number. After that you send the key in a header called literally apikey, in lower case. With CompanyData you create an account and have the key straight away.
Can I retrieve register data in bulk?
Not through the official API: Search stops at 100 pages of 100 results and there is no cursor for deeper pagination. We do support bulk selections, filtered by SBI code, region, revenue and business size, exported to Excel, CSV or straight through the API.
How many Dutch businesses do you cover?
3.8 million Dutch registrations, including sole traders and establishments, updated continuously from the register and other official sources.
Make 150 free API calls before you spend anything
Tell us which Dutch businesses you need. You get a trial key with 150 lookups and 10 exports, plus a real sample response for your target group, within 24 hours.
or call +31 (0)20 705 2360