Ship Spain without owning the Catastro plumbing.Lanza España sin mantener toda la fontanería del Catastro.
PropData Spain converts official cadastral identity, parcels, addresses, buildings, geometry, non-protected property detail, authority routing and source provenance into one country-scoped contract for software. These docs cover the integration surface from the first authenticated request through production coverage handling.PropData España convierte identidad catastral, parcelas, direcciones, edificios, geometría, detalle no protegido, enrutamiento de autoridad y procedencia en un contrato único para software. Esta referencia cubre desde la primera solicitud autenticada hasta el manejo de cobertura en producción.
Make a Spain-scoped property request.
Direct REST requests go to the PropData production edge. Keep your API key in a trusted server-side secret and send it only in the x-api-key header. The country selector is country=ES.
curl "https://propdata-api-worker.sales-fd3.workers.dev/v1/property?country=ES&address=YOUR_SPANISH_ADDRESS" \ -H "x-api-key: $PROPDATA_API_KEY"
const url = new URL(
"https://propdata-api-worker.sales-fd3.workers.dev/v1/property"
);
url.searchParams.set("country", "ES");
url.searchParams.set("address", "YOUR_SPANISH_ADDRESS");
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 10_000);
try {
const response = await fetch(url, {
headers: { "x-api-key": process.env.PROPDATA_API_KEY },
signal: controller.signal
});
if (!response.ok) {
throw new Error(`PropData ${response.status}`);
}
const property = await response.json();
console.log(property);
} finally {
clearTimeout(timeout);
}import os
import requests
response = requests.get(
"https://propdata-api-worker.sales-fd3.workers.dev/v1/property",
params={"country": "ES", "address": "YOUR_SPANISH_ADDRESS"},
headers={"x-api-key": os.environ["PROPDATA_API_KEY"]},
timeout=10,
)
response.raise_for_status()
property_record = response.json()Credentials stay server-side.
Static REST authentication uses the x-api-key header. Do not put a production key in query parameters, browser bundles, repositories, screenshots, analytics, frontend environment variables or MCP authorization flows.
Use a PropData API key from a trusted backend, edge function or server.
The Spain Dashboard validates a user-supplied key against live usage before treating it as connected.
AI-native MCP access is a separate OAuth flow. Do not paste a static REST key into MCP.
country=ES selects the Spain adapter.
Country scope tells PropData to apply Spain-native identity, authority, coverage and source semantics rather than a U.S.-centric or generic property model.
ES selects the Spain contract.Do not remove country scope and assume a Spanish address will always route correctly. Explicit country selection is the stable integration pattern.
The Spanish property graph.
PropData does not reduce Spain to a flat parcel table. The country model preserves official identities and relationships so downstream systems can tell which property, parcel, address, building and source evidence they are using.
| DOMAIN | OFFICIAL CONCEPT | PROPDATA ROLE | WHY IT MATTERS |
|---|---|---|---|
| Identity | Referencia catastral | Durable cadastral property identity. | Stable join point for downstream workflows. |
| Authority | Municipality / cadastral authority | Routes source and territorial contract. | Prevents cross-authority fabrication. |
| CP | Cadastral Parcel | Parcel identity, boundary, geometry and surface context. | Spatial spine for maps and coordinate workflows. |
| AD | Address | Official structured address identity and point context. | Connects human-readable location to cadastral identity. |
| BU | Building / BuildingPart | Building footprints, parts and related construction geometry where published. | Built-environment context beyond the land parcel. |
| Detail | Non-protected property information | Surface, use/destination, cultivation/use class, construction quality and related published context. | Transforms an identifier into a usable property object. |
| Provenance | Source family / revision | Evidence lineage behind returned facts. | Makes answers traceable and governable. |
| Coverage | Layer / authority availability | Explicit availability state, separate from match. | Prevents missing data from becoming false certainty. |
REFCAT is the spine, not the whole property.
The referencia catastral is the official cadastral identity anchor. PropData preserves it rather than replacing it with a vendor-only ID, then connects the evidence around it: parcel geometry, official address context, buildings, municipality/authority, source revision and coverage state.
Identity resolution should fail closed
- Do not convert an ambiguous candidate into an exact property match.
- Do not attach property detail to a parcel identity that has not been established.
- Do not treat a coordinate containment result as proof of an exact postal address.
- Do not synthesize ownership or value attributes from surrounding records.
CP, AD and BU form the open INSPIRE backbone.
Parcel identity, boundary geometry, surface and cadastral spatial context where published and promoted.
Official address identities and point context linked back to cadastral geography.
Buildings, building parts and other construction geometry published through the official building family.
The commercial product is not the act of downloading these public sources. It is the normalization, deterministic identity, authority routing, cross-family relationships, source revision handling, coverage semantics, quality gates and software delivery layer built on top.
More than boundaries.
Spain’s public non-protected cadastral information can include property location, cadastral reference, surface, use/destination, cultivation/use class, construction quality and cadastral cartography. PropData attaches these only where the source and exact property identity support them.
| CONCEPT | OPEN CONTRACT | BEHAVIOR |
|---|---|---|
| Property location | Eligible non-protected information | Return when source publishes and identity resolves. |
| Cadastral reference | Core identity | Preserve exactly as the source identity. |
| Surface | Eligible non-protected information | Keep source meaning and units explicit where returned. |
| Use / destination | Eligible non-protected information | Preserve source semantics; do not remap into unsupported categories. |
| Cultivation / use class | Eligible non-protected information | Relevant especially to rural context; return only where published. |
| Construction quality | Eligible non-protected information | Return as source-supported property context where available. |
| Cartography | Eligible non-protected information | Geometry remains coverage- and revision-aware. |
Point → parcel → property, only when evidence supports it.
The source geometry contract must remain intact even when the API boundary accepts WGS84 coordinates. PropData separates coordinate input, source geometry, parcel containment and exact property identity rather than treating them as interchangeable.
curl "https://propdata-api-worker.sales-fd3.workers.dev/v1/property/by-location?country=ES&lat=40.4168&lng=-3.7038" \ -H "x-api-key: $PROPDATA_API_KEY"
- Use WGS84 latitude and longitude at the API boundary.
- Return parcel context only where promoted geometry supports deterministic containment.
- Do not invent a boundary if only address/property identity exists.
- Keep source, authority, municipality and revision evidence with geometry where available.
- Use the coordinate coverage-check route before depending on a spatial workflow at scale.
One Spain product. Different cadastral authorities.
The Dirección General del Catastro covers Spain’s common territory. País Vasco and Navarra operate separate cadastral systems. PropData treats this jurisdiction split as part of the country contract.
Official CP / AD / BU and non-protected property-detail certification path.
Álava, Bizkaia and Gipuzkoa require their own source integrations and promotion gates.
Never substitute DGC data for a Navarra property. Route correctly or return explicit unavailability.
Match, coverage and provenance are separate
| SIGNAL | QUESTION IT ANSWERS | DO NOT CONFUSE WITH |
|---|---|---|
| Match | What property/parcel/geometry did this request resolve to? | Whether every downstream field or layer exists. |
| Coverage | Is the requested layer promoted for this authority and municipality? | A favorable property fact. |
| Provenance | Which source family, authority and revision supports this fact? | A generic national source label. |
Answers should carry evidence, not just values.
PropData’s Spain adapter is designed to keep the context necessary to explain a returned fact: source family, municipality, authority, source revision and coverage state where the response contract exposes them.
When you persist PropData records, preserve source/provenance fields alongside property facts instead of discarding them after initial ingestion. That gives your system a path to audit changes, distinguish updates from source drift and explain why a value became unavailable.
Ownership and individualized cadastral value are outside the open contract.
Spain’s Catastro distinguishes public non-protected information from protected cadastral information. Protected data include cadastral ownership identity and individualized cadastral value, including individualized land and construction values.
Truthful nulls are part of the API contract.
A successful HTTP response does not mean every property layer exists. Treat missing/unavailable enrichment separately from a failed property lookup, and inspect response coverage/status context before interpreting nulls.
Use returned source and coverage context to determine what attached layers are supported.
Do not convert a missing geometry, building or detail field into a zero or fabricated value.
Handle as a distinct state in product UX and downstream rules rather than silently broadening geography.
Spain-facing production routes.
These are existing PropData routes that participate in the country-aware framework. Spain-specific data availability remains controlled by the promotion contract described above.
/v1/propertyPrimary Spain property resolver. Resolve by address or a supported canonical property/parcel identity. Use enrich=full only where the connected plan and promoted Spain layers support it.
/v1/property/by-locationWGS84 coordinates to containing property/parcel context where promoted geometry supports deterministic containment.
/v1/property/by-location/coverage-checkProbe coordinate coverage before depending on spatial resolution in production.
/v1/parcel-geometryReturn promoted parcel geometry for a supported canonical property/parcel identity. Geometry availability is not implied by property identity alone.
/v1/countriesDiscover the country-aware framework and supported market capability context.
/v1/auth/usageAuthoritative account usage and current limits. Prefer this route over hardcoded plan assumptions.
/v1/healthProduction service health. Do not treat global service health as proof of Spain property-layer coverage.
/v1/statsPlatform statistics and global operating proof points. Do not use global counts as property-specific Spain coverage.
/v1/changelogProduction API and promoted-data changes.
Handle failures by category.
Do not retry every non-2xx response blindly. Separate authentication, entitlement, validation, not-found/coverage, rate-limit and upstream timeout behavior in your integration.
| CATEGORY | CLIENT BEHAVIOR |
|---|---|
| Authentication | Verify the key is present in x-api-key, active and associated with the intended account. |
| Entitlement | Do not retry until the account plan/access state changes. |
| Validation | Fix country, identifier or coordinate formatting before retrying. |
| Not found / coverage | Interpret returned match/coverage state. Do not broaden or fabricate. |
| Rate limit | Honor returned rate-limit context and use bounded backoff. |
| Timeout / transient upstream | Use bounded retries with jitter and a request timeout. Avoid retry storms. |
for (let attempt = 0; attempt < 3; attempt++) {
const response = await fetch(url, { headers, signal });
if (response.ok) return response.json();
// Do not retry validation/auth/entitlement failures blindly.
if (![429, 502, 503, 504].includes(response.status)) {
throw new Error(`PropData ${response.status}`);
}
await new Promise(r => setTimeout(r, 250 * (2 ** attempt)));
}
throw new Error("PropData retry budget exhausted");Read the account contract live.
Use GET /v1/auth/usage as the authoritative account usage surface. Plan snapshots on marketing pages can change and contracted/legacy accounts may differ.
- Read live usage rather than hardcoding remaining quota.
- Use returned rate-limit headers/context for quota-aware applications.
- One Full Enrich property call is accounted according to the PropData request contract; do not infer internal subcalls from the response size.
- The Spain Dashboard reads this route directly after the account holder connects a valid credential.
AI-native access is OAuth-protected.
PropData MCP is separate from static-key REST authentication. Compatible AI clients authorize through OAuth. Do not reuse or paste a REST API key into an MCP authorization flow.
A country-native operating surface.
The Spain Dashboard is not a redirect to the global site. It is a Spain-locked workspace for account validation, live usage, country-scoped request testing, response inspection, coverage, billing and developer handoff.
Source scale, graph layers, plan and live account usage.
Property, coordinate, geometry, coverage and account endpoints.
Credential validation against /v1/auth/usage before treating an account as connected.
Promotion is earned.
Spain is in launch certification. The latest verified municipality-scale proof on 4 September 2026 selected 500 existing canonical parcels in DGC municipality 02001. All 500 completed the fetch path; 499 emitted direct property detail; one correctly returned no property detail.
Canonical parcel requests completed.
Direct property-detail records emitted.
Zero protected-field hits and zero production writes in the proof run.
- Exact existing parcel identity required before detail attaches.
- Ownership requested: false.
- Cadastral value requested: false.
- Abort write on fetch error: true.
- Production promotion remains separate from preview/certification evidence.
Official Catastro source, transformed into a value-added product.
DGC INSPIRE is the official common-territory source basis for cadastral parcels (CP), addresses (AD) and buildings (BU), with official ATOM/WMS/WFS services. DGC’s public-use licensing permits public and commercial use of transformed value-added products; it does not mean unchanged raw supplied cadastral information should simply be republished as a commercial feed.
PropData’s commercial value is the transformed operating layer: country routing, identity, relationships, deterministic joins, geometry handling, source reconciliation, coverage semantics, quality gates, provenance and software delivery.
Before you ship.
country=ES explicitly on Spain-aware property requests.PROPDATA_API_KEY server-side and send only via x-api-key./v1/auth/usage for authoritative account quota context.