Skip to content

How the property scan works

You enter a postcode and house number, and within two seconds you see how big the building is, when it was built, what it is used for and what it looks like from above. Below is exactly how that works, including the two things we got wrong along the way.

Where the data comes from

Three calls to PDOK, the Dutch public geodata service. All of them open, none of them behind a key. The address lookup returns an object id and coordinates. The building-unit record gives the floor area and the use. The building record gives the year of construction and the outline. So the year does not sit with the unit but with the building around it, which is the kind of thing you only learn by building it.

Pitfall one: the wrong building

The obvious way to look up an address is a free-text search on postcode and house number, then take the first result. That returns the wrong building. "1012AB 1" gives a completely different house number on the same square, "1012AB 14" gives 14B, and a rural postcode gives an address on another street altogether. One hit out of hundreds of thousands each time, and never the one you meant. With exact filters on postcode and house number, exactly one remains. We measured that rather than assumed it.

Pitfall two: the map half a province away

Dutch map data uses Rijksdriehoek, a national coordinate system. The reflex is to convert it to the latitude and longitude the rest of the world uses. Here you don't have to: the aerial imagery service accepts Rijksdriehoek as it is, and the building outline arrives in that same system. Crop and outline line up without a single conversion. That saves more than work: every conversion is a chance to end up in a field in Germany.

Why we store nothing

There was a cache, keyed on the address. It came out, and not because it was slow. A cache keyed on the address is storing the address, and then the line under the form is no longer true. So the address travels in the body of a POST and never in a web address, because there it would end up in server logs, in analytics and in your browser history. The response carries no-store. Abuse is handled with a per-visitor limit instead of a cache. The gain would have been small anyway: those three calls together take about half a second.

What happens when a source drops out

Every field can go missing on its own without breaking the rest. If the building register returns nothing, the floor area and use stay empty and you still see everything else. Only an address that cannot be found stops it, because then there is nothing to show. Every call has an eight-second timeout: a demo that hangs for twenty seconds is worse than a demo with a missing field.

We don't keep your address

Not in a database, not in a log line, not in a cache. What you enter goes to the public sources and the answer comes back to your screen. After that it is gone. That is not a setting we happen to have switched on but a consequence of how it is built, and it is the reason there is no cache above.

Try the scan

The scan looks addresses up in the Dutch address register, so it works with Dutch postcodes.