Idealista & Fotocasa Catastro Enrichment — Official m² avatar

Idealista & Fotocasa Catastro Enrichment — Official m²

Pricing

from $30.00 / 1,000 property enricheds

Go to Apify Store
Idealista & Fotocasa Catastro Enrichment — Official m²

Idealista & Fotocasa Catastro Enrichment — Official m²

Paste the dataset of your Idealista or Fotocasa scraper and get the official Catastro record for every listing: real m², use, year, cadastral reference — and advertised vs official m². Also works with plain addresses or cadastral references.

Pricing

from $30.00 / 1,000 property enricheds

Rating

0.0

(0)

Developer

RodimuxAI

RodimuxAI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Spain Land & Property Cadastral Enrichment

Listings say what the seller wants. The Cadastre says what is there.

Give this Actor a Spanish address — or the dataset of your Idealista or Fotocasa scraper run — and it returns the official record from Spain's Cadastre: real surface in m², official use, year, existing constructions, and the cadastral reference.

That reference is the point. It's the legal identity of the plot, the one you take to the Land Registry. Without it, a listing is just a claim.

Idealista + Catastro in two steps

  1. Run any Idealista scraper — igolaizola/idealista-scraper, memo23/idealista-scraper — or a Fotocasa, Habitaclia or Milanuncios one.
  2. Paste that run's dataset ID into sourceDatasetId here. Nothing else.

Address, town, map pin, price and size are read from each listing, and every listing comes back with its official record next to it:

{
"input": "Calle de Jaime I, 33, Zaragoza",
"listingUrl": "https://www.idealista.com/inmueble/…/",
"listingPrice": 245000,
"listingSizeM2": 90,
"cadastralReference": "6737502XM7163F0029HW",
"parcelReference": "6737502XM7163F",
"surfaceM2": 76,
"use": "Residencial",
"yearBuilt": 1960,
"address": "CL JAIME I (DON) 33 Es:2 Pl:06 Pt:IZ 50003 ZARAGOZA (ZARAGOZA)",
"matchMethod": "address_building",
"propertiesAtAddress": 14,
"status": "found"
}

When the address points at exactly one property — a house, a plot, a commercial unit — you also get the comparison buyers actually want:

FieldMeaning
plotSurfaceM2Land area of the whole parcel, from the official cadastral map — every record has it, and for plots it's the number that matters
sizeDifferenceM2 / sizeDifferencePctAdvertised m² minus official m² — built area for homes, plot area for land. Listings routinely include terraces and common areas
pricePerOfficialM2Asking price over the official surface, not the advertised one

In a building with many flats the Actor doesn't pretend to know which flat is yours, so sizeComparable is false there.

Hidden addresses. Many Idealista listings hide the street number. Those are matched by the listing's map pin to the nearest parcel, marked matchMethod: "coordinates" with coordinatesDistanceM and a matchNote — never passed off as an exact match. Turn useCoordinates off to get address matches only.

You can also call it by API with the listing objects themselves in addresses, no dataset needed.

Who this is for

  • Land scouts and developers sourcing plots: check the surface a listing claims, before you drive out to see it.
  • Real-estate agencies and portals: verify and normalize a whole portfolio at once.
  • Valuation, lending and insurance: official surface, use and age, at scale.
  • Anyone running a Spanish property scraper: this is the layer that turns listings into verified records.

Three ways in — the third is the point

  1. Addresses as written in a listing: Calle Alfonso I, 1, 50003 Zaragoza. Street type, name, number, postcode and town are parsed for you.
  2. Cadastral references (14 or 20 characters) — exact, no parsing involved.
  3. sourceDatasetId of another Actor. Run any Idealista / Fotocasa / Milanuncios scraper, paste that run's dataset ID, and addresses are read straight from it. No CSV export, no copying columns.

Land mode: one record per parcel

A street number returns every property in the building — one per flat. With parcelLevel on (the default) you get the parcel once, which is what matters for land, and you're charged once. Turn it off when you want every individual unit.

It asks the Cadastre how it spells things

Spanish addresses don't match the Cadastre's own spelling, and that's the single biggest source of failure. Before looking anything up, this Actor resolves the street against the official street index:

A listing writesThe Cadastre stores
Calle Mariano LagascaCL LAGASCA, MARIANO — surname first
Calle Gran Vía (Zaragoza)PS GRAN VIA (RAMON Y CAJAL) — it's a paseo, not a street

That normalization alone took the hit rate from 55% to 68%.

Hit rate, measured — not promised

68% on 20 real listing-style addresses across Zaragoza, Madrid and Valencia (30 July 2026). Exact cadastral references resolve essentially always — the loss is all in address matching.

The remaining failures are almost entirely "street exists, that number doesn't". The Actor reports that instead of guessing. It will never snap to a nearby street number: a different number is a different building. The only fallback is the listing's own map pin (when the input has coordinates), and those records say so in matchMethod.

You only pay for records actually delivered. Addresses that don't resolve cost you nothing.

Input

FieldDefaultWhat it does
addresses—Spanish addresses, as written in listings
cadastralReferences—Cadastral references (14 or 20 chars)
sourceDatasetId—Dataset ID of an Idealista / Fotocasa / any real-estate scraper run
sourceDatasetFieldautoField holding the address (autodetected)
province / municipality—Force them when addresses omit the town
parcelLeveltrueOne record per parcel instead of per unit
useCoordinatestrueFall back to the listing's map pin when the address can't be matched
maxItems200Cap per run

Pricing

EventWhen you're charged
Property enrichedOnly when the Cadastre returns an actual record

Limits, up front

  • No ownership data. Owner names are protected under Spanish law and this service does not serve them. What you get is the unprotected cadastral data: surface, use, situation, constructions. If you need to know who owns it, this Actor is not what you want.
  • No buildability. The Cadastre states the current use, not what the municipal plan allows you to build. That's the number a land scout most wants, it lives in scattered municipal planning documents, and it is not in here.
  • Rural parcels follow a different query branch and are less reliable than urban ones in this version.
  • The Cadastre's service is a free public API. This Actor caches by reference, keeps concurrency low and backs off — please don't hammer it.

Source

Official data from the Sede Electrónica del Catastro (Spanish Ministry of Finance), servicio de consulta libre — the public, unauthenticated endpoint for unprotected cadastral data. Reuse of Spanish public-sector information is governed by Ley 37/2007.