API-Dokumentation
Vollständige Kataster-API-Referenz
Basis-URL
https://api.parcelgps.comLä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.
Endpoint-Referenz
| Methode | Endpoint | Auth | Beschreibung |
|---|---|---|---|
| GET | /api/resolve?q=TEXT | API Key | Ordnet jede Eingabe ein: Referenz (und Land), Koordinaten oder Ortsname. Ohne Kontingent. |
| GET | /api/catastro/:refcat | API Key | Flurstückabfrage |
| GET | /api/catastro/:refcat/polygon?country=XX | API Key | Flurstückgeometrie (GeoJSON) |
| GET | /api/catastro/:refcat/solar?country=XX | API Key | Solarpotenzial |
| GET | /api/catastro/:refcat/agro?country=XX | API Key | Landwirtschaftliche Flächendaten |
| GET | /api/export/kml?refcat=X&country=X | API Key | KML/GPX/PDF/DXF exportieren |
| GET | /api/catastro/:refcat/market?country=XX | Web und App | Marktdaten (nicht über die API) |
| GET | /api/catastro/:refcat/score?country=XX | Web und App | Investment-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.
| Endpoint | Woher die Daten kommen |
|---|---|
| /catastro/:refcat (ES) | Eigene Kopie des Katasters (50,9 Mio. Flurstücke). Antwortet ohne das Catastro. |
| /polygon · /search/address · /search/coordinates | Catastro (Behörde). Kann ohne Vorwarnung ausfallen. |
| /agro | SIGPAC |
| /solar | PVGIS |
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
| Status | Code | Beschreibung |
|---|---|---|
| 200 | — | OK — Die Anfrage wurde erfolgreich abgeschlossen. |
| 400 | VALIDATION_ERROR | Bad Request — Ungültige Parameter oder Katasterreferenz mit falschem Format. |
| 401 | UNAUTHORIZED | Unauthorized — API-Key ungültig, abgelaufen oder nicht übermittelt. |
| 404 | NOT_FOUND | Not Found — Kein Flurstück zur angegebenen Referenz oder zu den Koordinaten gefunden. |
| 429 | KEY_AUTH_004 | Quota Exceeded — Sie haben das Monatslimit Ihres Tarifs erreicht. Die Header X-RateLimit-Remaining und X-RateLimit-Reset zeigen, wann es zurückgesetzt wird. |
| 429 | RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED | Too Many Requests — Limit kostenloser Suchen pro IP und Tag (kostenlose Stufe). Mit API-Key gilt stattdessen das Monatskontingent des Tarifs (oben). |
| 500 | INTERNAL_ERROR | Internal Server Error — Fehler auf unserer Seite. Wenn er bestehen bleibt, wenden Sie sich an den Support. |
| 503 | SERVICE_UNAVAILABLE | Service 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:
| Header | Beschreibung |
|---|---|
| X-RateLimit-Limit | Gesamtes Monatslimit Ihres Tarifs (z. B. 5000). |
| X-RateLimit-Remaining | Verbleibende Aufrufe in diesem Monat. |
| X-RateLimit-Reset | Datum des Kontingent-Resets (ISO 8601). |
| X-Quota-Tier | Name der aktuellen Stufe (free, basic, pro, business). |
Spanien (ES)
Spanisches Kataster — Dirección General del Catastro
/api/catastro/:refcatFlurstückdaten per Katasterreferenz abrufen (14 oder 20 Zeichen).
Parameter
| :refcat | string | Katasterreferenz (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
| Code | HTTP | Beschreibung |
|---|---|---|
| VALIDATION_ERROR | 400 | Die Referenz hat kein gültiges Format für das Land. |
| NOT_FOUND | 404 | Referenz 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_REACHED | 429 | Limit kostenloser Suchen pro IP und Tag. |
| KEY_AUTH_004 | 429 | Monatskontingent des API-Keys aufgebraucht (siehe Header X-RateLimit-*). |
| SERVICE_UNAVAILABLE | 503 | Der offizielle Katasterdienst des Landes ist ausgefallen oder in Wartung. Erneut versuchen. |
/api/search/coordinatesUmgekehrte Geokodierung: Katasterflurstück an GPS-Koordinaten finden.
Parameter
| latitude | number | Breitengrad (WGS84) |
| longitude | number | Längengrad (WGS84) |
| country | string | Lä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
| Code | HTTP | Beschreibung |
|---|---|---|
| VALIDATION_ERROR | 400 | Koordinaten außerhalb der Grenzen des angegebenen oder erkannten Landes, oder lat/lng fehlen oder sind fehlerhaft. |
| NOT_FOUND | 404 | An diesen Koordinaten gibt es kein Flurstück. |
| RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED | 429 | Limit kostenloser Suchen pro IP und Tag. |
| SERVICE_UNAVAILABLE | 503 | Katasterdienst vorübergehend nicht verfügbar. |
/api/search/address/parseKatasterflurstück per Postadresse suchen.
Parameter
| direccion | string | Adresse 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
| Code | HTTP | Beschreibung |
|---|---|---|
| VALIDATION_ERROR | 400 | Ungültiger Request-Body (fehlende Felder oder fehlerhaftes JSON). |
| NOT_FOUND | 404 | Adresse 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_REACHED | 429 | Limit kostenloser Suchen pro IP und Tag. |
Baskenland (PV)
Forale Kataster — Araba/Álava, Bizkaia und Gipuzkoa (INSPIRE-WFS)
/api/catastro/:refcat?country=PVFlurstückabfrage in den drei foralen Gebieten. Erfordert country=PV: Ihre Flurstücke haben ein eigenes Kataster und stehen nicht im zentralen Catastro.
Parameter
| :refcat | string | Forale Referenz. Bizkaia mit Punkten (48.020.1611.02001); Álava und Gipuzkoa in Ziffern (64010007, 8594149). |
| country | string | Erforderlich: 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
/api/catastro/:refcat?country=PTPortugiesische Flurstückdaten per Katasterreferenz abrufen.
Parameter
| :refcat | string | Portugiesische Katasterreferenz (z. B. AAA000587359). Die Abdeckung ist teilweise (~30 %); Gebiete wie Lissabon und Porto sind von der DGT noch nicht digitalisiert. |
| country | string | Erforderlich: 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
/api/catastro/:refcat?country=FRFranzösische Flurstückdaten per Katasterreferenz abrufen.
Parameter
| :refcat | string | Französische Katasterreferenz (z. B. 75104000AE0003) |
| country | string | Erforderlich: 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
/api/catastro/:refcat?country=ITItalienische Flurstückdaten per Katasterreferenz abrufen.
Parameter
| :refcat | string | Italienische Katasterreferenz (foglio/particella, z. B. H501A048100.A) |
| country | string | Erforderlich: 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)
/api/catastro/:refcat?country=DEDeutsche Flurstückdaten per Katasterreferenz abrufen.
Parameter
| :refcat | string | Deutsche Katasterreferenz (Flurstückskennzeichen) |
| country | string | Erforderlich: 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)
/api/catastro/:refcat?country=ATFlurstückabfrage in Österreich. Erfordert country=AT. Die Referenz ist KATASTRALGEMEINDE-GRUNDSTÜCK. Teilweise Abdeckung, wird ausgebaut.
Parameter
| :refcat | string | Format Katastralgemeinde-Grundstück (z. B. 01004-1711). |
| country | string | Erforderlich: 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.
/api/catastro/:refcat/polygonGeoJSON-Polygon eines Flurstücks abrufen.
Parameter
| :refcat | string | Katasterreferenz |
| country | string | Lä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"
}/api/catastro/:refcat/solarSolarpotenzial-Daten (PVGIS) eines europäischen Flurstücks abrufen.
Parameter
| :refcat | string | Katasterreferenz |
| country | string | Lä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" }
}/api/catastro/:refcat/agroLandwirtschaftliche 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
| :refcat | string | Katasterreferenz |
| country | string | Lä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"
}/api/export/kml?refcat=:refcatFlurstückdaten im KML-Format exportieren (Google Earth).
Parameter
| refcat | string | Katasterreferenz |
| country | string | Lä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.kmlAntwortbeispiel
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>/api/export/gpx?refcat=:refcatFlurstückdaten im GPX-Format exportieren (GPS-Navigationsgeräte).
Parameter
| refcat | string | Katasterreferenz |
| country | string | Lä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.gpxAntwortbeispiel
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>