Kataster GPSKataster GPS

API-Dokumentation

Vollständige Kataster-API-Referenz

Base URL

https://api.parcelgps.com

Códigos de país

Los endpoints aceptan ?country=XX. La España peninsular usa ES, pero País Vasco y Navarra tienen catastro propio (foral) y requieren su propio código — con ES sus parcelas no se encuentran.

ES · EspañaPV · País VascoNA · NavarraPT · PortugalFR · FranceIT · ItaliaDE · DeutschlandAT · Österreich

Endpoint-Referenz

MétodoEndpointAuthDescripción
GET/api/catastro/:refcat?country=XXAPI KeyParcel lookup
GET/api/catastro/:refcat/polygon?country=XXAPI KeyParcel geometry (GeoJSON)
GET/api/catastro/:refcat/solar?country=XXAPI KeySolar potential
GET/api/catastro/:refcat/agro?country=XXAPI KeyAgricultural land data
GET/api/export/kml?refcat=X&country=XAPI KeyExport KML/GPX/PDF/DXF
GET/api/catastro/:refcat/market?country=XXWeb & appMarket data (not via API)
GET/api/catastro/:refcat/score?country=XXWeb & appInvestment score (not via API)

Zuverlässigkeit

Was wir aus eigener Infrastruktur liefern und was von einer Behörde abhängt. Vor dem Produktivbetrieb lesenswert.

EndpointWoher die Daten kommen
/catastro/:refcat (ES)Eigene Kopie des Katasters (50,9 Mio. Flurstücke). Antwortet ohne das Catastro.
/polygon · /search/address · /search/coordinatesCatastro (Behörde). Kann ohne Vorwarnung ausfallen.
/agroSIGPAC
/solarPVGIS

Fehler und Wiederholungen

Ein 503 heißt, dass eine offizielle Quelle gerade nicht antwortet: mit wachsendem Abstand erneut versuchen, das klärt sich von selbst. Ein 429 ist Ihr Kontingent — erneutes Senden bringt es nicht zurück; auf den Reset warten oder den Tarif wechseln. Ein 404 ist eine nicht existierende Referenz und sollte nicht wiederholt werden.

Statusseite

Wir veröffentlichen den Zustand unserer API und der neun Katasterquellen, von denen wir abhängen — alle fünf Minuten geprüft und außerhalb dieser API gehostet, damit sie bei einer Störung verlässlich bleibt: catastrogps.es/status.

Authentifizierung

Alle API-Anfragen erfordern einen API-Key im X-API-Key-Header.

curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/9872023VH5797S"

Erhalten Sie Ihren kostenlosen API-Key auf Ihrem Entwickler-Dashboard.

Fehlercodes

StatusCodeBeschreibung
200OK — La petición se ha completado correctamente.
400VALIDATION_ERRORBad Request — Parámetros inválidos o referencia catastral con formato incorrecto.
401UNAUTHORIZEDUnauthorized — API key inválida, expirada o no proporcionada.
404NOT_FOUNDNot Found — No se encontró la parcela con la referencia o coordenadas indicadas.
429KEY_AUTH_004 Quota Exceeded — Has alcanzado el límite mensual de tu plan. Comprueba las cabeceras X-RateLimit-Remaining y X-RateLimit-Reset para saber cuándo se reinicia.
429RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHEDToo Many Requests — Límite de búsquedas gratuitas por IP / día (tier gratuito). Con API key aplica la cuota mensual del plan (arriba).
500INTERNAL_ERRORInternal Server Error — Error en nuestro servidor. Si persiste, contacta soporte.
503SERVICE_UNAVAILABLE Service Unavailable — El servicio catastral externo del país consultado no está disponible temporalmente. Estos servicios son gestionados por organismos públicos (Catastro, DGT, Géoportail, Agenzia Entrate, ALKIS...) y están fuera de nuestro control. Reintenta en unos minutos.

Cabeceras de rate limit

Cada respuesta incluye cabeceras que indican el estado de tu quota:

HeaderBeschreibung
X-RateLimit-LimitLímite mensual total de tu plan (ej: 5000).
X-RateLimit-RemainingLlamadas restantes este mes.
X-RateLimit-ResetFecha de reinicio de la quota (ISO 8601).
X-Quota-TierNombre del tier actual (free, basic, pro, business).

Spain (ES)

Spanish Cadastre — Direccion General del Catastro

GET/api/catastro/:refcat

Flurstückdaten per Katasterreferenz abrufen (14 oder 20 Zeichen).

Parameter

