Platform
Get started

Casafari is the AI agent-native real estate data intelligence platform. The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries.The most complete property index in Europe: a deduplicated, cleaned property graph.

How the graph is built

Value and compare · Use case

How do I value a property in Spain from its cadastral reference?

To value a property in Spain from its cadastral reference, call comps_get-comparables (Comparables & Valuation on the Casafari MCP server) with location_boundary.circle.target_point.cadastral_reference set to country_code: ES and the reference. The tool centres the search on that property and returns comparables, statistics, registry records where they exist and estimated prices. This input is Spain only.

Products: Comparables & Valuation

Short answer

comps_get-comparables accepts location_boundary.circle.target_point.cadastral_reference, with country_code: ES and the cadastral_reference string, as the centre point of the search. The tool's schema says this input is, for now, available only for Spain; elsewhere you give coordinates or an address.

Steps

Set location_boundary.circle.target_point.cadastral_reference with country_code ES, cadastral_reference, and optionally province and municipality

  1. Call list_servers if this is your first use of Comparables & Valuation.
  2. Build the cadastral_reference object: country_code (the only accepted value is ES), cadastral_reference (required), and optionally province and municipality. Set location_boundary.circle.distance in kilometres (0.05 to 50, default 5).

Choose operation and comparables_types

  1. Set operation to sale or rent, comparables_count from 1 to 50, and comparables_types from one group, for example ["apartment"]. Add filters such as bedrooms, condition or characteristics if you want closer matches.

Omit total_area or plot_area: with a cadastral reference they are not required

  1. The schema requires total_area for hotel, industrial, office, other_commercial, restaurant, retail, warehouse and werkstatt, and plot_area for rural_plot and urban_plot, only when target_point.cadastral_reference is not provided. With the reference, you can leave them out. Then call comps_get-comparables.

Example: a Madrid apartment

A valuer asks their assistant: "Value cadastral reference 1234567VK4713S0001AB in Madrid." (Use the real reference of your property; this one shows the format.) The assistant calls list_servers, then comps_get-comparables:

json
{
  "comparables_count": 20,
  "location_boundary": {
    "circle": {
      "target_point": {
        "cadastral_reference": {
          "country_code": "ES",
          "cadastral_reference": "1234567VK4713S0001AB",
          "province": "Madrid",
          "municipality": "Madrid"
        }
      },
      "distance": 1
    }
  },
  "operation": "sale",
  "comparables_types": ["apartment"]
}

Condensed response (values depend on the market when you call):

json
{
  "results": [ { "property_id": "...", "similarity_score": "...", "distance": "...", "sale_price": "...", "sale_price_per_sqm": "..." } ],
  "transactional_data": [ { "cadastral_reference": "...", "price": "...", "price_per_sqm": "...", "with_mortgage": "...", "sold_at": "...", "distance": "..." } ],
  "statistics": { "average_price_per_sqm": "...", "average_time_on_the_market": "..." },
  "estimated_prices": { "fast_sell_price": "...", "fair_market_price": "...", "out_of_market_price": "..." },
  "casafari_link": "...",
  "valuation_id": "..."
}

How to read the result

transactional_data: cadastral_reference, price, with_mortgage, sold_at

transactional_data holds notarial records. Each has a cadastral_reference, price with currency, price_per_sqm, sold_at, distance from your target and with_mortgage, a flag for whether the purchase was financed with a mortgage. Check source_annexes: it describes annexes such as parking or storage included in the recorded price, which can inflate a per-m² figure. The block can be empty or null where no records match your area and filters.

estimated_prices and statistics

estimated_prices gives fast_sell_price, fair_market_price and out_of_market_price, each with a per-m² version, computed from the comparables found. statistics adds average_price_per_sqm, average_time_on_the_market (days) and sold_or_rented_in_last_six_months. Read results by similarity_score and is_outlier, and open casafari_link for the Comparative Market Analysis page.

Limits

Cadastral-reference valuation over comps_get-comparables is available to Casafari clients with MCP access, using their Casafari account; self-serve access for new users is coming soon. The REST operation POST /api/v2/comparables/search also takes target_point and is for Casafari client accounts. Prices, quotas and rate limits are not published in these docs; ask Casafari.

Only one target definition per request: coordinates, address or cadastral reference

target_point takes exactly one value. Do not send an address or coordinates alongside the cadastral reference.

Cadastral reference input is Spain only

country_code accepts only ES. This is a limit of this input, not of the tool: see Does Casafari cover Spain and Portugal? and Does every tool cover all 16 countries?. For properties outside Spain, use an address or coordinates.

Questions

Can I use a Portuguese or French cadastral or land-registry number?

No, the cadastral_reference input of comps_get-comparables accepts only country_code: ES; the schema says it is available only for Spain for now. For a property in Portugal, France or any other covered market, set target_point to an address or to coordinates instead. The filters and the response work the same way.

Do I still need the address if I have the cadastral reference?

No, the cadastral reference alone defines the centre point, and target_point takes only one value: coordinates, an address or a cadastral reference. Sending an address as well breaks that rule. You can add the optional province and municipality fields inside the cadastral_reference object to help locate the estate.

What does with_mortgage mean in transactional_data?

with_mortgage is a flag on each transactional_data record indicating whether that recorded purchase was financed with a mortgage. It can be true, false or null. It describes how the buyer paid, not the property itself, so use it as context, for example to see how much of an area's recorded activity relied on financing.

Can I value a plot by cadastral reference?

Yes, set comparables_types to urban_plot or rural_plot (the plot group) together with the cadastral reference. The schema makes plot_area required for those types only when no cadastral reference is provided, so you can omit it. Add plot_area anyway if you want to state the desired plot size explicitly.

All use cases

Tip: add .md to any URL to read it as Markdown.