API-documentatie

Volledige referentie van de kadaster-API

Basis-URL

https://api.parcelgps.com

OpenAPI 3.1 specification

Every endpoint on this page in machine-readable form, for Postman, Insomnia or client generators:

https://api.parcelgps.com/api/openapi.json

Units pages and address searches carry an ETag: with If-None-Match the answer is 304 with no body and costs no quota.

apartmentGuide: import a homeowners' association in 3 calls

Landcodes

De endpoints accepteren ?country=XX. Het is optioneel: zonder deze parameter detecteert de API het land aan de vorm van de referentie, uit 21 landen. Een dubbelzinnige referentie geeft 300 CNV_AMBIGUOUS met de kandidaten terug; een land dat we nog niet dekken 422 CNV_COVERAGE; iets dat op een plaatsnaam lijkt 422 CNV_PLACE_NAME met het gegeocodeerde punt. Het Spaanse vasteland gebruikt ES, maar Baskenland en Navarra hebben hun eigen (forale) kadasters en hebben een eigen code nodig: met ES worden hun percelen niet gevonden.

ES · SpanjePV · BaskenlandNA · NavarraPT · PortugalFR · FrankrijkIT · ItaliëDE · DuitslandAT · OostenrijkPL · PolenNL · NederlandCZ · TsjechiëFI · FinlandBE · BelgiëEE · EstlandSI · SloveniëLT · LitouwenLU · LuxemburgSK · SlowakijeBG · BulgarijeCY · CyprusIS · IJslandLI · LiechtensteinCH · Zwitserland

Referentie van de endpoints

MethodeEndpointAuthBeschrijving
GET/api/resolve?q=TEXTAPI KeyClassificeert elke invoer: referentie (en land), coördinaten of plaatsnaam. Telt niet mee voor het verbruik.
GET/api/search/address/candidates?q=TEXT&country=XXAPI KeyAdres → perceel met gerangschikte kandidaten: Spanje en 25 andere Europese landen
GET/api/catastro/:refcatAPI KeyPerceel opzoeken
GET/api/catastro/:refcat14/unitsAPI KeyAlle eenheden van een perceel (woningen, bedrijfsruimten, garages) — Spanje
GET/api/catastro/:refcat/polygon?country=XXAPI KeyPerceelgeometrie (GeoJSON)
GET/api/catastro/:refcat/terrain?country=XXAPI KeyReliëf (hoogte, helling, oriëntatie) en Natura 2000 / beschermde gebieden van het perceel
GET/api/catastro/:refcat/ground-motion?country=XXAPI KeyBodembeweging (daling of stijging in mm/jaar, 2020-2024) gemeten per satelliet
GET/api/catastro/:refcat/solar?country=XXAPI KeyZonnepotentieel
GET/api/catastro/:refcat/agro?country=XXAPI KeyGegevens over landbouwgrond
GET/api/export/kml?refcat=X&country=XAPI KeyExporteren naar KML/GPX/PDF/DXF
GET/api/catastro/:refcat/market?country=XXWeb en appMarktgegevens (niet via API)
GET/api/catastro/:refcat/score?country=XXWeb en appInvesteringsscore (niet via API)

Betrouwbaarheid

Wat we vanuit onze eigen infrastructuur leveren en wat afhangt van een overheidsinstantie. Lees dit voordat je naar productie gaat.

EndpointWaar de gegevens vandaan komen
/catastro/:refcat (ES)Onze eigen kopie van het kadaster (50,9 mln. percelen). Hangt niet af van het Catastro om te antwoorden.
/polygon · /search/address · /search/coordinatesCatastro (overheidsinstantie). Kan zonder waarschuwing uitvallen.
/agroSIGPAC
/solarPVGIS

Fouten en herhalingen

Een 503 betekent dat een officiële bron op dit moment niet antwoordt: probeer opnieuw met backoff en het lost zichzelf op. Een 429 is je quotum, en opnieuw proberen geeft dat niet terug — wacht op de reset of stap over op een hoger abonnement. Een 404 is een referentie die niet bestaat en moet niet opnieuw worden geprobeerd.

Statuspagina

We publiceren de status van onze API en van de negen kadastrale bronnen waarvan we afhankelijk zijn, elke vijf minuten gecontroleerd en buiten deze API gehost zodat ze tijdens een storing betrouwbaar blijft: catastrogps.es/status.

Authenticatie

Alle API-verzoeken vereisen een API-sleutel in de header X-API-Key.

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

Vraag je gratis API-sleutel aan in je ontwikkelaarsdashboard.

Foutcodes

StatusCodeBeschrijving
200—OK — Het verzoek is succesvol voltooid.
400VALIDATION_ERRORBad Request — Ongeldige parameters of een kadastrale referentie met een verkeerd formaat.
401UNAUTHORIZEDUnauthorized — Ongeldige, verlopen of ontbrekende API-sleutel.
404NOT_FOUNDNot Found — Er is geen perceel gevonden voor de opgegeven referentie of coördinaten. Telt niet mee voor je quotum.
429KEY_AUTH_004Quota Exceeded — Het maandquotum van je abonnement is op. De headers X-Quota-Remaining en X-Quota-Reset tonen wat er nog over is en wanneer het wordt gereset.
429RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHEDToo Many Requests — KEY_RATE_002: je bent over de burstlimiet per minuut van je sleutel gegaan (Free 10, Developer 60, Startup 120, Growth 300). RATE_LIMIT_EXCEEDED: te veel verzoeken vanaf hetzelfde IP. Beide bevatten X-RateLimit-* en Retry-After. DAILY_LIMIT_REACHED: daglimiet voor gratis zoekopdrachten zonder API-sleutel.
500INTERNAL_ERRORInternal Server Error — Fout aan onze kant. Neem contact op met support als het aanhoudt.
503SERVICE_UNAVAILABLEService Unavailable — De externe kadasterdienst van het gevraagde land is tijdelijk onbereikbaar. Deze diensten worden beheerd door overheidsinstanties (Catastro, DGT, Géoportail, Agenzia Entrate, ALKIS...) en vallen buiten onze controle. Probeer het over een paar minuten opnieuw.

Quotum- en rate-limit-headers

Er zijn twee families headers en ze meten verschillende dingen. X-Quota-* is het maandquotum van je abonnement: het quotum dat opraakt met KEY_AUTH_004.

HeaderBeschrijving
X-Quota-LimitAanroepen per maand inbegrepen in je abonnement (bijv. 5000).
X-Quota-RemainingResterende aanroepen deze maand.
X-Quota-ResetResetdatum van het maandquotum (ISO 8601, UTC).
X-Quota-TierNaam van het huidige niveau (free, basic, pro, business).

X-RateLimit-* is de burstlimiet per minuut van je sleutel, afhankelijk van het abonnement: Free 10, Developer 60, Startup 120 en Growth 300 verzoeken per 60 seconden. Het staat los van het maandquotum.

HeaderBeschrijving
X-RateLimit-LimitToegestane verzoeken per minuut met je sleutel (afhankelijk van je abonnement).
X-RateLimit-RemainingResterende verzoeken in de huidige minuut.
X-RateLimit-ResetSeconden tot het venster van een minuut wordt gereset.

Handleidingen per toepassing

Vier echte taken uitgevoerd met API-aanroepen. Bij elke stap staat de aanroep in cURL, met de JavaScript-SDK en met de Python-SDK, en het echte antwoord dat productie teruggaf.

Vastgoed controleren voordat u koopt

