CasafariMCP
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

Comparables & Valuation · MCP tool

comps_get-comparables

Get Comparables

Read-only44 parametersTyped response

Over REST: POST /api/v2/comparables/search (equivalent), POST /api/v1/comparables/search (related), POST /api/v1/valuation/comparables-prices (related). MCP and REST compared.

Description

Retrieves comparable real estate properties and AI-powered market valuations using the Casafari Comparables Engine.

The tool analyzes:

  • Active listings – current market offerings
  • Historical transactions – past sales and rentals
  • Verified DVF data – official property transfer records

Returns:

  • Matched comparable properties ranked by relevance
  • Aggregated market statistics (median prices, DOM, listing velocity)
  • Estimated price ranges: fair market value, quick-sale price, premium pricing

Primary Use Cases

Use CaseDescription
Property ValuationPrice a listing based on real market data
Comp AnalysisFind similar properties for BPO/CMA reports
Market ResearchAnalyze local trends, absorption rates, pricing dynamics
Investment ModelingAssess fair value vs. asking price spreads
Historical TrendsTrack price evolution using sold_or_rented_after filter

Key Capabilities

Advanced Filtering
  • Property attributes: type, bedrooms, bathrooms, size, condition
  • Structural features: floor level, orientation, views, parking, storage
  • Quality markers: construction year, energy rating, renovation status
  • Characteristic logic: must-have / nice-to-have / exclude lists
  • Temporal filters: sold/rented after specific date
Spatial Precision

Uses a circle boundary (target point + radius in kilometers) or a closed polygon of geo-points to ensure all comparables reflect the same micro-market conditions. The target point accepts coordinates, an address, or a Spanish cadastral reference.

Output Intelligence
  • Property-level data: individual comp details with photos, descriptions, pricing history
  • Registry data: DVF records (dvf_results) and notarial transactions (transactional_data)
  • Market-level stats: aggregated insights (median $/sqm, average DOM, inventory levels)
  • Valuation estimates: algorithmic price recommendations based on comp set

Pro Tips

  • Use tight radius (0.5-1 km) for urban areas, wider (2-5 km) for rural
  • Combine sold_or_rented_after with recent date for "hot market" analysis
  • Leverage characteristic filters to match unique property features (e.g., sea views, penthouse, ground floor)
  • Check both active listings AND sold comps for complete market picture

Powered by Casafari's proprietary matching algorithm – trained on millions of European property transactions.

Parameters

