API-Dokumentation

Vollständige Kataster-API-Referenz

Basis-URL

https://api.parcelgps.com

Ländercodes

Die Endpunkte akzeptieren ?country=XX. Optional: ohne ihn erkennt die API das Land an der Form der Referenz, in 21 Ländern. Eine mehrdeutige Referenz liefert 300 CNV_AMBIGUOUS mit den Kandidaten; ein noch nicht abgedecktes Land 422 CNV_COVERAGE; etwas, das wie ein Ortsname aussieht, 422 CNV_PLACE_NAME mit dem geokodierten Punkt. Das spanische Festland nutzt ES, aber das Baskenland und Navarra führen ein eigenes (forales) Kataster und verlangen ihren eigenen Code: mit ES werden ihre Flurstücke nicht gefunden.

ES · SpanienPV · BaskenlandNA · NavarraPT · PortugalFR · FrankreichIT · ItalienDE · DeutschlandAT · ÖsterreichPL · PolandNL · NetherlandsCZ · CzechiaFI · FinlandBE · BelgiumEE · EstoniaSI · SloveniaLT · LithuaniaLU · LuxembourgSK · SlovakiaBG · BulgariaCY · countries.CYIS · countries.ISLI · countries.LICH · Switzerland

Endpoint-Referenz

MethodeEndpointAuthBeschreibung
GET/api/resolve?q=TEXTAPI KeyOrdnet jede Eingabe ein: Referenz (und Land), Koordinaten oder Ortsname. Ohne Kontingent.
GET/api/catastro/:refcatAPI KeyFlurstückabfrage
GET/api/catastro/:refcat/polygon?country=XXAPI KeyFlurstückgeometrie (GeoJSON)
GET/api/catastro/:refcat/solar?country=XXAPI KeySolarpotenzial
GET/api/catastro/:refcat/agro?country=XXAPI KeyLandwirtschaftliche Flächendaten
GET/api/export/kml?refcat=X&country=XAPI KeyKML/GPX/PDF/DXF exportieren
GET/api/catastro/:refcat/market?country=XXWeb und AppMarktdaten (nicht über die API)
GET/api/catastro/:refcat/score?country=XXWeb und AppInvestment-Score (nicht über die 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 — Die Anfrage wurde erfolgreich abgeschlossen.
400VALIDATION_ERRORBad Request — Ungültige Parameter oder Katasterreferenz mit falschem Format.
401UNAUTHORIZEDUnauthorized — API-Key ungültig, abgelaufen oder nicht übermittelt.
404NOT_FOUNDNot Found — Kein Flurstück zur angegebenen Referenz oder zu den Koordinaten gefunden.
429KEY_AUTH_004Quota Exceeded — Sie haben das Monatslimit Ihres Tarifs erreicht. Die Header X-RateLimit-Remaining und X-RateLimit-Reset zeigen, wann es zurückgesetzt wird.
429RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHEDToo Many Requests — Limit kostenloser Suchen pro IP und Tag (kostenlose Stufe). Mit API-Key gilt stattdessen das Monatskontingent des Tarifs (oben).
500INTERNAL_ERRORInternal Server Error — Fehler auf unserer Seite. Wenn er bestehen bleibt, wenden Sie sich an den Support.
503SERVICE_UNAVAILABLEService Unavailable — Der externe Katasterdienst des angefragten Landes ist vorübergehend nicht verfügbar. Diese Dienste werden von Behörden betrieben (Catastro, DGT, Géoportail, Agenzia Entrate, ALKIS...) und liegen außerhalb unserer Kontrolle. Versuchen Sie es in einigen Minuten erneut.

Rate-Limit-Header

Jede Antwort enthält Header, die den Stand Ihres Kontingents angeben:

HeaderBeschreibung
X-RateLimit-LimitGesamtes Monatslimit Ihres Tarifs (z. B. 5000).
X-RateLimit-RemainingVerbleibende Aufrufe in diesem Monat.
X-RateLimit-ResetDatum des Kontingent-Resets (ISO 8601).
X-Quota-TierName der aktuellen Stufe (free, basic, pro, business).

Spanien (ES)

Spanisches Kataster — Dirección General del Catastro

GET/api/catastro/:refcat

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

Parameter

:refcatstringKatasterreferenz (z. B. 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
}

Mögliche Fehler

CodeHTTPBeschreibung
VALIDATION_ERROR400Die Referenz hat kein gültiges Format für das Land.
NOT_FOUND404Referenz nicht gefunden. Ein nicht unterstütztes ?country wird als Spanien (ES) behandelt und liefert meist NOT_FOUND; verwenden Sie ES/PT/FR/IT/DE/PV/NA. Bei foralen Katastern (NA, PV) ergänzt das Feld message einen Formathinweis.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429Limit kostenloser Suchen pro IP und Tag.
KEY_AUTH_004429Monatskontingent des API-Keys aufgebraucht (siehe Header X-RateLimit-*).
SERVICE_UNAVAILABLE503Der offizielle Katasterdienst des Landes ist ausgefallen oder in Wartung. Erneut versuchen.
POST/api/search/coordinates

Umgekehrte Geokodierung: Katasterflurstück an GPS-Koordinaten finden.

Parameter

latitudenumberBreitengrad (WGS84)
longitudenumberLängengrad (WGS84)
countrystringLändercode (optional: wird aus der Referenz erkannt)
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
}