Van het adres in de advertentie naar wat het kadaster zegt en wat de satelliet ziet: welke finca het is, wat erin zit, of het in een beschermd gebied ligt en of de grond beweegt. Elke stap gebruikt een ander perceel om een geval met gegevens te tonen; in uw eigen proces is het van begin tot eind dezelfde referentie.

Landen: ES

1. Van het adres naar de finca

Een adres in vrije tekst levert kandidaten op, gerangschikt op betrouwbaarheid (0 tot 1), met de referentie van 14 tekens, het gebruik, het aantal woningen en het bouwjaar. Vanaf 0,75 komen huisnummer en gemeente overeen. Het kost alleen 1 eenheid als er kandidaten zijn.

curl -G "https://api.parcelgps.com/api/search/address/candidates" \
  --data-urlencode "q=Avenida José Rodríguez de la Borbolla Camoyán 10, Dos Hermanas" \
  --data-urlencode "limit=3" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Echt antwoord

{
  "success": true,
  "data": {
    "consulta": {
      "texto": "Avenida José Rodríguez de la Borbolla Camoyán 10, Dos Hermanas",
      "calle": "Avenida José Rodríguez de la Borbolla Camoyán",
      "numero": 10,
      "municipio": "Dos Hermanas"
    },
    "candidatos": [
      {
        "refCatastral": "0745901TG4304N",
        "pais": "ES",
        "direccion": "AVENIDA JOSE RGUEZ BORBOLLA CAMOY 10",
        "numero": 10,
        "codigoPostal": "41704",
        "municipio": "Dos Hermanas",
        "provincia": "Sevilla",
        "latitud": 37.31947088654626,
        "longitud": -5.926788955974699,
        "confianza": 0.93,
        "coincideNumero": true,
        "coincideMunicipio": true,
        "enCopia": true,
        "direccionCatastro": "AV JOSE RGUEZ BORBOLLA CAMOY 10",
        "uso": "Residencial",
        "viviendas": 346,
        "anioConstruccion": 2023
      },
      {
        "refCatastral": "0747201TG4304N",
        "pais": "ES",
        "direccion": "BULEVAR JOSE RODRIGUEZ DE LA BORBOLLA CAMOYAN 11",
        "numero": 11,
        "confianza": 0.55,
        "coincideNumero": false,
        "coincideMunicipio": true,
        "enCopia": true
      }
    ],
    "attribution": "CartoCiudad (Instituto Geográfico Nacional) y Dirección General del Catastro"
  }
}

2. Wat erin zit: woningen, bedrijfsruimten en bijbehorende ruimten

Met de referentie van 14 tekens krijgt u alle eenheden van de finca met gebruik, oppervlakte, verdieping, deur en breukdeel. Zo controleert u of de oppervlakte en het gebruik in de advertentie overeenkomen met het kadaster. Het kost 1 eenheid per geleverde eenheid.

curl "https://api.parcelgps.com/api/catastro/0745901TG4304N/units" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Echt antwoord

HTTP/2 200
etag: "5ab6bd3d95f85dddba81818bcb0cb65e"
cache-control: private, max-age=21600
x-quota-remaining: 2893

{
  "success": true,
  "data": {
    "refCatastral": "0745901TG4304N",
    "direccion": "AV JOSE RGUEZ BORBOLLA CAMOY 10",
    "codigoPostal": "41704",
    "municipio": "DOS HERMANAS",
    "provincia": "Sevilla",
    "usoGeneral": "Residencial",
    "superficieTotal": 32789,
    "anioConstruccion": 2023,
    "totalUnidades": 200,
    "totalUnidadesFinca": 365,
    "unidades": [
      {
        "refCatastral": "0745901TG4304N0002KH",
        "escalera": "",
        "planta": "01",
        "puerta": "B",
        "uso": "Residencial",
        "superficie": 155,
        "descripcion": "Planta 01, Pta. B - Residencial",
        "participacion": 0.279543,
        "anio": 2023,
        "direccion": "AV JOSE RGUEZ BORBOLLA CAMOY 10 Pl:01 Pt:B"
      },
      {
        "refCatastral": "0745901TG4304N0003LJ",
        "escalera": "",
        "planta": "01",
        "puerta": "C",
        "uso": "Residencial",
        "superficie": 163,
        "descripcion": "Planta 01, Pta. C - Residencial",
        "participacion": 0.293879,
        "anio": 2023,
        "direccion": "AV JOSE RGUEZ BORBOLLA CAMOY 10 Pl:01 Pt:C"
      }
    ],
    "truncated": true,
    "nextCursor": "0745901TG4304N0201MZ",
    "dataSource": "clone",
    "dataDate": "2026-01-23",
    "attribution": "Dirección General del Catastro"
  },
  "searchesRemaining": -1
}

3. Beschermde gebieden: Natura 2000 en parken

Voordat u grond in het buitengebied koopt, is het goed om te weten of die in een beschermd gebied ligt: dat beperkt wat er gebouwd of geplant mag worden. /terrain legt de contour van het perceel over Natura 2000 en de nationale beschermde gebieden (CDDA) en geeft aan welk deel van het perceel erbinnen valt. Echt voorbeeld: een perceel dat volledig binnen het Nationaal Park Monfragüe ligt.

curl "https://api.parcelgps.com/api/catastro/10194A00110004/terrain?country=ES" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Echt antwoord, ingekort

{
  "success": true,
  "data": {
    "refcat": "10194A00110004",
    "country": "ES",
    "protected_areas": {
      "status": "ok",
      "intersects": true,
      "inside": true,
      "max_overlap_pct": 100,
      "natura2000": [
        {
          "code": "ES0000014",
          "name": "Monfragüe y las Dehesas del Entorno",
          "type": "SPA",
          "country": "ES",
          "overlap_pct": 100
        },
        {
          "code": "ES4320077",
          "name": "Monfragüe",
          "type": "SCI",
          "country": "ES",
          "overlap_pct": 100
        }
      ],
      "national": [
        {
          "code": "4820",
          "name": "Monfragüe",
          "designation": "National Park",
          "country": "ES",
          "overlap_pct": 100
        }
      ],
      "method": "parcel",
      "sources": [
        {
          "name": "Natura 2000",
          "license": "CC BY 4.0",
          "edition": "end 2024"
        },
        {
          "name": "Nationally designated areas (CDDA)",
          "license": "CC BY 4.0",
          "edition": "2025"
        }
      ]
    }
  }
}

4. Of de grond daalt

/ground-motion geeft de verticale snelheid van de bodem op het perceel, gemeten door de Sentinel-1-radar (Copernicus EGMS, 2020-2024). Echt voorbeeld: een perceel in Murcia dat 40,9 mm per jaar daalt, klasse severe_subsidence. Als de satelliet geen reflectoren heeft (open akkers, bos, water), antwoordt hij met status no_data in plaats van te gokken.

curl "https://api.parcelgps.com/api/catastro/30024A16000286/ground-motion?country=ES" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Echt antwoord

