Use Case -- KYC & Compliance

Dutch Business Verification for KYC and Compliance

Verify Dutch business entities against the official Chamber of Commerce registry. Get company status, legal form, registration date, and VAT validation in a single API call.

Verifying Dutch businesses is manual, slow, and incomplete

KYC and compliance workflows for Dutch businesses require verification against the official KVK (Chamber of Commerce) registry. But accessing this data programmatically is harder than it should be. The official KVK API is complex, requires a separate contract, and does not include VAT validation.

Compliance teams at fintech companies, banks, and payment processors often resort to manual checks: looking up companies on the KVK website, cross-referencing VAT numbers on the VIES portal, and copy-pasting results into their systems. This approach does not scale and creates gaps in your audit trail.

For international companies onboarding Dutch merchants or business customers, the problem is even worse. Dutch business structures -- BV, NV, VOF, Eenmanszaak -- are unfamiliar, SBI codes mean nothing without context, and there is no simple way to confirm a company is active and legitimate.

Automated business verification via API

The KVKBase API gives you everything you need for Dutch business verification in a single call. Look up any company by KVK number and get back its official registration data: legal name, trade names, registered address, legal form, registration date, active status, SBI codes, and validated VAT number.

Use this data to automate your KYC checks: confirm the company exists, verify its legal form matches what the customer declared, check that the address is correct, and validate the VAT number against VIES -- all without manual intervention.

Python -- KYC Verification Flow
import requests

def verify_dutch_business(kvk_number: str) -> dict:
    """Verify a Dutch business for KYC compliance."""
    resp = requests.get(
        f"https://api.kvkbase.nl/v1/lookup/{kvk_number}",
        headers={"Authorization": f"Bearer {API_KEY}"}
    )
    company = resp.json()

    # Run KYC checks
    verification = {
        "company_exists": resp.status_code == 200,
        "legal_name": company.get("naam"),
        "legal_form": company.get("rechtsvorm"),
        "registered_address": company.get("adres"),
        "vat_valid": company.get("btw_geldig"),
        "vat_number": company.get("btw_nummer"),
        "industry_codes": company.get("sbi_codes"),
        "active": company.get("actief", False),
    }

    # Flag potential issues
    verification["risk_flags"] = []
    if not verification["vat_valid"]:
        verification["risk_flags"].append("VAT_INVALID")
    if not verification["active"]:
        verification["risk_flags"].append("COMPANY_INACTIVE")

    return verification

For higher-volume onboarding, use the search endpoint to verify companies by name or VAT number when the KVK number is not yet known. The API returns matching results ranked by relevance, so you can find the right entity even with partial information.

cURL -- Search by Company Name
curl -X GET "https://api.kvkbase.nl/v1/search?q=Acme+BV&plaats=Amsterdam" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Returns matching companies with full verification data

Why compliance teams choose KVKBase

Official registry data

All company data comes from the Dutch KVK registry. Legal names, addresses, and registration details are authoritative and audit-ready.

Active status verification

Confirm that a company is currently active and registered. Detect dissolved, deregistered, or inactive entities before onboarding them.

Integrated VAT validation

Every lookup includes VIES-validated VAT status. No need for a separate VAT check -- it is built into the response with audit timestamps.

Legal form identification

Identify the legal structure: BV (private limited), NV (public limited), VOF (partnership), Eenmanszaak (sole proprietorship), and more.

Automate Dutch business verification in three steps

1

Submit the KVK number

When a Dutch business customer signs up, capture their KVK number and send it to the KVKBase API for verification.

2

Verify against registry

The API returns official registration data including active status, legal form, address, and VAT validation. Run your compliance rules against this data.

3

Approve or flag

Automatically approve verified businesses or flag those that need manual review. Store the API response as part of your compliance audit trail.

Automate your Dutch KYC checks

Start with 100 free lookups per month. No credit card required. Enterprise plans available for high-volume compliance workflows.

Get started free