Netherlands KvK Open-Data Status Event Monitor avatar

Netherlands KvK Open-Data Status Event Monitor

Pricing

from $20.00 / 1,000 kvk status event delivereds

Go to Apify Store
Netherlands KvK Open-Data Status Event Monitor

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

Daniel Witney

Maintained by Community

Actor 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 onlySole traders / other rechtsvormen
actief (J/N), insolventieCode, rechtsvormCode, postcode region (2 digits), SBI activitiesCompany name, directors, full address, employee count
Lookup by 8-digit KVK numberFree RSIN→KVK resolution (RSIN is optional metadata only)
Working-day refreshIntra-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 diffKVK_DEACTIVATED, KVK_REACTIVATED, INSOLVENCY_FAIL, INSOLVENCY_SURS, INSOLVENCY_SSAN, INSOLVENCY_CLEARED, optional SBI_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_uid dedupe.

PRODUCTION USE (required for real monitoring)

Store default ≠ product. Schema defaults use sourceMode=fixture so Apify Store daily auto-tests leave a non-empty health dataset without calling HVDS. That fixture path only writes a non-billable RUN_STATUS / FIXTURE_HEALTH row. It is not KvK monitoring.

For production monitoring you must:

  1. Set sourceMode = live
  2. Provide your kvkNumbers watchlist (BV/NV)
  3. Schedule runs with fair-use pacing (requestPaceMs ≥ 60000 recommended)
  4. Optionally set hvdsAsOf (YYYY-MM-DD) and rsinByKvk labels

Official references:

Apify Store daily auto-test / default input

FieldDefault
kvkNumbers["12345678","87654321"]
signalGroupsstatus, insolvency, sbi
sourceModefixture
emitFixtureDemoEventsfalse
maxRunSeconds55
requestPaceMs60000

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)

FieldNotes
kvkNumbersWatchlist (required, 8 digits)
rsinByKvkOptional KVK→RSIN labels (metadata)
signalGroupsstatus, insolvency, sbi
sourceModefixture (default) or live
emitFixtureDemoEventsDefault false
hvdsAsOfOptional as_of hint
maxRunSeconds / maxEventsBudgets
resumeFromCheckpointDefault true
requestPaceMsDefault 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-monitor
npm install
npm test
npm run build
apify 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.