Dutch Company Register — KVK Scraper, No Login Required avatar

Dutch Company Register — KVK Scraper, No Login Required

Pricing

Pay per usage

Go to Apify Store
Dutch Company Register — KVK Scraper, No Login Required

Dutch Company Register — KVK Scraper, No Login Required

Search and extract Dutch company data from the KVK (Kamer van Koophandel). Look up by company name, KVK number, city, or postal code. Returns company name, KVK number, address, trade names, legal form, registration status, and more. No cookies, no login.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Dutch Company Register Scraper — KVK Data Lookup

Search and extract Dutch company data from the KVK (Kamer van Koophandel), the Netherlands' official commercial register. Look up by company name, KVK number, city, or postal code. Returns company name, KVK number, address, trade names, legal form, SBI activity codes, and registration status. No cookies, no login required.

How to scrape KVK company data

This actor searches the official Dutch Kamer van Koophandel register and extracts structured company data. The KVK register contains every Dutch company, sole trader, foundation, and association — over 2.5 million active entities.

Search by Company Name

Enter a company name or keyword. The actor searches the KVK register and returns all matching companies with their registration details, addresses, and activity codes.

Search by KVK Number

Look up a specific company by its 8-digit KVK number for an exact match. Every Dutch company has a unique KVK number assigned at registration.

Filter by Location

Narrow results by city name or postal code to focus on a specific geographic area. Useful for local market research, mapping competitors, or building regional lead lists.

What data does Dutch Company Register Scraper extract?

FieldTypeDescription
companyNameStringOfficial registered company name
kvkNumberString8-digit KVK registration number
branchNumberString12-digit branch establishment number (vestigingsnummer)
rsinStringRSIN number (used for tax and government interactions)
legalFormStringLegal form (BV, NV, Eenmanszaak, VOF, Stichting, etc.)
registrationStatusStringActive or deregistered
tradeNamesArrayCurrent trade names (handelsnamen)
formerTradeNamesArrayPrevious trade names
addressStringFull visiting address
streetStringStreet name
houseNumberStringHouse number
postalCodeStringDutch postal code (1234AB format)
cityStringCity name
provinceStringProvince
sbiActivitiesArraySBI activity codes with descriptions
employeeCountStringNumber of employees
establishmentTypeStringHoofdvestiging (main) or Nevenvestiging (branch)
registrationDateStringDate of registration
urlStringKVK profile URL
scrapedAtStringISO timestamp of extraction

Input Parameters

ParameterTypeDefaultDescription
Company Name / KeywordsStringSearch by company name or keywords
KVK NumberStringLook up by 8-digit KVK number
CityStringFilter by city name
Postal CodeStringFilter by postal code
Active Companies OnlyBooleantrueSkip deregistered companies
Max ResultsInteger100Maximum companies to return
Proxy ConfigurationObjectResidentialProxy settings

Example output

{
"companyName": "Koninklijke Philips N.V.",
"kvkNumber": "17085670",
"branchNumber": "000023529097",
"rsin": "003645498",
"legalForm": "Naamloze Vennootschap",
"registrationStatus": "active",
"tradeNames": ["Philips", "Royal Philips"],
"formerTradeNames": ["Philips Electronics"],
"address": "Amstelplein 2, 1096BC Amsterdam",
"street": "Amstelplein",
"houseNumber": "2",
"postalCode": "1096BC",
"city": "Amsterdam",
"province": "Noord-Holland",
"sbiActivities": [
{ "code": "2660", "description": "Vervaardiging van bestralingsapparatuur en elektromedische apparatuur" }
],
"employeeCount": "2000+",
"establishmentType": "Hoofdvestiging",
"registrationDate": "01-01-1920",
"url": "https://www.kvk.nl/bestellen/bedrijfsdossier/?kvkNummer=17085670",
"scrapedAt": "2026-05-20T14:30:00.000Z"
}

Tips for best results

  • B2B lead generation: Search by city + industry keyword to build targeted lead lists. Example: "accountant" in "Rotterdam".
  • Due diligence: Look up specific KVK numbers to verify company existence and registration status.
  • Competitor mapping: Search by product or service keyword to find all competitors in a region.
  • Active filter: Keep "Active Companies Only" enabled to exclude dissolved and deregistered entities.
  • Rate limiting: The KVK site has modest rate limits. For large runs (1000+ results), use proxy configuration.

How much does it cost?

Dutch Company Register Scraper runs on the Apify platform. You pay only for compute resources used.

Search sizeEstimated timeEstimated cost
10 companies~15 seconds~$0.005
100 companies~3 minutes~$0.04
1,000 companies~30 minutes~$0.30

Apify's free tier includes $5 of monthly compute — enough to search thousands of companies at no cost.

Can I integrate?

Yes. Send Dutch company data directly to your existing tools:

  • Google Sheets — Build a live Dutch company database
  • HubSpot / Salesforce — Enrich CRM contacts with official KVK data
  • Slack — Get notified about new companies matching your criteria
  • Webhooks — Push to any HTTP endpoint for custom workflows

Can I use it as an API?

Yes. Call Dutch Company Register Scraper programmatically:

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("studio-amba/kvk-scraper").call(run_input={
"searchQuery": "Philips",
"city": "Amsterdam",
"maxResults": 20,
})
for company in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{company['companyName']} (KVK {company['kvkNumber']}) — {company['city']}")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('studio-amba/kvk-scraper').call({
searchQuery: 'IT',
city: 'Utrecht',
maxResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(c => console.log(`${c.companyName} | KVK ${c.kvkNumber} | ${c.city}`));

FAQ

What is the KVK?

The KVK (Kamer van Koophandel) is the Netherlands' official commercial register. Every Dutch business entity — companies, sole traders, foundations, associations — must register with the KVK and receives a unique 8-digit KVK number.

What is a KVK number?

A KVK number is a unique 8-digit identifier assigned to every entity in the Dutch commercial register. It's used for business identification, tax, and legal purposes.

What are SBI codes?

SBI (Standaard Bedrijfsindeling) codes classify companies by economic activity, similar to NACE codes in Europe. Each company has one or more SBI codes describing what they do.

How to verify a Dutch company?

Enter the KVK number in this actor to verify a company's registration status, legal form, and address. Active companies are currently registered; deregistered companies have been dissolved.

What's the difference between KVK number and vestigingsnummer?

The KVK number identifies the legal entity. The vestigingsnummer (12 digits) identifies a specific establishment/branch location. A company with 5 offices has 1 KVK number and 5 vestigingsnummers.

Limitations

  • Detailed company profiles (full SBI codes, employee counts, annual reports) require the paid KVK API — this actor extracts what's publicly available on the search interface
  • The KVK site rate-limits at roughly 60-120 requests/minute
  • Maximum 50 results per search page on kvk.nl — broad queries need multiple pages
  • Some company data (e.g., financial statements) is only available via paid KVK products

Other European company register scrapers

Working with European business data? Combine with these tools:

Your feedback

Found a bug or want a feature? Open an issue on the Issues tab. Your feedback helps improve this actor.