Vastgoeddossier XXL — PDOK + CBS + Klimaat + Fundering avatar

Vastgoeddossier XXL — PDOK + CBS + Klimaat + Fundering

Pricing

from $20.00 / 1,000 dossier-resultaats

Go to Apify Store
Vastgoeddossier XXL — PDOK + CBS + Klimaat + Fundering

Vastgoeddossier XXL — PDOK + CBS + Klimaat + Fundering

Samengesteld Nederlands vastgoed-indicatiedossier per adres: PDOK-geocoding, CBS-buurtcijfers, overstromingsrisico (RWS) en funderingsaandachtsgebied (RVO) in één genormaliseerd JSON-record. Combineert meerdere officiële open-databronnen die los al gratis zijn, maar nooit samen worden aangeboden.

Pricing

from $20.00 / 1,000 dossier-resultaats

Rating

0.0

(0)

Developer

Dennis

Dennis

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Vastgoeddossier XXL — PDOK + CBS + Klimaat + Fundering 🇳🇱🏠

One request per Dutch address → a combined property-risk dossier assembled from four official open data sources: PDOK geocoding, CBS neighbourhood statistics, RWS flood-risk zoning, and RVO foundation (subsidence) attention areas. Every single source is free and public on its own — nobody combines, normalizes and caches them into one address-level record. That combination is the product.

When should an AI agent use this?

  • "Build a property dossier for this address: location, neighbourhood stats, flood risk, foundation risk."
  • "Screen these 10 candidate properties for climate and foundation risk before a viewing."
  • "Does this address sit in a flood-risk zone or a pre-1970 foundation attention area?"
  • "Get CBS neighbourhood income/density figures plus climate risk for this postcode in one call."
  • "Pre-screen a shortlist of addresses for a real estate due-diligence report."

What this Actor does

  • Geocodes your input (address, postcode, place name, or "lat,lon") via the official PDOK Locatieserver, matched to adres-level by default so postcode/neighbourhood codes are always present
  • Enriches with CBS Kerncijfers Wijken en Buurten (population, income, households, urbanity) for the matched neighbourhood/district/municipality
  • Checks RWS Richtlijn Overstromingsrisico (ROR) via a live PDOK WMS lookup: does this point sit in a flood-risk zone, and what's the qualitative classification/description
  • Checks the RVO "Indicatieve aandachtsgebieden funderingsproblematiek" layer via PDOK WMS: what percentage of buildings in this address's postcode area (PC6) were built before 1970 — the standard proxy for wooden pile-foundation vulnerability
  • Adds a samenvatting (summary) block per dossier: a plain risk-level rollup (laag/middel/hoog/ onbekend) so you don't have to inspect three nested objects to see whether an address stands out
  • Processes multiple addresses per run, in parallel, fail-safe per item (one bad address never blocks the batch), with a free RUN_SUMMARY written to the key-value store at the end of every run
  • Honest about lookup failures: if a flood-risk or foundation-area check itself fails (e.g. a temporary WMS outage), the field is null with _status: "onbekend" — never silently reported as "no risk found"

Who is this for?

  • Real estate agents & buyers — a fast, structured first-pass dossier before a viewing or offer
  • Mortgage advisors & insurers — a documented, source-attributed risk signal to support (not replace) formal underwriting
  • Property developers & investors — batch-screen a shortlist of addresses in one run
  • AI agents — structured JSON, ideal as a due-diligence tool in an agentic property-research workflow

Input

FieldTypeDescription
query / queriesstring / arrayAddress(es), postcode(s), place name(s), or "lat,lon" — see the .actor/input_schema.json for the full bulk-item format
lookupId / datasetIdstringDirect PDOK object-ID lookup, or a linked Apify dataset as bulk input
modestringauto (default), forward, reverse, or lookup
typeFilterstringPDOK object-type filter for forward search, default adres (recommended — see FAQ)
enrichWithCbsbooleanAdd CBS neighbourhood statistics (default true)
includeKlimaatbooleanAdd the flood-risk-zone check (default true)
includeFunderingbooleanAdd the foundation-attention-area check (default true)
concurrencyintegerAddresses processed in parallel, 1-20 (default 5)

Output

One dossier per input address:

{
"input_query": "Damrak 1 Amsterdam",
"mode": "forward",
"basis": {
"weergavenaam": "Damrak 1, 1012LG Amsterdam",
"postcode": "1012LG",
"gemeente": "Amsterdam",
"provincie": "Noord-Holland",
"lat": 52.37714446,
"lon": 4.89803846,
"buurtcode": "BU0363AD03",
"match_kwaliteit": "hoog",
"_bron": "PDOK Locatieserver (Kadaster/BZK)"
},
"cbs": {
"_bron": "CBS StatLine 86165NED (CC-BY, cbs.nl)",
"aantal inwoners": 934526,
"gemiddeld inkomen per inwoner": null,
"huishoudens totaal": 516096,
"stedelijkheid": 1
},
"klimaat": {
"overstroming_risicogebied": true,
"overstroming_classificatie": "Area of Potential Significant Flood Risk",
"overstroming_omschrijving": "Rijn type B - beschermd langs hoofdwatersysteem",
"_status": "ok",
"_bron": "RWS Richtlijn Overstromingsrisico (ROR) WMS, service.pdok.nl/rws/overstromingen-risicogebied"
},
"fundering": {
"funderingsaandachtsgebied": true,
"funderingsgebied_postcode": "1012JS",
"funderingsgebied_gemeente": "Amsterdam",
"funderingsgebied_percentage_voor_1970": 75,
"funderingsgebied_aantal_panden": 8,
"_status": "ok",
"_bron": "RVO Indicatieve aandachtsgebieden funderingsproblematiek WMS, service.pdok.nl/rvo/indgebfunderingsproblematiek",
"_disclaimer": "Percentage/aantal panden geldt voor het POSTCODEGEBIED, niet per se voor dit specifieke pand. Grove indicatie, geen funderingsonderzoek."
},
"samenvatting": {
"risiconiveau": "hoog",
"omschrijving": "Let op: overstromingsrisicogebied, funderingsaandachtsgebied.",
"aantal_aandachtspunten": 2,
"aandachtspunten": ["overstromingsrisicogebied", "funderingsaandachtsgebied"],
"onvolledige_modules": [],
"_disclaimer": "Grove, opgetelde indicatie op basis van het aantal gevonden aandachtspunten — geen gewogen of gevalideerd risicomodel."
},
"_dossier_disclaimer": "Dit dossier combineert publieke open-databronnen (PDOK, CBS, RWS, RVO) en is uitsluitend indicatief. Het is geen taxatie, bouwkundige keuring of formeel risico-advies, en schept geen aansprakelijkheid voor koop-, verhuur-, verzekerings- of financieringsbeslissingen. Raadpleeg voor dergelijke beslissingen altijd een professioneel adviseur.",
"error": null
}
  • samenvatting.risiconiveau is a coarse, purely additive rollup (0 flags → laag, 1 → middel, 2 → hoog; onbekend if a module's lookup failed and there are otherwise no flags; niet gecontroleerd if both includeKlimaat/includeFundering are disabled, so nothing was actually checked) — not a weighted or validated risk model. Always check the underlying klimaat/fundering fields for detail.

  • _status: "onbekend" on klimaat/fundering means the underlying WMS lookup itself failed (e.g. a temporary outage) — the corresponding boolean field is null in that case, never a silent false. This is different from a confirmed "no risk found" (_status: "ok", field false).

  • A free RUN_SUMMARY object is written to the run's key-value store at the end of every run (batch totals, counts per flag, average pre-1970 percentage, risk-level distribution) — no extra charge, useful when screening many addresses in one run.

  • match_kwaliteit ("hoog" / "middel" / "laag" / "onbekend") is a best-effort classification based on PDOK's own relevance score — not a guarantee. A "laag" value means "verify this address manually", not "this address doesn't exist".

  • klimaat/fundering are null if the corresponding include* flag is off, or if no coordinate was available (failed geocoding).

  • funderingsgebied_* fields are area-level (per PC6 postcode), not building-specific — there is no landelijk (nationwide) foundation register at the individual-address level. This is stated explicitly in _disclaimer on every result and must not be read as a building-specific foundation assessment.

  • klimaat has no water-depth scenario — despite being commonly shown on flood-risk maps, there is no single nationwide PDOK layer with per-coordinate water-depth scenarios (verified live 2026-07-18); only a qualitative risk-zone classification exists at national scale.

  • If geocoding fails entirely, basis is null and error explains why — no charge is made for that item.

Use cases

Single-address dossier before a viewing:

{ "query": "Damrak 1 Amsterdam" }

Batch-screen a shortlist:

{ "queries": ["Damrak 1 Amsterdam", "Markt 1, Gouda", "52.3789,4.8952"] }

Pricing

This Actor uses Apify's Pay-Per-Event (PPE) pricing model.

  • Actor Start: $0.00005 (Apify default)
  • dossier-resultaat: $0.02 per address successfully geocoded and assembled into a dossier (includes the PDOK basis, flood-risk check, and foundation-area check — the core combined value of this actor). Failed geocodes are never charged.
  • cbs-verrijking: $0.006 extra, only when enrichWithCbs is enabled and CBS data was actually found for the matched neighbourhood/municipality.
  • Data sources: PDOK Locatieserver (Kadaster/BZK), CBS StatLine (CC-BY), RWS Richtlijn Overstromingsrisico (public PDOK WMS service), and RVO Indicatieve aandachtsgebieden funderingsproblematiek (public PDOK WMS service). All public government data, no authentication required, no personal data involved (property/area-level only).
  • This is not a valuation, structural survey, or formal risk assessment. It combines public indicators into one convenient lookup and is explicitly disclaimed as such on every single result (_dossier_disclaimer). It creates no liability for property, rental, insurance, or financing decisions — always consult a qualified professional (taxateur, bouwkundig inspecteur, hypotheekadviseur) before acting on this data.
  • Foundation-risk data is area-level (postcode), not building-specific, and flood-risk data is a qualitative zone classification, not a water-depth or probability forecast — both are stated explicitly in the output, never silently implied to be more precise than they are.

FAQ

Q: Why does typeFilter default to "adres" instead of matching anything? A: PDOK's /free endpoint does fuzzy, best-effort matching across all object types. For a query like "Damrak 1 Amsterdam", it can match the street ("weg") instead of the specific address if no type filter is applied — that loses postcode/neighbourhood data and degrades the whole dossier. Filtering to adres (the default) fixes this; clear the field only if you deliberately want postcode/place-level dossiers.

Q: Why is there no flood water-depth or probability percentage? A: There is no single nationwide PDOK layer that publishes water-depth scenarios per coordinate — that data exists only fragmented per waterschap/dijkring (e.g. via LIWO), not as one generically queryable service. This actor only reports the confirmed, nationwide Richtlijn Overstromingsrisico zone classification.

Q: My address shows funderingsaandachtsgebied: true — does that mean this specific house has a bad foundation? A: No. It means the postcode area (PC6) this address falls in has a documented share of pre-1970 buildings, a known risk factor for wooden pile foundations. It is not a per-building assessment — order an actual funderingsonderzoek before making any decision based on this.

  • PDOK Adres Geocoding & Buurtdata — the same official PDOK Locatieserver this actor uses internally, useful for broader geocoding/CBS use cases beyond a full property dossier.
  • NL Bodemrisico Check — a complementary due-diligence check: soil contamination (Bodemloket/Wbb) risk on the same kind of address input.

Zoekwoorden: vastgoeddossier, woningdossier, funderingsrisico check, overstromingsrisico per adres, klimaatrisico vastgoed, taxatie-ondersteuningsrapport, CBS buurtdata woning, due diligence vastgoed.

Keywords

vastgoeddossier, property dossier, funderingsrisico, flood risk, foundation risk, netherlands real estate, due diligence, cbs buurtdata, climate risk property

Changelog

0.3.0

  • Fixed: the within-run WMS lookup cache rounded coordinates to ~11m, which could theoretically merge results for two adjacent-but-distinct addresses straddling a flood-risk-zone boundary (e.g. along a dike/street). Tightened to ~1.1m — still deduplicates units within the same building, no longer close enough to merge different buildings.
  • Fixed: if both includeKlimaat and includeFundering are disabled, samenvatting.risiconiveau previously showed "laag" — indistinguishable from "we checked, nothing found". It now shows "niet gecontroleerd" when no module was actually checked.
  • Added: samenvatting.omschrijving — one plain-language sentence summarizing the result, useful when exporting to a spreadsheet/CRM where nobody inspects nested JSON fields.

0.2.0

  • Fixed: a failed flood-risk/foundation-area WMS lookup was previously indistinguishable from a confirmed "no risk found" result. Both modules now report _status: "onbekend" and null fields on a lookup failure, never a silent false.
  • Fixed: a run no longer fails entirely just because one address (in a single- or multi-address run) had no PDOK match — that's a legitimate per-item result (already reflected in error), not a system failure. Only an empty input, or literally zero processed items, fails the run.
  • Added: samenvatting block per dossier — a coarse risiconiveau (laag/middel/hoog/onbekend) rollup of all flagged modules, so a user doesn't need to inspect three nested objects to spot a notable address.
  • Added: free RUN_SUMMARY written to the run's key-value store (batch totals, flagged counts, average pre-1970 percentage, risk-level distribution) — no extra charge.
  • Performance: WMS lookups are now deduplicated within a run for addresses sharing the same rounded coordinate (e.g. multiple units in one building), reducing redundant external calls.

0.1.0

  • Initial release (fase 1 per de gefaseerde bouwspec): PDOK-basis (adres-gefilterd), CBS-buurtverrijking, RWS-overstromingsrisicozone en RVO-funderingsaandachtsgebied in één dossier per adres.