Dutch Property Context

Dutch property report by address. Combines nine official open sources: construction year, floor area, energy label, neighbourhood statistics, environmental noise and air quality, national monument status and nearby schools. Separates fact, signal and unknown. Remote MCP, no API key.

Documentation

Waarom dit bestaat

Vraag een AI-agent naar een Nederlands adres en hij gaat het web op. Dat levert een antwoord op dat er goed uitziet en soms klopt. De onderliggende gegevens zijn openbaar en betrouwbaar, maar ze staan in negen verschillende registers met elk hun eigen sleutel, formaat en eigenaardigheden.

Het lastigste deel is niet het ophalen maar het koppelen. Bij het bouwen liepen we op precies die koppelingen vast: een monumentnummer dat we publiceerden bleek het interne objectnummer te zijn en wees naar een pand in een heel andere provincie. Een adres zonder plaatsnaam kreeg een monument uit Coevorden toegewezen. En Binnenrotte 101, Amsterdam gaf zonder enig voorbehoud het pand in Rotterdam terug.

Dat zijn geen fouten in de bronnen — die klopten allemaal. Het koppelen ging mis. Deze laag neemt dat werk over en zegt er expliciet bij hoe zeker het is dat we het juiste pand te pakken hebben.

Voor wie, en waarvoor

Makelaars en taxateurs

Objectieve uitgangspositie bij een opname: bouwjaar, oppervlakte, label, beschermde status.

Kopers en hun adviseurs

Wat staat er officieel geregistreerd, en welke punten verdienen navraag bij de bouwkundige keuring.

Verduurzaming en installatie

Bouwjaarcohort, energielabel en oppervlakte als startpunt voor een isolatie- of warmtepompadvies.

Bouwers van AI-agents

Eén MCP-tool die een agent zelf aanroept zodra er een Nederlands adres in het gesprek valt.

Wat je terugkrijgt

Eén JSON-antwoord, ongeveer 11 kB, met deze blokken:

BlokInhoud
identityHet gevonden pand, plus match_verified: is dit werkelijk het gevraagde adres?
buildingBouwjaar, gebruiksoppervlakte, gebruiksdoel, pand-identificaties
energyGeregistreerd energielabel, geldigheid, gebouwtype, berekend verbruik
locationCoördinaten, gemeente, buurt- en wijkcode
neighbourhoodBuurtcijfers: inwoners, dichtheid, leeftijdsopbouw, huishoudsamenstelling, gemiddelde WOZ, koop/huur, afstand tot huisarts, supermarkt, school en kinderopvang
environmentOmgevingsgeluid (Lden), fijnstof PM2.5 en stikstofdioxide NO₂
heritageRijksmonumentstatus met het echte registernummer
protected_areaLigging in een beschermd stads- of dorpsgezicht, en in UNESCO-werelderfgoed
schoolsBasis- en voortgezet onderwijs in de buurt, met afstand en onderwijsstructuur
signalsDe observaties, elk met een aanbeveling en de onderbouwing
provenancePer bron: welke, wanneer opgehaald, met welke status en licentie

De signalen zijn het punt

Een signaal stelt nooit een gebrek vast. Bouwjaar 1921 betekent niet dat er loden leidingen zijn — het betekent dat dat het nakijken waard is. Zo werken ze allemaal:

  • construction_era_checks — wat bij dit bouwjaarcohort gecontroleerd hoort te worden
  • conflicting_construction_year — twee registers noemen een ander bouwjaar; beide worden getoond, wij kiezen niet
  • energy_label_expiring / no_energy_label / energy_label_address_mismatch
  • protected_townscape en world_heritage_area — gevolgen voor vergunningen
  • address_match_unverified — het gevraagde adres is niet met zekerheid teruggevonden
  • source_unavailable — een bron antwoordde niet; het veld is onbekend, niet leeg

Wat het níét doet

Dit is geen taxatie, geen woningwaarde en geen juridisch of bouwkundig advies. Er zit geen vraagprijs, geen erfpachtcanon, geen VvE-informatie en geen kadastrale eigendomshistorie in — die gegevens zijn niet vrij beschikbaar.

Let op identity.match_verified