{
  "success": true,
  "data": {
    "refcat": "30024A16000286",
    "country": "ES",
    "status": "ok",
    "period": { "from": "2020-01", "to": "2024-12", "label": "2020-2024" },
    "ground_motion": {
      "class": "severe_subsidence",
      "worst_class": "severe_subsidence",
      "vertical": {
        "mean_mm_year": -40.9, "max_subsidence_mm_year": -40.9, "max_uplift_mm_year": 0,
        "std_mm_year": 0.1, "acceleration_mm_year2": -0.7, "rmse_mm": 2.3
      },
      "east_west": { "mean_mm_year": -5.1, "std_mm_year": 0.1 },
      "yearly_displacement": [
        { "year": 2020, "mm": -17.9 }, { "year": 2021, "mm": -57.2 }, { "year": 2022, "mm": -95.8 },
        { "year": 2023, "mm": -141.8 }, { "year": 2024, "mm": -179.8 }
      ],
      "cells_with_data": 1, "cells_considered": 1, "coverage_pct": 100,
      "basis": "parcel", "cell_size_m": 100
    },
    "source": {
      "name": "European Ground Motion Service (EGMS) L3 Ortho",
      "license": "Copernicus data policy (Regulation (EU) No 1159/2013): free, commercial use allowed with attribution",
      "attribution": "Contains modified Copernicus Land Monitoring Service information, European Ground Motion Service 2020-2024 (© European Union, Copernicus Land Monitoring Service, EEA)",
      "resolution": "100 m"
    },
    "calculated_at": "2026-10-01T06:14:34Z",
    "provenance": "1"
  }
}

De portefeuille van een vastgoedbeheerder

Importeer elke finca die u beheert met de bijbehorende eenheden en controleer ze elke maand opnieuw zonder twee keer te betalen voor wat niet is veranderd.

Landen: ES

1. Eerste import

Loop uw lijst met referenties van 14 tekens door. Elke pagina bevat maximaal 200 eenheden en een nextCursor; de SDK's volgen de cursor voor u. Sla de ETag van elke pagina op bij de finca. Het quotum dat u nog over hebt, staat in de header X-Quota-Remaining en in lastQuota van de SDK.

curl -i "https://api.parcelgps.com/api/catastro/0745901TG4304N/units" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

curl -i "https://api.parcelgps.com/api/catastro/0745901TG4304N/units?cursor=0745901TG4304N0201MZ" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Echt antwoord

HTTP/2 200
etag: "5ab6bd3d95f85dddba81818bcb0cb65e"
cache-control: private, max-age=21600
x-quota-remaining: 2893

{
  "success": true,
  "data": {
    "refCatastral": "0745901TG4304N",
    "direccion": "AV JOSE RGUEZ BORBOLLA CAMOY 10",
    "codigoPostal": "41704",
    "municipio": "DOS HERMANAS",
    "provincia": "Sevilla",
    "usoGeneral": "Residencial",
    "superficieTotal": 32789,
    "anioConstruccion": 2023,
    "totalUnidades": 200,
    "totalUnidadesFinca": 365,
    "unidades": [
      {
        "refCatastral": "0745901TG4304N0002KH",
        "escalera": "",
        "planta": "01",
        "puerta": "B",
        "uso": "Residencial",
        "superficie": 155,
        "descripcion": "Planta 01, Pta. B - Residencial",
        "participacion": 0.279543,
        "anio": 2023,
        "direccion": "AV JOSE RGUEZ BORBOLLA CAMOY 10 Pl:01 Pt:B"
      },
      {
        "refCatastral": "0745901TG4304N0003LJ",
        "escalera": "",
        "planta": "01",
        "puerta": "C",
        "uso": "Residencial",
        "superficie": 163,
        "descripcion": "Planta 01, Pta. C - Residencial",
        "participacion": 0.293879,
        "anio": 2023,
        "direccion": "AV JOSE RGUEZ BORBOLLA CAMOY 10 Pl:01 Pt:C"
      }
    ],
    "truncated": true,
    "nextCursor": "0745901TG4304N0201MZ",
    "dataSource": "clone",
    "dataDate": "2026-01-23",
    "attribution": "Dirección General del Catastro"
  },
  "searchesRemaining": -1
}

2. Maandelijkse controle met ETag

Herhaal de aanroep met If-None-Match en de opgeslagen ETag. Als de finca niet is veranderd, is het antwoord 304 Not Modified en kost het niets. Met de SDK geeft u het vorige resultaat mee: changed geeft aan of er iets is gewijzigd. Houd u aan de limiet per minuut van uw plan (Free 10, Developer 60, Startup 120, Growth 300): de SDK's proberen een 429 zelf opnieuw.

curl -i "https://api.parcelgps.com/api/catastro/0745901TG4304N/units" \
  -H "X-API-Key: $CATASTROGPS_API_KEY" \
  -H 'If-None-Match: "5ab6bd3d95f85dddba81818bcb0cb65e"'

HTTP/2 304
x-quota-remaining: 2929
Volledige handleiding voor het importeren van een vereniging van eigenaars

Haalbaarheid van zonnepanelen op een perceel

Geschatte opbrengst via PVGIS, besparing, terugverdientijd en, voor panelen op de grond, de werkelijke helling en oriëntatie van het terrein. /solar dekt Spanje (inclusief Baskenland en Navarra), Portugal, Frankrijk, Italië en Duitsland; daarbuiten antwoordt het met 422 CNV_COVERAGE.

Landen: ESPVNAPTFRITDE

1. Opbrengst en economische analyse van de installatie

Het antwoord bevat het installeerbare vermogen in kWp, de kWh per jaar, de besparing, de terugverdientijd, de vermeden CO2 en een economics-blok met eigen verbruik, teruglevering, netto-inkomsten, terugverdientijd en IRR. Als er geen zonnegegevens zijn, antwoordt het met disponible false en kost het niets.

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

Echt antwoord

{
  "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
    }
  }
}

2. Helling en oriëntatie van het terrein

Voor een installatie op de grond geeft /terrain de gemiddelde en maximale helling met de bijbehorende klasse en de dominante oriëntatie over de werkelijke contour (Copernicus DEM GLO-30, 30 m). Echt voorbeeld: een zeer steile helling op het noorden, een slechte kandidaat voor panelen op de grond.

curl "https://api.parcelgps.com/api/catastro/10194A00110004/terrain?country=ES" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Echt antwoord, ingekort

{
  "success": true,
  "data": {
    "refcat": "10194A00110004",
    "country": "ES",
    "relief": {
      "status": "ok",
      "elevation_m": {
        "mean": 365.8,
        "min": 212.3,
        "max": 506.6
      },
      "slope": {
        "mean_pct": 36.5,
        "mean_deg": 20,
        "max_pct": 71.6,
        "class": "very_steep",
        "max_class": "very_steep",
        "share_over_10_pct": 98.4,
        "classes_pct": {
          "flat": 0.2,
          "gentle": 1.4,
          "moderate": 6.8,
          "steep": 20,
          "very_steep": 71.7
        }
      },
      "aspect": {
        "dominant": "N",
        "dominant_share_pct": 75.3,
        "mean_deg": 0,
        "flat_share_pct": 0.2,
        "sectors_pct": {
          "N": 75.3,
          "NE": 10.6,
          "E": 0.6,
          "SE": 0.1,
          "S": 0,
          "SW": 1,
          "W": 1.4,
          "NW": 10.8
        }
      },
      "sample": {
        "method": "parcel",
        "cells": 1448,
        "resolution_m": 31
      },
      "source": {
        "name": "Copernicus DEM GLO-30",
        "license": "Copernicus DEM licence (free, commercial use allowed)",
        "attribution": "© DLR e.V. 2010-2014 and © Airbus Defence and Space GmbH 2014-2018 provided under COPERNICUS by the European Union and ESA; all rights reserved"
      }
    }
  }
}

Perceelrisico voor een verzekeraar