comparables_countintegerrequired
Maximum number of comparable properties in results.
1–50
location_boundaryobjectrequired
Location to search within. Can be defined as a polygon of geo-points or a circle with a given target point and a distance. Only one value should be provided.
2 properties
polygonobject[]
Closed polygon of geo-points to search within. First and last points must match.
at least 4 items
2 properties
latitudenumberrequired
Latitude.
-90–90
longitudenumberrequired
Longitude.
-180–180
circleobject
Circle boundary to search within.
2 properties
distancenumber
Maximum distance in kilometers from the requested target_point to the properties. Default value: 5.
0.05–50
target_pointobjectrequired
Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.
3 properties
coordinatesobject
Target point coordinates to search around.
2 properties
latitudenumberrequired
Latitude.
-90–90
longitudenumberrequired
Longitude.
-180–180
addressstring
Address of the property to define the point to search around.
cadastral_referenceobject
Cadastral reference of the property to define the point to search around. For now available only for Spain.
4 properties
country_codestringrequired
Country code following the ISO 3166-1 alpha-2 rules.
ES
cadastral_referencestringrequired
Cadastral reference of the estate.
provincestring
Name of the estate's province.
municipalitystring
Name of the estate's municipality.
sold_or_rented_afterstringnullable
Properties sold/rented since this date (in the format YYYY-MM-DD) will be considered as possible comparables. Default value: 9 months ago, counting from today. If null is passed, only active properties will be considered.
operationstringrequired
Operation type.
sale rent
comparables_typesstring[]required
Country availability per type is available at the GET /api/v1/references/types endpoint. Property types by type groups: apartment: erdgeschosswohnung, etagenwohnung, dachgeschosswohnung, duplex, studio, penthouse, apartment house: villa, reihenhaus, palace, country_estate, family_house (DEPRECATED), zweifamilienhaus, reihenmittelhaus, reihenendhaus, landwirtschaftliche_betriebe, country_house, townhouse, chalet, bungalow, einfamilienhaus, house room: room building: mix_use_building, office_building, apartment_building investment: restaurant, other_commercial, warehouse, office, industrial, werkstatt, hotel, retail plot: plot (DEPRECATED), rural_plot, urban_plot other: garage, other, parking Note that you can select multiple types only from one property type group.
40 allowed valuesapartment studio duplex penthouse dachgeschosswohnung etagenwohnung erdgeschosswohnung country_house house palace townhouse villa country_estate chalet bungalow family_house reihenhaus reihenendhaus reihenmittelhaus einfamilienhaus zweifamilienhaus landwirtschaftliche_betriebe retail office industrial warehouse hotel other_commercial restaurant werkstatt plot urban_plot rural_plot room other garage parking apartment_building office_building mix_use_building
min_priceinteger
The minimum price filter for comparables result. Default value: 0.
0–2147483647
max_priceinteger
The maximum price filter for comparables result.
1–2147483647
conditionstring
Property condition, as returned by the GET /api/v1/references/conditions endpoint.
used ruin very-good new other
bedroomsinteger
Number of bedrooms (cannot be used together with rooms).
0–15000
roomsinteger
Number of rooms (cannot be used together with bedrooms).
0–15000
bathroomsinteger
Number of bathrooms.
1–15000
construction_yearinteger
Desired construction year.
1–3000
total_areainteger
Desired total area, square meters. This field is required for hotel, industrial, office, other_commercial, restaurant, retail, warehouse, werkstatt property types if target_point.cadastral_reference is not provided.
5–10000000
plot_areainteger
Desired plot area, square meters. This field is required for rural_plot and urban_plot property types if target_point.cadastral_reference is not provided.
20–10000000
floorsstring[]
List of floor types.
no_floor ground middle top
floor_numberinteger[]
Desired list of floor numbers. Negative values indicate underground floors (e.g. basements). Minimum value is -250. Maximum value is 250.
-250–250
orientationstring
Property view orientation.
exterior interior
viewsstring[]
List of views from the property.
water landscape city golf park
directionsstring[]
List of cardinal directions the property faces.
north south east west
characteristicsobject
Property characteristics.
3 properties
must_havestring[]
Include only properties that have all these characteristics.
balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuity
nice_to_havestring[]
Include properties that have any of these characteristics.
balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuity
excludestring[]
Exclude properties that contain any of these characteristics.
balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuity
energy_ratingsstring[]
List of energy ratings.
Unknown A+ A B C D E F G H
days_on_market_frominteger
Minimum days on market value.
1–10000
days_on_market_tointeger
Maximum days on market value.
1–10000
with_agenciesstring[]
Return properties from specified agencies, companies or sources. To find allowed agency names use the GET /api/v1/references/agencies endpoint.
without_agenciesstring[]
Exclude properties from specified agencies, companies or sources. To find allowed agency names use the GET /api/v1/references/agencies endpoint.
exclude_outliersboolean
Exclude properties that are significantly underpriced or overpriced compared to similar properties. Default value: true.

Response

