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
- Call
list_serversif this is your first use of Comparables & Valuation. - Build the
cadastral_referenceobject:country_code(the only accepted value isES),cadastral_reference(required), and optionallyprovinceandmunicipality. Setlocation_boundary.circle.distancein kilometres (0.05 to 50, default 5).
Choose operation and comparables_types
- Set
operationtosaleorrent,comparables_countfrom 1 to 50, andcomparables_typesfrom one group, for example["apartment"]. Add filters such asbedrooms,conditionorcharacteristicsif you want closer matches.
Omit total_area or plot_area: with a cadastral reference they are not required
- The schema requires
total_areaforhotel,industrial,office,other_commercial,restaurant,retail,warehouseandwerkstatt, andplot_areaforrural_plotandurban_plot, only whentarget_point.cadastral_referenceis not provided. With the reference, you can leave them out. Then callcomps_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:
{
"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):
{
"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.