Drie signalen per perceel uit open Europese bronnen: bodemdaling (EGMS), reliëf en beschermde gebieden (Copernicus DEM, EEA) en klimaat (ERA5-Land). Het werkt binnen de volledige dekking van EGMS (EEA-39), overal waar we de contour hebben; buiten Spanje, Portugal, Frankrijk, Italië en Duitsland geeft u ook lat en lng mee.

Landen: EEA-39

1. Bodemdaling en versnelling

class en worst_class vatten de beweging samen (stable, slow_subsidence, notable_subsidence, severe_subsidence en de equivalenten voor stijging). vertical bevat het gemiddelde, de snelste daling, de versnelling en de cumulatieve verplaatsing per jaar. Elk antwoord bevat de Copernicus-bronvermelding die u moet tonen.

curl "https://api.parcelgps.com/api/catastro/30024A16000286/ground-motion?country=ES" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Echt antwoord

{
  "success": true,
  "data": {
    "refcat": "30024A16000286",
    "country": "ES",
    "status": "ok",
    "period": { "from": "2020-01", "to": "2024-12", "label": "2020-2024" },
    "ground_motion": {
      "class": "severe_subsidence",
      "worst_class": "severe_subsidence",
      "vertical": {
        "mean_mm_year": -40.9, "max_subsidence_mm_year": -40.9, "max_uplift_mm_year": 0,
        "std_mm_year": 0.1, "acceleration_mm_year2": -0.7, "rmse_mm": 2.3
      },
      "east_west": { "mean_mm_year": -5.1, "std_mm_year": 0.1 },
      "yearly_displacement": [
        { "year": 2020, "mm": -17.9 }, { "year": 2021, "mm": -57.2 }, { "year": 2022, "mm": -95.8 },
        { "year": 2023, "mm": -141.8 }, { "year": 2024, "mm": -179.8 }
      ],
      "cells_with_data": 1, "cells_considered": 1, "coverage_pct": 100,
      "basis": "parcel", "cell_size_m": 100
    },
    "source": {
      "name": "European Ground Motion Service (EGMS) L3 Ortho",
      "license": "Copernicus data policy (Regulation (EU) No 1159/2013): free, commercial use allowed with attribution",
      "attribution": "Contains modified Copernicus Land Monitoring Service information, European Ground Motion Service 2020-2024 (© European Union, Copernicus Land Monitoring Service, EEA)",
      "resolution": "100 m"
    },
    "calculated_at": "2026-10-01T06:14:34Z",
    "provenance": "1"
  }
}

2. Reliëf, beschermde gebieden en klimaat

Dezelfde aanroep van /terrain levert het reliëf, de beschermde gebieden en het climate-blok met de klimaatnormalen van ERA5-Land: gemiddelde temperatuur, jaarlijkse neerslag, vorstdagen en dagen boven 35 graden over een referentieperiode, afgezet tegen recente jaren. Het ERA5-Land-raster wordt geladen: tot dat klaar is, antwoordt climate met status unavailable en komt de rest van het antwoord zoals gewoonlijk. Het voorbeeld gebruikt een Belgische referentie, die een schuine streep bevat en als %2F wordt gecodeerd.

curl "https://api.parcelgps.com/api/catastro/21802B1307%2F00B000/terrain?country=BE&lat=50.848139&lng=4.353613" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Het climate-blok terwijl het ERA5-Land-raster wordt geladen

"climate": {
  "status": "unavailable",
  "source": {
    "name": "ERA5-Land",
    "provider": "Copernicus Climate Change Service (C3S) / ECMWF",
    "license": "CC BY 4.0",
    "attribution": "Contains modified Copernicus Climate Change Service information; …",
    "url": "https://cds.climate.copernicus.eu/datasets/reanalysis-era5-land-monthly-means",
    "resolution": "0.1° (~9 km)"
  }
}

SDK's en MCP

Officiële clients voor JavaScript/TypeScript en Python, en een MCP-server waarmee een AI-assistent percelen kan opvragen met uw sleutel. Alle drie lezen de sleutel uit de omgevingsvariabele CATASTROGPS_API_KEY.

JavaScript en TypeScript (npm)

npm install catastrogps
import { CatastroGPS } from 'catastrogps'

const client = new CatastroGPS({ apiKey: process.env.CATASTROGPS_API_KEY })

const parcel = await client.parcels.get('9872023VH5797S0001WX')
const inWarsaw = await client.parcels.atPoint({ lat: 52.2297, lng: 21.0122 })
const terrain = await client.request('GET', '/api/catastro/10194A00110004/terrain', { query: { country: 'ES' } })
console.log(parcel.municipio, inWarsaw.referenciaCatastral, terrain.relief.slope.class, client.lastQuota)

Python (PyPI)

pip install catastrogps
from catastrogps import CatastroGPS

client = CatastroGPS()

parcel = client.parcels.get("9872023VH5797S0001WX")
in_warsaw = client.parcels.at_point(52.2297, 21.0122)
terrain = client.request("GET", "/api/catastro/10194A00110004/terrain", query={"country": "ES"})
print(parcel["municipio"], in_warsaw["referenciaCatastral"], terrain["relief"]["slope"]["class"], client.last_quota)

Gebruik voor een endpoint zonder eigen SDK-methode, zoals /terrain of /ground-motion, client.request: die ondertekent de aanroep, probeert 429- en 5xx-antwoorden opnieuw en werkt het quotum bij, net als elke andere methode.

De MCP-server koppelen aan een assistent

De server catastro-gps-mcp (npm) stelt de API beschikbaar als tools voor Claude, Cursor, VS Code en elke MCP-client. Elke toolaanroep is één API-aanroep die van uw quotum afgaat.

Claude Desktop: voeg dit toe aan claude_desktop_config.json en start de app opnieuw.

{
  "mcpServers": {
    "catastro-gps": {
      "command": "npx",
      "args": ["-y", "catastro-gps-mcp"],
      "env": { "CATASTROGPS_API_KEY": "pk_live_your_key_here" }
    }
  }
}

Claude Code: één opdracht in de terminal.

claude mcp add catastro-gps --env CATASTROGPS_API_KEY=pk_live_your_key_here -- npx -y catastro-gps-mcp

Cursor, Windsurf, VS Code en andere MCP-clients: dezelfde opdracht met CATASTROGPS_API_KEY in de omgeving.

npx -y catastro-gps-mcp

Tools

get_parcelsearch_addressget_boundariesget_solar_potentialget_terrainget_agricultureget_market_dataget_investment_scoreget_value_historycompare_parcels

Probeer te vragen

  • Find the cadastral parcel at Calle Mallorca 213, Barcelona, and give me its area and outline.
  • What is the parcel at 52.2297, 21.0122? What is its area?
  • Look up the Polish parcel 146510_8.0502.1/3 and tell me its area.

Spanje (ES)

Spaans kadaster — Dirección General del Catastro

GET/api/search/address/candidates

Geocodes a Spanish address with CartoCiudad (IGN) and returns the matching building entrances ranked by confidence, with their 14-character reference and, when they are in our copy, use, dwellings and year. Does not depend on the Catastro. Costs 1 quota unit.

Parameters

qstringFree-text address: street and number, municipality (and postcode if you have it).
street / number / municipality / postcode / limitstringOptional: street, number, municipality, postcode (override what is read from q) and limit (1-10, default 5).
curl -G "https://api.parcelgps.com/api/search/address/candidates" \
  --data-urlencode "q=Avenida José Rodríguez de la Borbolla Camoyán 10, Dos Hermanas" \
  --data-urlencode "limit=3" \
  -H "X-API-Key: $CATASTROGPS_API_KEY"

Voorbeeldantwoord