:refcatstringCadastral reference (e.g. 9872023VH5797S0001WX)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/9872023VH5797S0001WX"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "refCatastral": "9872023VH5797S0001WX",
    "direccion": "CL GLORIA 51",
    "codigoPostal": "13730",
    "municipio": "SANTA CRUZ DE MUDELA",
    "provincia": "CIUDAD REAL",
    "latitud": 38.640143,
    "longitud": -3.463284,
    "googleMapsUrl": "https://www.google.com/maps?q=38.640143,-3.463284",
    "uso": "Residencial",
    "clase": "Urbano",
    "superficieConstruida": 308,
    "superficieParcela": 397,
    "anioConstruccion": 1980,
    "coefParticipacion": "100",
    "poligono": [ /* geometría de la parcela */ ],
    "availableFields": {
      "uso": true, "clase": true, "anioConstruccion": true,
      "superficieConstruida": true, "coefParticipacion": true,
      "direccion": true, "busquedaDireccion": true
    }
  },
  "searchesRemaining": 4
}

Errores posibles

CodeHTTPBeschreibung
VALIDATION_ERROR400La referencia no tiene un formato válido para el país.
NOT_FOUND404Referencia no encontrada. Un ?country no soportado se trata como España (ES) → normalmente NOT_FOUND; usa ES/PT/FR/IT/DE/PV/NA. En catastros forales (NA, PV) el message añade una pista de formato.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429Límite de búsquedas gratuitas por IP / día.
KEY_AUTH_004429Cuota mensual de la API key agotada (ver cabeceras X-RateLimit-*).
SERVICE_UNAVAILABLE503El servicio catastral oficial del país está caído o en mantenimiento. Reintentar.
POST/api/search/coordinates

Umgekehrte Geokodierung: Katasterflurstuck an GPS-Koordinaten finden.

Parameter

latitudenumberLatitude (WGS84)
longitudenumberLongitude (WGS84)
countrystringCountry code (default: ES)
curl -X POST -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"latitude": 40.4168, "longitude": -3.7038, "country": "ES"}' \
  "https://api.parcelgps.com/api/search/coordinates"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "referenciaCatastral": "9872023VH5797S0001WX",
    "refCat14": "9872023VH5797S",
    "direccion": "CL GRAN VIA 1",
    "municipio": "MADRID",
    "tipoInmueble": "",
    "coordenadas": { "latitud": 40.4168, "longitud": -3.7038 },
    "googleMapsUrl": "https://maps.google.com/?q=40.4168,-3.7038"
  },
  "searchesRemaining": 3
}

Errores posibles

CodeHTTPBeschreibung
VALIDATION_ERROR400Coordenadas fuera de los límites del país indicado/detectado, o lat/lng ausentes o mal formadas.
NOT_FOUND404No hay ninguna parcela en esas coordenadas.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429Límite de búsquedas gratuitas por IP / día.
SERVICE_UNAVAILABLE503Servicio catastral no disponible temporalmente.
POST/api/search/address/parse

Katasterflurstuck per Postadresse suchen.

Parameter

direccionstringFree-text address (Spain only). Recommended format: "Calle, Número, Municipio" — e.g. "Calle Mallorca, 213, Barcelona". The house number may also be attached to the street ("Gran Vía 1, Madrid").
curl -X POST -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"direccion": "Gran Via 1, Madrid"}' \
  "https://api.parcelgps.com/api/search/address/parse"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "referenciaCatastral": "0847106VK4704F",
    "refCat14": "0847106VK4704F",
    "direccion": "CL GRAN VIA, 1, Madrid",
    "tipoVia": "CL",
    "nombreVia": "GRAN VIA",
    "numero": 1,
    "municipio": "Madrid",
    "provincia": "MADRID"
  },
  "searchesRemaining": -1
}

Errores posibles

CodeHTTPBeschreibung
VALIDATION_ERROR400Cuerpo de la petición inválido (faltan campos o JSON mal formado).
NOT_FOUND404Dirección no encontrada (calle/municipio/número inexistente o sin correspondencia catastral). La búsqueda por dirección está disponible solo en España.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429Límite de búsquedas gratuitas por IP / día.

País Vasco (PV)

Cadastros forales — Araba/Álava, Bizkaia y Gipuzkoa (WFS INSPIRE)

GET/api/catastro/:refcat?country=PV

Consulta de parcela en los tres territorios forales. Requiere country=PV: sus parcelas tienen catastro propio y no están en el Catastro central.

Parameter