Show the response shape (166 fields)
resultsobject[]required
Array of found comparable properties.
60 properties
property_idintegerrequired
ID of the property.
property_urlstringnullable
URL of the property in the CASAFARI website.
primary_listing_idintegerrequired
Primary listing (ad) ID of the property which is defined after the matching into property.
typestringrequired
Property type, as returned by the GET /api/v1/references/types endpoint.
40 allowed valuesapartment studio duplex penthouse dachgeschosswohnung etagenwohnung erdgeschosswohnung country_house house palace townhouse villa country_estate chalet bungalow family_house reihenhaus reihenendhaus reihenmittelhaus einfamilienhaus zweifamilienhaus landwirtschaftliche_betriebe retail office industrial warehouse hotel other_commercial restaurant werkstatt plot urban_plot rural_plot room other garage parking apartment_building office_building mix_use_building
type_groupstringrequired
Property type group, as returned by the GET /api/v1/references/types endpoint.
apartment house investment plot other
coordinatesobjectrequired
Property coordinates.
2 properties
latitudenumberrequired
Latitude.
longitudenumberrequired
Longitude.
locationobjectrequired
Information about property location.
4 properties
location_idintegerrequired
Location ID, as returned by the POST /api/v1/references/locations endpoint.
namestringrequired
Location name.
administrative_levelstringrequired
Location administrative level.
zip_codesstring[]nullable
The location zip codes.
locations_structureobject[]required
Information about all the parent locations (including property location) up to the country.
4 properties
location_idintegerrequired
Location ID, as returned by the POST /api/v1/references/locations endpoint.
namestringrequired
Location name.
administrative_levelstringrequired
Location administrative level.
zip_codesstring[]nullable
The location zip codes.
addressstringrequired
Property address.
zip_codestringrequired
The location zip code.
distancenumbernullable
Distance in kilometers from target point to the property. Not calculated for search by polygon.
construction_yearintegerrequired
Construction year.
total_areaintegerrequired
Total area.
living_areaintegerrequired
Living area.
plot_areaintegerrequired
Plot area.
terrace_areaintegerrequired
Terrace area.
bedroomsintegerrequired
Number of bedrooms.
roomsintegerrequired
Number of rooms.
bathroomsintegerrequired
Number of bathrooms.
floor_numberintegerrequired
Exact floor number. Negative values indicate underground floors (e.g. basements).
conditionstringrequired
Property condition, as returned by the GET /api/v1/references/conditions endpoint.
used ruin very-good new other
featuresobjectrequired
Property features, as returned by the GET /api/v1/references/features endpoint.
7 properties
floorstringrequired
Floor type.
no_floor ground middle top
orientationstringrequired
Property view orientation.
exterior interior
viewstringrequired
View from the property. This field is deprecated and will be removed in the next major update. Please, use views field instead.
water landscape city golf park
viewsstring[]required
List of views from the property.
water landscape city golf park
directionstringrequired
Cardinal direction the property faces. This field is deprecated and will be removed in the next major update. Please, use directions field instead.
north south east west
directionsstring[]required
List of cardinal directions the property faces.
north south east west
characteristicsstring[]required
Property characteristics.
balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuity
operationsstring[]required
Operation types for which property is available.
sale rent
sale_statusstringrequired
Sale status.
active reserved hold sold none
sale_currencystringrequired
Sale price currency code.
sale_priceintegerrequired
Sale price, in the currency of the listings (specified by the sale_currency field).
sale_price_baseintegerrequired
Sale price, in Euros.
sale_price_per_sqmnumberrequired
Sale price per square meter, in the currency of the listings (specified by the sale_currency field).
sale_price_per_sqm_basenumberrequired
Sale price per square meter, in Euros.
rent_statusstringrequired
Rent status.
active reserved hold rented none
rent_currencystringrequired
Rent price currency code.
rent_priceintegerrequired
Rent price, in the currency of the listings (specified by the rent_currency field).
rent_price_baseintegerrequired
Rent price, in Euros.
rent_price_per_sqmnumberrequired
Rent price per square meter, in the currency of the listings (specified by the rent_currency field).
rent_price_per_sqm_basenumberrequired
Rent price per square meter, in Euros.
rent_periodstringrequired
Rent period.
day week fortnight month year none
titlestringrequired
Property title.
descriptionstringrequired
Property description.
thumbnailsstring[]nullable
List of the thumbnail image URLs.
picturesstring[]nullable
List of the original picture image URLs.
gross_yieldnumberrequired
Gross yield in percentage.
sold_atstringrequired
Date when the property was sold.
rented_atstringrequired
Date when the property was rented.
total_sale_price_changenumberrequired
Total sale price change in percents.
total_rent_price_changenumberrequired
Total rent price change in percents.
last_sale_price_reductionnumberrequired
Last sale price reduction in percents.
last_rent_price_reductionnumberrequired
Last rent price reduction in percents.
sale_price_last_changeobjectrequired
Information about the last change of sale price.
3 properties
change_datestringrequired
Date of the change.
old_valueintegerrequired
Value before change.
new_valueintegerrequired
Value after change.
rent_price_last_changeobjectrequired
Information about the last change of rent price.
3 properties
change_datestringrequired
Date of the change.
old_valueintegerrequired
Value before change.
new_valueintegerrequired
Value after change.
sale_time_on_marketmap of anynullable
Information about the property last activity on the sales market.
rent_time_on_marketmap of anynullable
Information about the property last activity on the rental market.
sale_active_listings_countintegernullable
Number of active listings for this property on the sales market.
rent_active_listings_countintegernullable
Number of active listings for this property on the rental market.
similarity_scorenumbernullable
Similarity score of the property. Value between 0 and 1. Indicates how property parameters are close to the requested ones.
listing_urlsstring[]required
Listing urls of the comparable.
is_outlierbooleannullable
Whether the property is considered an outlier based on its price. Default value: false.
is_private_propertybooleanrequired
Whether the property is listed by a private individual, as opposed to an agent or a professional.
energy_certificatestringnullable
Energy certificate classification that attests to the energy efficiency of a property. This field is deprecated and will be removed in the next major update. Please, use energy_rating field instead.
energy_ratingstringnullable
Energy rating that attests to the energy efficiency of a property.
ref_numbersstring[]required
List of reference numbers from listings.
dvf_resultsobject[]
Array of found DVF data (Request for geolocated property values).
19 properties
dvf_referenceintegerrequired
Reference ID of the DVF property.
coordinatesobjectrequired
DVF property coordinates.
2 properties
latnumberrequired
Latitude.
lonnumberrequired
Longitude.
distancenumbernullable
Distance in kilometers from target point to DVF the property. Not calculated for search by polygon.
typestringrequired
Property type, as returned by the GET /api/v1/references/types endpoint.
40 allowed valuesapartment studio duplex penthouse dachgeschosswohnung etagenwohnung erdgeschosswohnung country_house house palace townhouse villa country_estate chalet bungalow family_house reihenhaus reihenendhaus reihenmittelhaus einfamilienhaus zweifamilienhaus landwirtschaftliche_betriebe retail office industrial warehouse hotel other_commercial restaurant werkstatt plot urban_plot rural_plot room other garage parking apartment_building office_building mix_use_building
type_groupstringrequired
Property type group, as returned by the GET /api/v1/references/types endpoint.
apartment house investment plot other
sale_priceintegerrequired
Sale price, in the original currency.
sale_price_baseintegerrequired
Sale price, in Euros.
sale_price_psqmnumbernullable
Sale price per square meter, in the original currency. Default value: 0.
sale_price_psqm_basenumbernullable
Sale price per square meter, in Euros. Default value: 0.
sold_atstringnullable
Date when the property was sold.
total_areaintegerrequired
Total area.
plot_areaintegerrequired
Plot area.
roomsintegerrequired
Number of rooms.
bedroomsintegerrequired
Number of bedrooms.
addressstringrequired
Property address.
locationobjectrequired
Information about DVF property location.
4 properties
location_idintegerrequired
Location ID, as returned by the POST /api/v1/references/locations endpoint.
namestringrequired
Location name.
administrative_levelstringrequired
Location administrative level.
zip_codesstring[]nullable
The location zip codes.
locations_structureobject[]required
Information about all the parent locations (including DVF property location) up to the country.
4 properties
location_idintegerrequired
Location ID, as returned by the POST /api/v1/references/locations endpoint.
namestringrequired
Location name.
administrative_levelstringrequired
Location administrative level.
zip_codesstring[]nullable
The location zip codes.
sale_statusstringnullable
Sale status.
active reserved hold sold none
thumbnailsstring[]nullable
List of the thumbnail image URLs.
transactional_dataobject[]nullable
26 properties
idintegerrequired
referencestringrequired
cadastral_referencestringrequired
roomsintegerrequired
bedroomsintegerrequired
bathroomsintegerrequired
coordinatesobjectrequired
2 properties
latnumberrequired
Latitude.
lonnumberrequired
Longitude.
total_areanumberrequired
plot_areanumberrequired
addressstringrequired
source_typologystringrequired
source_annexesstringrequired
Additional raw source data (if present), describing annexes (such as parking, storage, etc) included in the transaction price.
typestringrequired
40 allowed valuesapartment studio duplex penthouse dachgeschosswohnung etagenwohnung erdgeschosswohnung country_house house palace townhouse villa country_estate chalet bungalow family_house reihenhaus reihenendhaus reihenmittelhaus einfamilienhaus zweifamilienhaus landwirtschaftliche_betriebe retail office industrial warehouse hotel other_commercial restaurant werkstatt plot urban_plot rural_plot room other garage parking apartment_building office_building mix_use_building
type_groupstringrequired
sold_atstringrequired
currencystringrequired
Price currency code.
pricenumberrequired
price_per_sqmnumberrequired
with_mortgagebooleanrequired
Flag indicating whether the transaction was financed with a mortgage.
distancenumbernullable
Distance in kilometers from target point to the property. Not calculated for search by polygon.
location_idintegerrequired
construction_yearintegerrequired
locationobjectrequired
4 properties
location_idintegerrequired
Location ID, as returned by the POST /api/v1/references/locations endpoint.
namestringrequired
Location name.
administrative_levelstringrequired
Location administrative level.
zip_codesstring[]nullable
The location zip codes.
locations_structureobject[]required
4 properties
location_idintegerrequired
Location ID, as returned by the POST /api/v1/references/locations endpoint.
namestringrequired
Location name.
administrative_levelstringrequired
Location administrative level.
zip_codesstring[]nullable
The location zip codes.
image_urlstringrequired
country_codestringrequired
FR IT PT ES
statisticsobjectrequired
Statistics information for the found comparables (for operation defined in the request).
5 properties
average_priceintegerrequired
Average price.
average_price_per_sqmnumberrequired
Average price per square meter.
average_time_on_the_marketintegerrequired
Average number of days on the market.
average_listings_per_propertynumberrequired
Average number of listings per property.
sold_or_rented_in_last_six_monthsintegerrequired
Number of properties that were sold or rented during the last 6 months in the requested location.
estimated_pricesobjectrequired
Estimated prices calculated based on the found comparables (for operation defined in the request).
6 properties
fast_sell_priceintegerrequired
Fast sell price.
fair_market_priceintegerrequired
Fair market price.
out_of_market_priceintegerrequired
Out of market price.
fast_sell_price_per_sqmnumberrequired
Fast sell price per square meter.
fair_market_price_per_sqmnumberrequired
Fair market price per square meter.
out_of_market_price_per_sqmnumberrequired
Out of market price per square meter.
casafari_linkstringrequired
Link to Comparative Market Analysis page.
valuation_idintegernullable
Persistent valuation ID used to generate Smart Link or a PDF. Expires in a year.

Example call

Required arguments only, with placeholder values. Your assistant fills them in from the parameters above.

JSON-RPC
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "comps_get-comparables",
    "arguments": {
      "comparables_count": 1,
      "location_boundary": {
        "polygon": [
          {
            "latitude": -90,
            "longitude": -180
          }
        ]
      },
      "operation": "sale",
      "comparables_types": [
        "apartment"
      ]
    }
  }
}

Questions about this

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