200 OK
{
  "success": true,
  "data": {
    "consulta": {
      "texto": "Avenida José Rodríguez de la Borbolla Camoyán 10, Dos Hermanas",
      "calle": "Avenida José Rodríguez de la Borbolla Camoyán",
      "numero": 10,
      "municipio": "Dos Hermanas"
    },
    "candidatos": [
      {
        "refCatastral": "0745901TG4304N",
        "pais": "ES",
        "direccion": "AVENIDA JOSE RGUEZ BORBOLLA CAMOY 10",
        "numero": 10,
        "codigoPostal": "41704",
        "municipio": "Dos Hermanas",
        "provincia": "Sevilla",
        "latitud": 37.31947088654626,
        "longitud": -5.926788955974699,
        "confianza": 0.93,
        "coincideNumero": true,
        "coincideMunicipio": true,
        "enCopia": true,
        "direccionCatastro": "AV JOSE RGUEZ BORBOLLA CAMOY 10",
        "uso": "Residencial",
        "viviendas": 346,
        "anioConstruccion": 2023
      },
      {
        "refCatastral": "0747201TG4304N",
        "pais": "ES",
        "direccion": "BULEVAR JOSE RODRIGUEZ DE LA BORBOLLA CAMOYAN 11",
        "numero": 11,
        "confianza": 0.55,
        "coincideNumero": false,
        "coincideMunicipio": true,
        "enCopia": true
      }
    ],
    "attribution": "CartoCiudad (Instituto Geográfico Nacional) y Dirección General del Catastro"
  }
}

Mogelijke fouten

CodeHTTPBeschrijving
VALIDATION_ERROR400De referentie heeft geen geldig formaat voor het land.
NOT_FOUND404No building entrance with a cadastral reference matches the address.
KEY_AUTH_004429Maandquotum van de API-sleutel op (zie de X-Quota-*-headers).
SERVICE_UNAVAILABLE503CartoCiudad is not answering. Retry after Retry-After.
GET/api/catastro/:refcat

Haal perceelgegevens op via kadastrale referentie (14 of 20 tekens).

Parameters

:refcatstringKadastrale referentie (bijv. 9872023VH5797S0001WX)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/9872023VH5797S0001WX"

Voorbeeldantwoord

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
}

Mogelijke fouten

CodeHTTPBeschrijving
VALIDATION_ERROR400De referentie heeft geen geldig formaat voor het land.
NOT_FOUND404Referentie niet gevonden. Een niet-ondersteunde ?country wordt behandeld als Spanje (ES) en geeft meestal NOT_FOUND terug; gebruik ES/PT/FR/IT/DE/PV/NA. Voor forale kadasters (NA, PV) voegt het veld message een formaattip toe.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429KEY_RATE_002: burstlimiet per minuut van je sleutel. RATE_LIMIT_EXCEEDED: te veel verzoeken vanaf hetzelfde IP. DAILY_LIMIT_REACHED: daglimiet voor gratis zoekopdrachten zonder API-sleutel.
KEY_AUTH_004429Maandquotum van de API-sleutel op (zie de X-Quota-*-headers).
SERVICE_UNAVAILABLE503De officiële kadasterdienst van het land is onbereikbaar of in onderhoud. Probeer het opnieuw.
GET/api/catastro/:refcat14/units

Alle eenheden van een Spaans perceel op basis van de referentie van 14 tekens, in één aanroep (tot 200 per pagina, met cursor). Elke eenheid bevat gebruik, oppervlakte, aandeel, bouwjaar en trap/verdieping/deur. Kost 1 quotumeenheid per teruggegeven eenheid (minimaal 1). Vereist een API-key of een ingelogde sessie. Bron: Dirección General del Catastro.

Parameters

:refcat14stringKadastrale referentie van 14 tekens van het perceel (bv. 0745901TG4304N)
cursorstringOptioneel. De nextCursor van de vorige pagina wanneer truncated true is.
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/0745901TG4304N/units"

Voorbeeldantwoord

200 OK
{
  "success": true,
  "data": {
    "refCatastral": "0745901TG4304N",
    "direccion": "AV JOSE RGUEZ BORBOLLA CAMOY 10",
    "codigoPostal": "41704",
    "municipio": "DOS HERMANAS",
    "provincia": "Sevilla",
    "usoGeneral": "Residencial",
    "superficieTotal": 32789,
    "anioConstruccion": 2023,
    "totalUnidades": 200,
    "totalUnidadesFinca": 365,
    "truncated": true,
    "nextCursor": "0745901TG4304N0201MZ",
    "dataSource": "clone",
    "dataDate": "2026-08-19",
    "attribution": "Dirección General del Catastro",
    "unidades": [
      {
        "refCatastral": "0745901TG4304N0002KH",
        "planta": "01",
        "puerta": "B",
        "uso": "Residencial",
        "superficie": 155,
        "participacion": 0.279543,
        "anio": 2023,
        "descripcion": "Planta 01, Pta. B - Residencial"
      }
    ]
  }
}

Mogelijke fouten

CodeHTTPBeschrijving
VALIDATION_ERROR400De cursor is geen referentie van 20 tekens van dat perceel.
UNAUTHORIZED / UNT_001401Geen organisatie-API-key en geen ingelogde sessie.
NOT_FOUND404Het perceel staat niet in onze kopie van het Catastro en niet in het Catastro.
CNV_COVERAGE422The finca is in the Basque Country or Navarra: their foral cadastre is not served per finca.
KEY_AUTH_004429Maandquotum van de API-sleutel op (zie de X-Quota-*-headers).
SERVICE_UNAVAILABLE503De officiële kadasterdienst van het land is onbereikbaar of in onderhoud. Probeer het opnieuw.
GET/api/catastro/:refcat/terrain

Reliëf berekend over het perceelpolygoon met Copernicus DEM GLO-30 (30 m): gemiddelde, minimale en maximale hoogte, gemiddelde en maximale helling met klasse en verdeling, aandeel oppervlak met helling > 10 % en overheersende oriëntatie. Plus de overlap met Natura 2000 (EEA, end 2024) en nationaal aangewezen gebieden (CDDA 2025): naam, code, type (SPA = Vogelrichtlijn, SCI = Habitatrichtlijn) en aandeel van het perceel binnen elk gebied. Elk blok vermeldt bron en licentie. status = ok, no_data (geen dekking) of unavailable (tijdelijke storing, opnieuw proberen). Zelfde perceel, zelfde quota-eenheid als de opvraging.

Parameters

:refcatstringKadastrale referentie
countrystringOptioneel. ES, PV, NA, PT, FR, IT, DE; wordt uit de referentie afgeleid als het ontbreekt.
lat, lngnumberAlleen voor de overige landen met eigen geometrie: geschatte positie van het perceel om de omtrek te vinden.
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/10194A00110004/terrain?country=ES"

Voorbeeldantwoord

