Reading this register by machine
Everything this site publishes comes from a read contract on the engine and is shown as the engine serves it. This page says which surfaces a program can read today, and which do not exist yet.
What answers today
Three surfaces, all public and none of them keyed: the plain-text index for models, the sitemap carrying every address on this site, and the structured markup each page already carries.
Every page carries schema.org markup as JSON-LD. Where a date appears there it appears beside the basis of that date; a date whose basis the engine did not state is not published in the markup at all.
The addresses, as templates
/en/municipio/{codigo_ine}— One page per municipality, addressed by the five-digit INE code./en/cobertura— What the register holds, measured per scope and per publishing source./en/provincia/{codigo_provincia}/sin-planeamiento— By province: the municipalities with no plan figure on record./en/clase-suelo/{land_class}— By land class: the municipalities whose plan records it./en/actualizado— Every source, with the date of its data and the basis of that date./en/api— Which surfaces a program can read today, and what does not exist yet.
Every value travels with its provenance
No date is returned without the basis that supports it, and no attribution is summarised or grouped. If the engine does not serve a field, it does not appear on the page: nothing here fills a gap.
Every fact in this register carries its publisher’s own attribution, as the engine serves it and beside the fact it belongs to. Anyone reusing these values carries it with them (Ley 37/2007, art. 8).
What this register does not answer
It does not say whether you may build, nor which land class applies to a plot, nor resolve a name to a municipality. It returns what is on record and who published it; the interpretation is not here.
What does not exist yet
There is no keyed API. Two things it needs are not code: the legal review of the terms of use, and a way of metering usage that does not write to the database on every request.
There is no waiting list and no form for requesting a key either: nobody would be at the other end, and a form that goes nowhere is a promise.