Netherlands KvK Open-Data Status Event Monitor
Pricing
from $20.00 / 1,000 kvk status event delivereds
Netherlands KvK Open-Data Status Event Monitor
Watch a list of Dutch KVK numbers and emit typed active/insolvency status events from free official HVDS open data (BV/NV only). Not a Handelsregister dump. Not paid Basisprofiel or Mutatieservice.
Pricing
from $20.00 / 1,000 kvk status event delivereds
Rating
0.0
(0)
Developer
Daniel Witney
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Watch a list of Dutch KVK numbers (suppliers, customers, counterparties) and receive typed status / insolvency events when free official KvK Handelsregister Open Dataset (HVDS) fields flip — active→inactive, new FAIL / SURS / SSAN insolvency codes, optional SBI activity changes. Not another Handelsregister directory scrape. Not paid Basisprofiel (€0.02/query) or Mutatieservice (€1,279/yr).
Honest coverage (read before buying)
| Included (free HVDS, CC BY 4.0) | Not included |
|---|---|
| BV and NV registrations only | Sole traders / other rechtsvormen |
actief (J/N), insolventieCode, rechtsvormCode, postcode region (2 digits), SBI activities | Company name, directors, full address, employee count |
| Lookup by 8-digit KVK number | Free RSIN→KVK resolution (RSIN is optional metadata only) |
| Working-day refresh | Intra-hour streaming; unpaid paid-register extracts |
Bulk ZIP download is anonymised (no kvkNummer column) — it cannot key a portfolio watchlist. This Actor uses the official per-KVK HVDS API only.
Rate limits (official): max 1 request / minute / IP, plus a shared 200 requests / 5 minutes. Default requestPaceMs=60000. Large books need longer maxRunSeconds or chunked schedules.
Licence: CC BY 4.0. Do not enrich HVDS to re-identify individuals.
Value proposition
- KVK watchlist × HVDS snapshot diff →
KVK_DEACTIVATED,KVK_REACTIVATED,INSOLVENCY_FAIL,INSOLVENCY_SURS,INSOLVENCY_SSAN,INSOLVENCY_CLEARED, optionalSBI_CHANGED. - Official free open data only. No unpaid Basisprofiel / Mutatieservice. Not kvk.nl HTML scrape.
- Pay only for unique delivered change events. First observation stores a baseline (no charge). Quiet days ≈ $0.
- Durable KVS checkpoint +
event_uiddedupe.
PRODUCTION USE (required for real monitoring)
Store default ≠ product. Schema defaults use
sourceMode=fixtureso Apify Store daily auto-tests leave a non-empty health dataset without calling HVDS. That fixture path only writes a non-billableRUN_STATUS/FIXTURE_HEALTHrow. It is not KvK monitoring.
For production monitoring you must:
- Set
sourceMode=live - Provide your
kvkNumberswatchlist (BV/NV) - Schedule runs with fair-use pacing (
requestPaceMs≥ 60000 recommended) - Optionally set
hvdsAsOf(YYYY-MM-DD) andrsinByKvklabels
Official references:
- HVDS Basic Company Information API
- KvK open dataset product page (CC BY 4.0)
- Endpoint:
https://opendata.kvk.nl/api/v1/hvds/basisbedrijfsgegevens/kvknummer/{kvkNummer}
Apify Store daily auto-test / default input
| Field | Default |
|---|---|
kvkNumbers | ["12345678","87654321"] |
signalGroups | status, insolvency, sbi |
sourceMode | fixture |
emitFixtureDemoEvents | false |
maxRunSeconds | 55 |
requestPaceMs | 60000 |
On that path the Actor SUCCEEDS quickly, pushes exactly one RUN_STATUS / FIXTURE_HEALTH row (billable: false), and does not charge kvk-status-event-delivered.
Input (summary)
| Field | Notes |
|---|---|
kvkNumbers | Watchlist (required, 8 digits) |
rsinByKvk | Optional KVK→RSIN labels (metadata) |
signalGroups | status, insolvency, sbi |
sourceMode | fixture (default) or live |
emitFixtureDemoEvents | Default false |
hvdsAsOf | Optional as_of hint |
maxRunSeconds / maxEvents | Budgets |
resumeFromCheckpoint | Default true |
requestPaceMs | Default 60000 (HVDS 1/min) |
Production example
{"kvkNumbers": ["12345678", "87654321"],"signalGroups": ["status", "insolvency"],"sourceMode": "live","hvdsAsOf": "2026-09-16","maxRunSeconds": 600,"requestPaceMs": 60000,"resumeFromCheckpoint": true}
Output
Change events (billable under PPE)
Typed rows include: kvk_number, rsin, event_type, event_subtype, changed_fields, previous_value, new_value, as_of, evidence, summary, source_url, event_uid, rechtsvorm_code, billable: true.
RUN_STATUS (never billed)
Every successful run pushes one health row (FIXTURE_HEALTH | MONITOR_IDLE | CATCHUP_COMPLETE | HEALTH_OK).
Pricing
Pay-per-event: kvk-status-event-delivered at $0.02 per delivered unique change event ($20 / 1,000). Single tier (see docs/monetization.md and ADR 0010). Health / baseline / duplicate / non-BV-NV / fixture rows are never charged.
Local development
cd actors/netherlands-kvk-status-event-monitornpm installnpm testnpm run buildapify run -p
Attribution
Data originates from the Kamer van Koophandel (KvK) Handelsregister Open Dataset / HVDS under CC BY 4.0. Not an official KvK product. Not paid Basisprofiel or Mutatieservice.