200 OK
{
  "success": true,
  "data": {
    "refcat": "10194A00110004",
    "country": "ES",
    "relief": {
      "status": "ok",
      "elevation_m": { "mean": 365.8, "min": 212.3, "max": 506.6 },
      "slope": {
        "mean_pct": 36.5, "mean_deg": 20, "max_pct": 71.6,
        "class": "very_steep", "max_class": "very_steep", "share_over_10_pct": 98.4,
        "classes_pct": { "flat": 0.2, "gentle": 1.4, "moderate": 6.8, "steep": 20, "very_steep": 71.7 }
      },
      "aspect": {
        "dominant": "N", "dominant_share_pct": 75.3, "mean_deg": 0, "flat_share_pct": 0.2,
        "sectors_pct": { "N": 75.3, "NE": 10.6, "E": 0.6, "SE": 0.1, "S": 0, "SW": 1, "W": 1.4, "NW": 10.8 }
      },
      "sample": { "method": "parcel", "cells": 1448, "resolution_m": 31 },
      "source": { "name": "Copernicus DEM GLO-30", "license": "Copernicus DEM licence (free, commercial use allowed)", "attribution": "© DLR e.V. 2010-2014 and © Airbus Defence and Space GmbH 2014-2018 provided under COPERNICUS by the European Union and ESA; all rights reserved" }
    },
    "protected_areas": {
      "status": "ok",
      "intersects": true,
      "inside": true,
      "max_overlap_pct": 100,
      "natura2000": [
        { "code": "ES0000014", "name": "Monfragüe y las Dehesas del Entorno", "type": "SPA", "country": "ES", "overlap_pct": 100 },
        { "code": "ES4320077", "name": "Monfragüe", "type": "SCI", "country": "ES", "overlap_pct": 100 }
      ],
      "national": [
        { "code": "4820", "name": "Monfragüe", "designation": "National Park", "country": "ES", "overlap_pct": 100 }
      ],
      "method": "parcel",
      "sources": [
        { "name": "Natura 2000", "license": "CC BY 4.0", "edition": "end 2024" },
        { "name": "Nationally designated areas (CDDA)", "license": "CC BY 4.0", "edition": "2025" }
      ]
    },
    "calculated_at": "2026-09-30T19:45:02Z",
    "provenance": "3"
  }
}

Mogelijke fouten

CodeHTTPBeschrijving
UNAUTHORIZED401Geen organisatie-API-key en geen ingelogde sessie.
NOT_FOUND404Het perceel bestaat niet of er is buiten de zeven hoofdlanden geen omtrek op die positie.
KEY_AUTH_004429Maandquotum van de API-sleutel op (zie de X-Quota-*-headers).
TRN_040503De officiële kadasterdienst van het land is onbereikbaar of in onderhoud. Probeer het opnieuw.
GET/api/catastro/:refcat/ground-motion

Verticale en oost-westsnelheid van de bodem over het perceelpolygoon uit de European Ground Motion Service van Copernicus (EGMS L3 Ortho, Sentinel-1-radar, raster van 100 m, 2020-2024): gemiddelde, sterkste daling, sterkste stijging, klasse, cellen met gegevens en gemiddelde verplaatsing per jaar. Zonder reflectoren (akker, bos, water) is het antwoord status = no_data met reason = no_reflectors in plaats van een schatting. De hele EGMS-dekking (EEA-39). Met bron, licentie en de te tonen bronvermelding. Hetzelfde perceel, dezelfde quota-eenheid als de opvraging.

Parameters

:refcatstringKadastrale referentie
countrystringOptioneel. ES, PV, NA, PT, FR, IT, DE; wordt uit de referentie afgeleid als het ontbreekt.
lat, lngnumberAlleen voor de overige landen met eigen geometrie: geschatte positie van het perceel om de omtrek te vinden.
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/30024A16000286/ground-motion?country=ES"

Voorbeeldantwoord

200 OK
{
  "success": true,
  "data": {
    "refcat": "30024A16000286",
    "country": "ES",
    "status": "ok",
    "period": { "from": "2020-01", "to": "2024-12", "label": "2020-2024" },
    "ground_motion": {
      "class": "severe_subsidence",
      "worst_class": "severe_subsidence",
      "vertical": {
        "mean_mm_year": -40.9, "max_subsidence_mm_year": -40.9, "max_uplift_mm_year": 0,
        "std_mm_year": 0.1, "acceleration_mm_year2": -0.7, "rmse_mm": 2.3
      },
      "east_west": { "mean_mm_year": -5.1, "std_mm_year": 0.1 },
      "yearly_displacement": [
        { "year": 2020, "mm": -17.9 }, { "year": 2021, "mm": -57.2 }, { "year": 2022, "mm": -95.8 },
        { "year": 2023, "mm": -141.8 }, { "year": 2024, "mm": -179.8 }
      ],
      "cells_with_data": 1, "cells_considered": 1, "coverage_pct": 100,
      "basis": "parcel", "cell_size_m": 100
    },
    "source": {
      "name": "European Ground Motion Service (EGMS) L3 Ortho",
      "license": "Copernicus data policy (Regulation (EU) No 1159/2013): free, commercial use allowed with attribution",
      "attribution": "Contains modified Copernicus Land Monitoring Service information, European Ground Motion Service 2020-2024 (© European Union, Copernicus Land Monitoring Service, EEA)",
      "resolution": "100 m"
    },
    "calculated_at": "2026-10-01T06:14:34Z",
    "provenance": "1"
  }
}

Mogelijke fouten

CodeHTTPBeschrijving
UNAUTHORIZED401Geen organisatie-API-key en geen ingelogde sessie.
NOT_FOUND404Het perceel bestaat niet of er is buiten de zeven hoofdlanden geen omtrek op die positie.
KEY_AUTH_004429Maandquotum van de API-sleutel op (zie de X-Quota-*-headers).
GMV_040503De officiële kadasterdienst van het land is onbereikbaar of in onderhoud. Probeer het opnieuw.
POST/api/search/coordinates

Omgekeerde geocodering: vind het kadastrale perceel op bepaalde GPS-coördinaten.

Parameters

latitudenumberBreedtegraad (WGS84)
longitudenumberLengtegraad (WGS84)
countrystringLandcode (optioneel: wordt afgeleid uit de referentie)
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"

Voorbeeldantwoord

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
}

Mogelijke fouten

CodeHTTPBeschrijving
VALIDATION_ERROR400Coördinaten buiten de grenzen van het opgegeven of gedetecteerde land, of lat/lng ontbreekt of is onjuist opgemaakt.
NOT_FOUND404Er is geen perceel op die coördinaten.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429KEY_RATE_002: burstlimiet per minuut van je sleutel. RATE_LIMIT_EXCEEDED: te veel verzoeken vanaf hetzelfde IP. DAILY_LIMIT_REACHED: daglimiet voor gratis zoekopdrachten zonder API-sleutel.
SERVICE_UNAVAILABLE503Kadasterdienst tijdelijk niet beschikbaar.
POST/api/search/address/parse

Zoek een kadastraal perceel op postadres.

Parameters

direccionstringAdres als vrije tekst (alleen Spanje). Aanbevolen formaat: «Calle, Número, Municipio» — bijv. «Calle Mallorca, 213, Barcelona». Het huisnummer mag ook direct achter de straat staan («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"

Voorbeeldantwoord

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
}

Mogelijke fouten

CodeHTTPBeschrijving
VALIDATION_ERROR400Ongeldige request body (ontbrekende velden of onjuiste JSON).
NOT_FOUND404Adres niet gevonden (straat, gemeente of nummer bestaat niet, of heeft geen kadastrale match). Zoeken op adres is alleen beschikbaar in Spanje.
RATE_LIMIT_EXCEEDED / DAILY_LIMIT_REACHED429KEY_RATE_002: burstlimiet per minuut van je sleutel. RATE_LIMIT_EXCEEDED: te veel verzoeken vanaf hetzelfde IP. DAILY_LIMIT_REACHED: daglimiet voor gratis zoekopdrachten zonder API-sleutel.

Baskenland (PV)

Forale kadasters — Araba/Álava, Bizkaia en Gipuzkoa (INSPIRE WFS)

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

