Vastgoeddossier XXL — PDOK + CBS + Klimaat + Fundering
Pricing
from $20.00 / 1,000 dossier-resultaats
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
Maintained by CommunityActor 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 toadres-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_SUMMARYwritten 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
nullwith_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
| Field | Type | Description |
|---|---|---|
query / queries | string / array | Address(es), postcode(s), place name(s), or "lat,lon" — see the .actor/input_schema.json for the full bulk-item format |
lookupId / datasetId | string | Direct PDOK object-ID lookup, or a linked Apify dataset as bulk input |
mode | string | auto (default), forward, reverse, or lookup |
typeFilter | string | PDOK object-type filter for forward search, default adres (recommended — see FAQ) |
enrichWithCbs | boolean | Add CBS neighbourhood statistics (default true) |
includeKlimaat | boolean | Add the flood-risk-zone check (default true) |
includeFundering | boolean | Add the foundation-attention-area check (default true) |
concurrency | integer | Addresses 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.risiconiveauis a coarse, purely additive rollup (0 flags →laag, 1 →middel, 2 →hoog;onbekendif a module's lookup failed and there are otherwise no flags;niet gecontroleerdif bothincludeKlimaat/includeFunderingare disabled, so nothing was actually checked) — not a weighted or validated risk model. Always check the underlyingklimaat/funderingfields for detail. -
_status: "onbekend"onklimaat/funderingmeans the underlying WMS lookup itself failed (e.g. a temporary outage) — the corresponding boolean field isnullin that case, never a silentfalse. This is different from a confirmed "no risk found" (_status: "ok", fieldfalse). -
A free
RUN_SUMMARYobject 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/funderingarenullif the correspondinginclude*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_disclaimeron every result and must not be read as a building-specific foundation assessment. -
klimaathas 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,
basisisnullanderrorexplains 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 whenenrichWithCbsis enabled and CBS data was actually found for the matched neighbourhood/municipality.
Legal
- 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.
Related Actors
- 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
includeKlimaatandincludeFunderingare disabled,samenvatting.risiconiveaupreviously 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"andnullfields on a lookup failure, never a silentfalse. - 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:
samenvattingblock per dossier — a coarserisiconiveau(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_SUMMARYwritten 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.