:refcatstringReferencia foral. Bizkaia con puntos (48.020.1611.02001); Álava y Gipuzkoa en dígitos (64010007, 8594149).
countrystringObligatorio: "PV".
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/48.020.1611.02001?country=PV"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "refCatastral": "48.020.1611.02001",
    "pais": "PV",
    "municipio": "Bizkaia",
    "provincia": "Bizkaia",
    "latitud": 43.263633,
    "longitud": -2.935856,
    "superficieParcela": 3061,
    "googleMapsUrl": "https://www.google.com/maps?q=43.263633,-2.935856",
    "poligono": [ /* geometría de la parcela */ ]
  }
}

Con country=ES (incorrecto)

404
{
  "success": false,
  "error": "Parcela no encontrado: 48.020.1611.02001",
  "code": "NOT_FOUND"
}

Portugal (PT)

Portuguese Cadastre — Direcao-Geral do Territorio

GET/api/catastro/:refcat?country=PT

Portugiesische Flurstückdaten per Katasterreferenz abrufen.

Parameter

:refcatstringPortuguese cadastral reference (e.g. AAA000587359). Coverage is partial (~30%); areas like Lisbon and Porto are not yet digitized by the DGT.
countrystringMust be "PT"
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/AAA000587359?country=PT"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "refCatastral": "AAA000587359",
    "pais": "PT",
    "municipio": "TAVIRA, Tavira (Santa Maria e Santiago)",
    "latitud": 37.127156,
    "longitud": -7.648066,
    "superficieParcela": 49,
    "googleMapsUrl": "https://www.google.com/maps?q=37.127156,-7.648066",
    "poligono": [ /* geometría de la parcela */ ]
  }
}

France (FR)

French Cadastre — Cadastre / Geoplateforme

GET/api/catastro/:refcat?country=FR

Französische Flurstückdaten per Katasterreferenz abrufen.

Parameter

:refcatstringFrench cadastral reference (e.g. 75104000AE0003)
countrystringMust be "FR"
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/75104000AE0003?country=FR"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "refCatastral": "75104000AE0003",
    "pais": "FR",
    "municipio": "Paris",
    "provincia": "75",
    "latitud": 48.856347,
    "longitud": 2.352415,
    "superficieParcela": 15168,
    "googleMapsUrl": "https://www.google.com/maps?q=48.856347,2.352415",
    "poligono": [ /* geometría de la parcela */ ]
  }
}

Italy (IT)

Italian Cadastre — Agenzia delle Entrate

GET/api/catastro/:refcat?country=IT

Italienische Flurstückdaten per Katasterreferenz abrufen.

Parameter

:refcatstringItalian cadastral reference (foglio/particella, e.g. H501A048100.A)
countrystringMust be "IT"
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/H501A048100.A?country=IT"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "refCatastral": "H501A048100.A",
    "pais": "IT",
    "municipio": "H501",
    "provincia": "H501",
    "latitud": 41.902698,
    "longitud": 12.496247,
    "superficieParcela": 1059,
    "googleMapsUrl": "https://www.google.com/maps?q=41.902698,12.496247",
    "poligono": [ /* geometría de la parcela */ ]
  }
}

Germany (DE)

German Cadastre — ALKIS (8 Bundesländer)

GET/api/catastro/:refcat?country=DE

Deutsche Flurstückdaten per Katasterreferenz abrufen.

Parameter

:refcatstringGerman cadastral reference (Flurstückskennzeichen)
countrystringMust be "DE"
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/05495803101122?country=DE"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "refCatastral": "05495803101122",
    "pais": "DE",
    "latitud": 50.937566,
    "longitud": 6.960140,
    "superficieParcela": 54,
    "googleMapsUrl": "https://www.google.com/maps?q=50.937566,6.960140",
    "poligono": [ /* geometría de la parcela */ ]
  }
}

Austria (AT)

Österreichisches Kataster — BEV (Katastralgemeinde / Grundstück)

GET/api/catastro/:refcat?country=AT

Consulta de parcela en Austria. Requiere country=AT. La referencia es KATASTRALGEMEINDE-GRUNDSTÜCK. Cobertura parcial, en expansión.

Parameter

:refcatstringFormato Katastralgemeinde-Grundstück (p. ej. 01004-1711).
countrystringObligatorio: "AT".
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/01004-1711?country=AT"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "refCatastral": "01004-1711",
    "pais": "AT",
    "municipio": "Innere Stadt",
    "provincia": "Wien",
    "latitud": 48.208478,
    "longitud": 16.372810,
    "uso": "Gebäude, Straßenverkehrsanlagen",
    "superficieParcela": 10641,
    "googleMapsUrl": "https://www.google.com/maps?q=48.208478,16.372810",
    "poligono": [ /* geometría de la parcela */ ]
  }
}

Con country=ES (incorrecto)

