An address register is a country's official file of the addresses its authorities recognise, usually keyed on buildings rather than letterboxes. Spaw reads the openly published registers synced to its servers — the address verification guide lists each with its licence — and each publisher states how complete its own file is, except where Spaw marks a register partial because its copy cannot vouch for an address it lacks: the address data sources page says which and why.
What Spaw answers
exists is the answer, and the rule behind it is the strictest thing in the address product. It is true only on a premise match — the building itself was found. It is false only when the register that answered has complete coverage and does not carry this one. In every other case it is null.
match_level says how far the address could be followed: premise, range (the house number falls inside a published range of numbers on the street), street, postcode or none. register names the file that answered and register_coverage reports complete or partial. Always read exists against that last field.
Why null is the common answer
Several registers are partial. Two are partial by their publishers' own account: the American national database, to which states and local authorities contribute voluntarily, and the French one, which is still filling in. Spaw marks the others partial on its own grounds. Brazil's is the address list of the 2022 census, a snapshot rather than a maintained register. Each German register covers one Land, and Germany has no national address register. Great Britain's, Ordnance Survey's Open Names, files each road under one postcode district, though a long road runs through several; it lists streets and never buildings, so it can never answer for a building at all. Denmark's copy is no longer refreshed: Klimadatastyrelsen lists every Danish address, but the copy here was taken on 26 September 2026, before the interface it was read through closed on 1 October 2026, so an address created since may be missing from it. An address missing from a partial register may be in a part nobody has shared yet, outside the area the register covers, or newer than the copy, so absence there is not evidence and the field says null instead of false.
The not_in_register risk signal (+20) fires only where exists is false — that is, only where a complete register was asked and answered.