KVK APIkvk.nl ↗
Search and retrieve Dutch business registrations from the KVK Handelsregister. Access KVK numbers, SBI codes, addresses, legal forms, and trade names via 3 endpoints.
What is the KVK API?
The KVK.nl API provides access to the Dutch Chamber of Commerce (Kamer van Koophandel) trade register through 3 endpoints. Use search_businesses to run full-text queries across business names, KVK numbers, and addresses, or call get_business_details to retrieve SBI industry codes, employee range (personeelsklasse), trade names, and branch office records for any 8-digit KVK number.
curl -X GET 'https://api.parse.bot/scraper/9c941901-c954-4478-97b5-179954ecdf2b/search_businesses?page=1&query=bakker+amsterdam&page_size=10' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search across the KVK Handelsregister (Dutch trade register). Matches business names, KVK numbers, addresses, and keywords. Returns paginated results filtered to currently registered (ingeschreven) businesses. Each result includes registration details, legal form, address, and activity description.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| queryrequired | string | Search term: business name, KVK number, address, or keyword. |
| page_size | integer | Number of results per page (1-50). |
{
"type": "object",
"fields": {
"page": "current page number",
"items": "array of business registration entries",
"total": "total number of matching results",
"page_size": "results per page"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"naam": "Bakker Renovaties Amsterdam",
"actief": true,
"kvk_nummer": "52185532",
"rechtsvorm": "Eenmanszaak",
"postlocatie": null,
"handelsnamen": [
"Bakker Renovaties Amsterdam"
],
"bezoeklocatie": {
"plaats": "Zwanenburg",
"straat": "Populierenlaan",
"postcode": "1161SR",
"huisnummer": "76"
},
"rechtsvorm_code": "EMZ",
"vestigingsnummer": "000022142878",
"inschrijvingstype": "Hoofdvestiging",
"inschrijvingsdatum": "2011-03-01",
"activiteitomschrijving": "Timmer- en tegelzetwerken. Elektra- en cv-installateur."
}
],
"total": 305,
"page_size": 10
},
"status": "success"
}
}About the KVK API
What the API covers
The KVK Handelsregister is the official source of record for all businesses and legal entities registered in the Netherlands. This API exposes three endpoints covering search and lookup: search_businesses for paginated full-text queries, get_business for fetching all registration entries tied to a KVK number, and get_business_details for enriched records including SBI activity codes and trade name history.
Endpoint details
search_businesses accepts a query string (business name, KVK number, address, or keyword) and returns a paginated list with total, page, page_size, and an items array of registration entries. Page size is configurable from 1 to 50. Results are filtered to currently registered (ingeschreven) businesses only — dissolved entities are not included.
get_business takes an 8-digit kvk_nummer and returns all associated entries, covering both branch offices (vestigingen) and legal entities (rechtspersoon). The total field tells you how many entries the KVK number maps to, which is useful when a company operates multiple locations under a single registration.
get_business_details returns enriched records for a given kvk_nummer, adding SBI codes with industry descriptions, historical and current trade names, and the personeelsklasse (employee band) field. This endpoint is the right choice when you need to classify a business by sector or verify its trading identity beyond the base registration fields.
Coverage and limitations
All three endpoints cover currently registered Dutch businesses. The search_businesses endpoint returns only active registrations; there is no parameter to include deregistered businesses. SBI codes and employee range are available through get_business_details but are not present in the base search_businesses results. Pagination in search_businesses is 1-based, with a maximum of 50 results per page.
The KVK API is a managed, monitored endpoint for kvk.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kvk.nl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official kvk.nl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Verify a Dutch supplier's legal status and registered address using their KVK number before onboarding
- Classify Netherlands-based companies by industry sector using SBI codes returned by
get_business_details - Build a B2B prospecting list by running keyword searches with
search_businessesand collecting registration data - Identify all branch offices of a company by checking the multiple
vestigingenentries returned byget_business - Validate that a KVK number corresponds to an active business before processing a payment or contract
- Enrich a CRM with official trade names, including historical aliases, sourced from
get_business_details - Segment Dutch business contacts by employee band using the
personeelsklassefield
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does KVK offer an official developer API?+
What does `get_business_details` return that `get_business` does not?+
get_business_details adds SBI activity codes with industry descriptions, the personeelsklasse (employee range band), and both current and historical trade names. get_business returns the base registration entries — legal form, address, and branch structure — without those enrichment fields.