400
{
  "success": false,
  "error": "La referencia catastral debe tener al menos 14 caracteres",
  "code": "VALIDATION_ERROR"
}

Parcel intelligence & exports

Geometry, solar potential, agricultural data and file exports (KML/GPX/PDF/DXF), available with your API key. Market data and the investment score stay in the web app and app (Pro) and are not exposed via the API.

GET/api/catastro/:refcat/polygon

GeoJSON-Polygon eines Flurstucks abrufen.

Parameter

:refcatstringCadastral reference
countrystringCountry code (query param, default: ES)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/9872023VH5797S/polygon"

Antwortbeispiel

200 OK
{
  "data": {
    "refcat": "9872023VH5797S",
    "geojson": {
      "type": "Feature",
      "geometry": {
        "type": "Polygon",
        "coordinates": [ [ [-3.463391, 38.640317], [-3.463174, 38.640217], /* ... */ ] ]
      }
    }
  }
}

Cuota mensual agotada

429
{
  "success": false,
  "error": "Cuota mensual agotada (5000/5000). Upgrade en https://catastrogps.es/developers",
  "code": "KEY_AUTH_004"
}
GET/api/catastro/:refcat/solar

Solarpotenzial-Daten (PVGIS) eines europäischen Flurstucks abrufen.

Parameter

:refcatstringCadastral reference
countrystringCountry code (query param, default: ES)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/9872023VH5797S/solar"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "kwh_year": 23749.9,
    "kw_instalables": 17.86,
    "ahorro_anual_eur": 3562.49,
    "amortizacion_anos": 5,
    "co2_evitado_kg": 5533.73,
    "irradiacion_media": 1807.08,
    "nota_solar": 5,
    "orientacion_optima": "Sur",
    "angulo_inclinacion": 34,
    "costo_instalacion_eur": 17865,
    "disponible": true,
    "estado": "ok",
    "fuente": "PVGIS (JRC)",
    "economics": {
      "autoconsumo_kwh_ano": 5000,
      "excedentes_kwh_ano": 18749.9,
      "ingreso_neto_anual_eur": 1473.18,
      "payback_anos": 12.13,
      "tir_pct": 6.56,
      "retorno_total_25_anos_eur": 18964.5
    }
  }
}

Parcela sin datos solares

200
{
  "success": true,
  "data": { "disponible": false, "estado": "sin_datos" }
}
GET/api/catastro/:refcat/agro

Agricultural land data for a parcel (SIGPAC): main crop, land use, slope, altitude and area. Rural parcels only — urban parcels return "cultivo_principal": "urbano".

Parameter

:refcatstringCadastral reference
countrystringCountry code (query param, default: ES)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/23058A00700036/agro"

Antwortbeispiel

200 OK
{
  "success": true,
  "data": {
    "agro": {
      "cultivo_principal": "olivar",
      "uso_suelo": "Asociación olivar - viñedo",
      "superficie_ha": 10.6045,
      "coef_regadio": 1,
      "ndvi": {
        "valor_medio": 0.18,
        "salud_cultivo": "bajo",
        "ultima_actualizacion": "2026-06-18T00:00:00Z"
      },
      "precios_mercado": {
        "precio_kg": 8.5,
        "tendencia": "+12.5% vs periodo anterior"
      },
      "recinto": {
        "provincia": 23,
        "municipio": 58,
        "poligono": 7,
        "parcela": 36,
        "recinto": 1,
        "altitud": 559,
        "pendiente_media": 12.3
      }
    }
  }
}

Cuota mensual agotada

429
{
  "success": false,
  "error": "Cuota mensual agotada (5000/5000). Upgrade en https://catastrogps.es/developers",
  "code": "KEY_AUTH_004"
}
GET/api/export/kml?refcat=:refcat

Flurstückdaten im KML-Format exportieren (Google Earth).

Parameter

refcatstringCadastral reference
countrystringCountry code (default: ES)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/export/kml?refcat=9872023VH5797S" -o parcel.kml

Antwortbeispiel

200 OK
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <Placemark>
      <name>9872023VH5797S</name>
      ...
    </Placemark>
  </Document>
</kml>
GET/api/export/gpx?refcat=:refcat

Flurstückdaten im GPX-Format exportieren (GPS-Navigationsgerate).

Parameter

refcatstringCadastral reference
countrystringCountry code (default: ES)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/export/gpx?refcat=9872023VH5797S" -o parcel.gpx

Antwortbeispiel

200 OK
<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.1">
  <wpt lat="40.4168" lon="-3.7038">
    <name>9872023VH5797S</name>
  </wpt>
</gpx>