Perceel opzoeken in de drie forale gebieden. Vereist country=PV: deze percelen hebben een eigen kadaster en staan niet in het centrale Catastro.

Parameters

:refcatstringForale referentie. Bizkaia met punten (48.020.1611.02001); Álava en Gipuzkoa in cijfers (64010007, 8594149).
countrystringVerplicht: PV.
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/48.020.1611.02001?country=PV"

Voorbeeldantwoord

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 */ ]
  }
}

Met country=ES (onjuist)

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

Portugal (PT)

Portugees kadaster — Direção-Geral do Território

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

Haal gegevens van een Portugees perceel op via kadastrale referentie.

Parameters

:refcatstringPortugese kadastrale referentie (bijv. AAA000587359). De dekking is gedeeltelijk (~30%); gebieden als Lissabon en Porto zijn nog niet gedigitaliseerd door de DGT.
countrystringVerplicht: PT.
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/AAA000587359?country=PT"

Voorbeeldantwoord

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 */ ]
  }
}

Frankrijk (FR)

Frans kadaster — Cadastre / Géoplateforme

GET/api/search/address/candidates?country=FR

Zet een Frans adres om in het kadastrale perceel (IDU van 14 tekens) eronder: geocodeert met de Base Adresse Nationale en bevraagt het officiële kadaster op dat punt. Kandidaten gerangschikt op betrouwbaarheid (0 tot 1). Kost alleen 1 quota-eenheid als er kandidaten terugkomen.

Parameters

qstringFree-text address: street and number, municipality (and postcode if you have it).
countrystringVerplicht: FR.
street / number / municipality / postcode / limitstringOptional: street, number, municipality, postcode (override what is read from q) and limit (1-10, default 5).
curl -G -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/search/address/candidates" \
  --data-urlencode "q=8 boulevard du Port, Amiens" -d country=FR

Voorbeeldantwoord

200 OK
{
  "success": true,
  "data": {
    "consulta": { "texto": "8 boulevard du Port, Amiens", "calle": "boulevard du Port", "numero": 8, "municipio": "Amiens" },
    "candidatos": [
      {
        "refCatastral": "80021000VA0065",
        "pais": "FR",
        "direccion": "8 Boulevard du Port 80000 Amiens",
        "numero": 8,
        "codigoPostal": "80000",
        "municipio": "Amiens",
        "provincia": "Somme",
        "latitud": 49.897442,
        "longitud": 2.290084,
        "confianza": 0.99,
        "coincideNumero": true,
        "coincideMunicipio": true,
        "enCopia": false
      }
    ],
    "attribution": "Base Adresse Nationale (data.gouv.fr); Plan cadastral (DGFiP, Géoplateforme IGN)"
  }
}

Mogelijke fouten

CodeHTTPBeschrijving
VALIDATION_ERROR400De referentie heeft geen geldig formaat voor het land.
NOT_FOUND404No building entrance with a cadastral reference matches the address.
CNV_COVERAGE422Het land heeft geen adreszoeken (SE, HR of een land zonder dekking)
KEY_AUTH_004429Maandquotum van de API-sleutel op (zie de X-Quota-*-headers).
SERVICE_UNAVAILABLE503CartoCiudad is not answering. Retry after Retry-After.
GET/api/catastro/:refcat?country=FR

Haal gegevens van een Frans perceel op via kadastrale referentie.

Parameters

:refcatstringFranse kadastrale referentie (bijv. 75104000AE0003)
countrystringVerplicht: FR.
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/75104000AE0003?country=FR"

Voorbeeldantwoord

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 */ ]
  }
}

Italië (IT)

Italiaans kadaster — Agenzia delle Entrate

GET/api/search/address/candidates?country=IT

Zet een Italiaans adres om in de kadastrale particella eronder: geocodeert met OpenStreetMap (Photon, met Nominatim als reserve) en bevraagt de Agenzia delle Entrate op dat punt. Geeft nooit straten of water terug (STRADA, ACQUA): valt het punt op de straat, dan wordt het dichtstbijzijnde perceel genomen. Kost alleen 1 quota-eenheid als er kandidaten terugkomen.

Parameters

qstringFree-text address: street and number, municipality (and postcode if you have it).
countrystringVerplicht: IT.
street / number / municipality / postcode / limitstringOptional: street, number, municipality, postcode (override what is read from q) and limit (1-10, default 5).
curl -G -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/search/address/candidates" \
  --data-urlencode "q=Via Toledo 256, Napoli" -d country=IT

Voorbeeldantwoord

200 OK
{
  "success": true,
  "data": {
    "consulta": { "texto": "Via Toledo 256, Napoli", "calle": "Via Toledo", "numero": 256, "municipio": "Napoli" },
    "candidatos": [
      {
        "refCatastral": "F839_019800.166",
        "pais": "IT",
        "direccion": "Via Toledo 256, 80132 Napoli",
        "numero": 256,
        "codigoPostal": "80132",
        "municipio": "Napoli",
        "provincia": "Napoli",
        "latitud": 40.8386034,
        "longitud": 14.248223,
        "confianza": 1,
        "coincideNumero": true,
        "coincideMunicipio": true,
        "enCopia": false
      }
    ],
    "attribution": "OpenStreetMap contributors (ODbL); Agenzia delle Entrate, cartografia catastale (CC BY 4.0)"
  }
}

Mogelijke fouten

CodeHTTPBeschrijving
VALIDATION_ERROR400De referentie heeft geen geldig formaat voor het land.
NOT_FOUND404No building entrance with a cadastral reference matches the address.
CNV_COVERAGE422Het land heeft geen adreszoeken (SE, HR of een land zonder dekking)
KEY_AUTH_004429Maandquotum van de API-sleutel op (zie de X-Quota-*-headers).
SERVICE_UNAVAILABLE503CartoCiudad is not answering. Retry after Retry-After.
GET/api/catastro/:refcat?country=IT

Haal gegevens van een Italiaans perceel op via kadastrale referentie.

Parameters

:refcatstringItaliaanse kadastrale referentie (foglio/particella, bijv. H501A048100.A)
countrystringVerplicht: IT.
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/H501A048100.A?country=IT"

Voorbeeldantwoord

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 */ ]
  }
}

Duitsland (DE)

Duits kadaster — ALKIS (8 Bundesländer)

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

Haal gegevens van een Duits perceel op via kadastrale referentie.

Parameters

:refcatstringDuitse kadastrale referentie (Flurstückskennzeichen)
countrystringVerplicht: DE.
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/05495803101122?country=DE"

Voorbeeldantwoord

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 */ ]
  }
}

Oostenrijk (AT)

Oostenrijks kadaster — BEV (Katastralgemeinde / Grundstück)

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

Perceel opzoeken in Oostenrijk. Vereist country=AT. De referentie is KATASTRALGEMEINDE-GRUNDSTÜCK. Gedeeltelijke dekking, wordt uitgebreid.

Parameters

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

Voorbeeldantwoord

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 */ ]
  }
}

Met country=ES (onjuist)

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

Rest van Europa (adres)

Adreszoeken werkt in 26 landen op dezelfde manier: in Nederland, Zwitserland, Polen, Tsjechië, Estland, Denemarken en Vlaanderen met het officiële adressenregister, elders met OpenStreetMap. Het perceel komt altijd uit het officiële kadaster van elk land. Zweden en Kroatië hebben het niet.

GET/api/search/address/candidates?country=NL