Mögliche Fehler

CodeHTTPBeschreibung
VALIDATION_ERROR400Koordinaten außerhalb der Grenzen des angegebenen oder erkannten Landes, oder lat/lng fehlen oder sind fehlerhaft.
NOT_FOUND404An diesen Koordinaten gibt es kein Flurstück.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429Limit kostenloser Suchen pro IP und Tag.
SERVICE_UNAVAILABLE503Katasterdienst vorübergehend nicht verfügbar.
POST/api/search/address/parse

Katasterflurstück per Postadresse suchen.

Parameter

direccionstringAdresse als Freitext (nur Spanien). Empfohlenes Format: «Calle, Número, Municipio» — z. B. «Calle Mallorca, 213, Barcelona». Die Hausnummer kann auch direkt an der Straße stehen («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
}

Mögliche Fehler

CodeHTTPBeschreibung
VALIDATION_ERROR400Ungültiger Request-Body (fehlende Felder oder fehlerhaftes JSON).
NOT_FOUND404Adresse nicht gefunden (Straße, Gemeinde oder Hausnummer existiert nicht oder hat keine Katasterentsprechung). Die Adresssuche ist nur in Spanien verfügbar.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429Limit kostenloser Suchen pro IP und Tag.

Baskenland (PV)

Forale Kataster — Araba/Álava, Bizkaia und Gipuzkoa (INSPIRE-WFS)

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

Flurstückabfrage in den drei foralen Gebieten. Erfordert country=PV: Ihre Flurstücke haben ein eigenes Kataster und stehen nicht im zentralen Catastro.

Parameter

:refcatstringForale Referenz. Bizkaia mit Punkten (48.020.1611.02001); Álava und Gipuzkoa in Ziffern (64010007, 8594149).
countrystringErforderlich: 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 */ ]
  }
}

Mit country=ES (falsch)

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

Portugal (PT)

Portugiesisches Kataster — Direção-Geral do Território

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

Portugiesische Flurstückdaten per Katasterreferenz abrufen.

Parameter

:refcatstringPortugiesische Katasterreferenz (z. B. AAA000587359). Die Abdeckung ist teilweise (~30 %); Gebiete wie Lissabon und Porto sind von der DGT noch nicht digitalisiert.
countrystringErforderlich: 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 */ ]
  }
}

Frankreich (FR)

Französisches Kataster — Cadastre / Géoplateforme

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

Französische Flurstückdaten per Katasterreferenz abrufen.

Parameter

:refcatstringFranzösische Katasterreferenz (z. B. 75104000AE0003)
countrystringErforderlich: 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 */ ]
  }
}

Italien (IT)

Italienisches Kataster — Agenzia delle Entrate

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

Italienische Flurstückdaten per Katasterreferenz abrufen.

Parameter

:refcatstringItalienische Katasterreferenz (foglio/particella, z. B. H501A048100.A)
countrystringErforderlich: 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 */ ]
  }
}

Deutschland (DE)

Deutsches Kataster — ALKIS (8 Bundesländer)

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

Deutsche Flurstückdaten per Katasterreferenz abrufen.

Parameter

:refcatstringDeutsche Katasterreferenz (Flurstückskennzeichen)
countrystringErforderlich: 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 */ ]
  }
}

Österreich (AT)

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

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

Flurstückabfrage in Österreich. Erfordert country=AT. Die Referenz ist KATASTRALGEMEINDE-GRUNDSTÜCK. Teilweise Abdeckung, wird ausgebaut.

Parameter

:refcatstringFormat Katastralgemeinde-Grundstück (z. B. 01004-1711).
countrystringErforderlich: 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 */ ]
  }
}

Mit country=ES (falsch)

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

Flurstück-Intelligence und Exporte

Geometrie, Solarpotenzial, landwirtschaftliche Daten und Datei-Exporte (KML/GPX/PDF/DXF), verfügbar mit Ihrem API-Key. Marktdaten und der Investment-Score bleiben im Web und in der App (Pro) und werden nicht über die API bereitgestellt.

GET/api/catastro/:refcat/polygon

GeoJSON-Polygon eines Flurstücks abrufen.

Parameter

:refcatstringKatasterreferenz
countrystringLändercode (Query-Parameter, Standard: 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], /* ... */ ] ]
      }
    }
  }
}

Monatskontingent aufgebraucht

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 Flurstücks abrufen.

Parameter

:refcatstringKatasterreferenz
countrystringLändercode (Query-Parameter, Standard: 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
    }
  }
}

Flurstück ohne Solardaten

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

Landwirtschaftliche Flächendaten eines Flurstücks (SIGPAC): Hauptkultur, Bodennutzung, Hangneigung, Höhe und Fläche. Nur ländliche Flurstücke — städtische liefern "cultivo_principal": "urbano".

Parameter

:refcatstringKatasterreferenz
countrystringLändercode (Query-Parameter, Standard: 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
      }
    }
  }
}

Monatskontingent aufgebraucht

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

refcatstringKatasterreferenz
countrystringLändercode (optional: wird aus der Referenz erkannt)
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-Navigationsgeräte).

Parameter

refcatstringKatasterreferenz
countrystringLändercode (optional: wird aus der Referenz erkannt)
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>