Staat die op false, dan is het gevraagde adres niet met zekerheid teruggevonden en gaat de rest van het antwoord mogelijk over een ánder pand. Presenteer de gegevens dan niet als feit. Bij match_ambiguous zijn er meerdere even goede kandidaten, en die staan er allemaal bij.

Omgevingsdocumenten onder de Omgevingswet zijn niet aangesloten; die vragen een aparte sleutel. Dat staat als not_configured in het antwoord — een status, geen leeg veld.

Zo gebruik je het

Als MCP-server, in Claude, Cursor of een andere agent

Cursor: één klik —

Claude (web of desktop, werkt op elk abonnement inclusief gratis): ga naar Customize → Connectors → + → Add custom connector en plak https://property-context.tradebrite.nl/mcp. Claude kan dit niet zelf voor je installeren; het is bewust een handeling van jou, want een connector mag namens jou handelen.

ChatGPT: custom connectors zitten achter Developer Mode en zijn alleen beschikbaar op Pro, Team, Enterprise en Edu — op een Plus-abonnement kan het niet. Gebruik daar de gewone HTTPS-API hieronder.

Claude Code:

claude mcp add --transport http property-context https://property-context.tradebrite.nl/mcp

Of handmatig in je MCP-configuratie:

{
  "mcpServers": {
    "property-context": {
      "type": "http",
      "url": "https://property-context.tradebrite.nl/mcp"
    }
  }
}

Daarna kun je gewoon vragen: "Wat moet ik weten over Grote Markt 2 in Haarlem voor ik ga bezichtigen?"

Als HTTPS-API

curl "https://property-context.tradebrite.nl/v1/property/context?address=Grote%20Markt%202,%20Haarlem"
ParameterBetekenis
addressNederlands adres, bij voorkeur met plaatsnaam of postcode. Ook 2242KE 1 werkt.
depthcompact (standaard) of full. Full geeft de volledige scholenlijst en de bron-URL's.
refresh1 omzeilt de cache van een uur.

Bronnen, licentie en grenzen aan het gebruik

De gegevens komen uit officiële Nederlandse registers: de Basisregistratie Adressen en Gebouwen, CBS-buurtcijfers, RIVM-metingen voor geluid en luchtkwaliteit, het energielabelregister van RVO, de rijksmonumenten- en beschermde-gebiedenregisters, en de onderwijsadressen van DUO.

Een deel daarvan staat onder CC BY 4.0, wat betekent dat bronvermelding verplicht is. Daarom zit in elk antwoord het blok provenance met per bron de naam en de status — ook in het compacte formaat. Neem die bronvermelding over als je de gegevens doorgeeft aan een eindgebruiker; die verplichting gaat met de data mee.

Energielabels mogen niet in grote aantallen worden doorgeleverd. Dat is de reden dat er een rate limit op zit; die volgt uit de voorwaarden van de bronhouder en niet uit onze capaciteit.

Rate limit

10 verzoeken per 10 seconden en 60 per minuut, per IP-adres. Bij overschrijding volgt HTTP 429 met een Retry-After -header. Heb je structureel meer nodig, mail dan even.

Aansprakelijkheid

Deze dienst wordt kosteloos en zonder garanties aangeboden. Beslissingen over aankoop, verbouwing of verduurzaming blijven de verantwoordelijkheid van de gebruiker.

Hetzelfde idee, ander onderwerp

Dutch Vehicle Context

Dezelfde aanpak voor Nederlandse voertuigen: één kenteken levert APK-historie, afkeurpunten met vertaalde omschrijving, het oordeel over de kilometerstand en de volledige terugroepketen — inclusief wat er stuk kan en hoe gevaarlijk dat is.

Bekijk Dutch Vehicle Context →

Broncode

De code staat open op GitHub, onder MIT-licentie: github.com/rleefers/dutch-property-context. Je kunt hem zelf draaien op een eigen Cloudflare-account; er zijn geen sleutels nodig voor de open bronnen. In de repo staat ook de regressietest waarmee we controleren dat de koppelingen kloppen.

Deze dienst staat ook in de officiële MCP-registry als nl.tradebrite/dutch-property-context.

Vragen of iets kapot?

Gebouwd en onderhouden door Tradebrite BV. Klopt er iets niet, mis je een bron, of wil je meer volume? Laat het weten — meldingen over een concreet adres zijn het nuttigst.

[email protected] · +31 (0)71 220 30 70