Zet een Europees adres om in het kadastrale perceel eronder: geocodeert met het nationale adressenregister (PDOK in Nederland) of OpenStreetMap en bevraagt op dat punt het officiële kadaster van het land. Kandidaten gerangschikt op zekerheid (0 tot 1). Kost alleen 1 quota-eenheid als er kandidaten terugkomen.

Parameters

qstringFree-text address: street and number, municipality (and postcode if you have it).
countrystringVerplicht: NL.
street / number / municipality / postcode / limitstringOptional: street, number, municipality, postcode (override what is read from q) and limit (1-10, default 5).
curl -G -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/search/address/candidates" \
  --data-urlencode "q=Damrak 1, 1012 LG Amsterdam" -d country=NL

Voorbeeldantwoord

200 OK
{
  "success": true,
  "data": {
    "consulta": { "texto": "Damrak 1, 1012 LG Amsterdam", "calle": "Damrak", "numero": 1, "municipio": "Amsterdam", "codigoPostal": "1012 LG" },
    "candidatos": [
      {
        "refCatastral": "ASD04-F-3937",
        "pais": "NL",
        "direccion": "Damrak 1, 1012LG Amsterdam",
        "numero": 1,
        "codigoPostal": "1012LG",
        "municipio": "Amsterdam",
        "provincia": "Noord-Holland",
        "latitud": 52.37714446,
        "longitud": 4.89803846,
        "confianza": 1,
        "coincideNumero": true,
        "coincideMunicipio": true,
        "enCopia": false
      }
    ],
    "attribution": "PDOK Locatieserver (Kadaster, BAG); Kadaster, Basisregistratie Kadaster (PDOK, CC BY 4.0)"
  }
}

Mogelijke fouten

CodeHTTPBeschrijving
VALIDATION_ERROR400De referentie heeft geen geldig formaat voor het land.
NOT_FOUND404No building entrance with a cadastral reference matches the address.
CNV_COVERAGE422Het land heeft geen adreszoeken (SE, HR of een land zonder dekking)
KEY_AUTH_004429Maandquotum van de API-sleutel op (zie de X-Quota-*-headers).
SERVICE_UNAVAILABLE503CartoCiudad is not answering. Retry after Retry-After.

Perceelanalyse en exports

Geometrie, zonnepotentieel, landbouwgegevens en bestandsexports (KML/GPX/PDF/DXF), beschikbaar met je API-sleutel. Marktgegevens en de investeringsscore blijven in de web- en mobiele app (Pro) en worden niet via de API aangeboden.

GET/api/catastro/:refcat/polygon

Haal de GeoJSON-polygoon van een perceel op.

Parameters

:refcatstringKadastrale referentie
countrystringLandcode (queryparameter, standaard: ES)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/9872023VH5797S/polygon"

Voorbeeldantwoord

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

Maandquotum opgebruikt

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

Haal gegevens over zonnepotentieel (PVGIS) op voor elk Europees perceel.

Parameters

:refcatstringKadastrale referentie
countrystringLandcode (queryparameter, standaard: ES)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/9872023VH5797S/solar"

Voorbeeldantwoord

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
    }
  }
}

Perceel zonder zonnegegevens

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

Gegevens over landbouwgrond van een perceel (SIGPAC): hoofdteelt, grondgebruik, helling, hoogte en oppervlakte. Alleen landelijke percelen — stedelijke percelen geven "cultivo_principal": "urbano" terug.

Parameters

:refcatstringKadastrale referentie
countrystringLandcode (queryparameter, standaard: ES)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/catastro/23058A00700036/agro"

Voorbeeldantwoord

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
      }
    }
  }
}

Maandquotum opgebruikt

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

Exporteer perceelgegevens in KML-formaat (Google Earth).

Parameters

refcatstringKadastrale referentie
countrystringLandcode (optioneel: wordt afgeleid uit de referentie)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/export/kml?refcat=9872023VH5797S" -o parcel.kml

Voorbeeldantwoord

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

Exporteer perceelgegevens in GPX-formaat (GPS-navigatie).

Parameters

refcatstringKadastrale referentie
countrystringLandcode (optioneel: wordt afgeleid uit de referentie)
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://api.parcelgps.com/api/export/gpx?refcat=9872023VH5797S" -o parcel.gpx

Voorbeeldantwoord

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>

Wijzigingslogboek

Wat er deze week in de API is uitgebracht, met het wijzigingsnummer in de repository. Antwoorden blijven compatibel: geen enkel bestaand veld krijgt een andere naam.

  • Van adres naar perceel in 26 Europese landen met /api/search/address/candidates?country=XX: het officiële adresregister waar dat bestaat (Nederland, Zwitserland, Polen, Tsjechië, Estland, Denemarken, Vlaanderen) en elders OpenStreetMap, met maximaal 10 seconden per punt. Wijzigingen: #93, #94
  • Nieuw endpoint /api/catastro/:refcat/ground-motion: verticale en oost-westsnelheid van de bodem uit Copernicus EGMS 2020-2024 binnen de volledige dekking, inclusief de opnieuw gepubliceerde tegels van Nederland, België en de Pyreneeën. Wijzigingen: #80, #91
  • Het climate-blok in /terrain met de klimaatnormalen van ERA5-Land. Het raster wordt geladen: tot dat klaar is, antwoordt het met status unavailable. Wijzigingen: #78
  • Buiten Spanje: availableFields geeft aan wat elk antwoord bevat, lege antwoorden kosten niets, /solar /agro /score antwoorden met 422 CNV_COVERAGE waar geen gegevens zijn, dubbelzinnige cijferreeksen antwoorden met 300 CNV_AMBIGUOUS, de referentie komt volledig terug en België geeft breedte- en lengtegraad in de juiste volgorde terug. Wijzigingen: #76
  • Met een API-sleutel zijn foutteksten in het Engels; het veld code verandert niet. Wijzigingen: #77
  • Van adres naar perceel in Frankrijk (Base Adresse Nationale) en Italië; Duitsland en Oostenrijk via coördinaten met oppervlakte en contour; Cyprus in minder dan een seconde; /terrain en /ground-motion vinden de contour in de rest van Europa. Wijzigingen: #83, #84, #85, #86
  • POST /api/search/coordinates routeert elk land op dezelfde manier als de GET. Wijzigingen: #79
  • /terrain en /ground-motion decoderen referenties met een schuine streep (België, Tsjechië, Polen): het veld refcat komt niet langer terug als %2F. Wijzigingen: #95

  • Nieuw endpoint /api/catastro/:refcat/terrain: reliëf over de contour (Copernicus DEM GLO-30) en overlap met Natura 2000 en nationale beschermde gebieden (CDDA), zonder gebieden te herhalen die in beide lijsten staan. Wijzigingen: #67, #69, #70
  • Nieuw endpoint /api/catastro/:refcat14/units: alle eenheden van een Spaanse finca, 200 per pagina met een cursor, tegen 1 quotumeenheid per geleverde eenheid en nooit meer dan u nog over hebt; Baskenland en Navarra antwoorden met 422 CNV_COVERAGE. Wijzigingen: #53, #55, #73, #74, #75
  • Van adres naar finca in Spanje met kandidaten uit CartoCiudad, ETag en gratis 304 bij herimport, en de OpenAPI 3.1-specificatie op /api/openapi.json. Wijzigingen: #72
  • Headers X-Quota-Limit, X-Quota-Remaining, X-Quota-Reset en X-Quota-Tier met het maandelijkse quotum, en een limiet per minuut per sleutel, afhankelijk van het plan. Wijzigingen: #52, #58