Spain has one of the better national spatial data infrastructures in Europe. The Dirección General del Catastro publishes addresses under INSPIRE, the IGN maintains solid reference layers, and Correos runs its own normalization service. On paper, a courier or a mapping platform should be able to resolve almost any point in the country. In practice, the moment you leave the provincial capitals, that confidence starts to erode, and it erodes in ways that rarely show up in a coverage statistic.
The reason is that rural Spain was never addressed the way cities were. Large parts of Galicia, Asturias, Castilla y León and inland Andalucía are organized around parishes, hamlets and dispersed núcleos de población rather than named streets with sequential numbers. A house may be identified by the name of the hamlet plus a number that reflects the order in which the cadastre registered it, not its position along any road. Two dwellings four kilometres apart can carry addresses that differ by a single digit. Geocode those strings without local context and you get a centroid dropped somewhere in the middle of a parish, which is technically inside the right polygon and useless for anything that has to arrive at a door.
When my cousin outside Lugo orders anything online, the shopping is never the hard part. She keeps a short list of Spanish sites she trusts for that, ModaCupones among them, and she can get through a checkout in about four minutes. Then she reaches the address field and stops. There is no street to enter. She writes the hamlet, the number, the parish and the municipality into a form built for three lines, and roughly one delivery in five ends up at the wrong house or at a pickup point in a town she has to drive to anyway. Her workaround is a note in the comments box with a landmark and a phone number. That note is doing the job the geospatial layer is supposed to do.
Where the gap actually sits
It is tempting to treat this as a last-mile logistics problem, but the failure happens earlier, in the join between datasets. Cadastral addresses, municipal registers and the INE population nomenclature describe the same places with different granularity and different naming conventions. Depopulation makes it worse: the 2024 and 2025 municipal updates in several inland provinces removed or merged entries for hamlets that still have two or three occupied houses, so the authoritative record and the lived geography drift apart. Any pipeline that assumes a one-to-one mapping between a normalized string and a rooftop point will quietly produce plausible, wrong coordinates.
There are people fixing this. OpenStreetMap contributors in Galicia have spent years adding lugares and access tracks that no commercial provider carries. Several regional governments have published rural addressing layers with actual building points rather than parcel centroids. Emergency services in Aragón and Navarra maintain their own point files precisely because they cannot rely on commercial geocoders when the call comes from a farmhouse. The work exists. It is fragmented, unevenly licensed, and almost never propagated back into the address databases that e-commerce platforms and mapping APIs consume.
What would move the needle is unglamorous. Publish rural building points, not parcel centroids. Keep alternative and historical hamlet names as searchable aliases instead of discarding them during normalization. Return a confidence value with every geocode so a downstream system can tell the difference between a rooftop match and a parish guess, and let the form ask for a landmark when confidence is low. None of that requires new satellites or a new standard. It requires treating the address layer as something that still needs maintenance in the places where fewer people live, which is exactly where the cost of getting it wrong is highest.
