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 · REST API

Search estimated prices (v1)

POSThttps://api.casafari.com/api/v1/valuation/comparables-prices
Bearer token58 parameters

Send Authorization: Bearer $CASAFARI_TOKEN; see how to get a token.

Over MCP: comps_get-comparables (related). MCP and REST compared.

Description

Returns estimated prices by the given parameters.

Request body

Content type application/json. Optional. Type: object.

comparables_countintegerrequired
Maximum number of comparable properties in results.
1–50
target_pointobject
Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided. This field is deprecated and will be removed in the next major update. Please, use location_boundary.circle field instead.
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.
distancenumber
Maximum distance in kilometers from the requested target_point to comparable properties. This field is deprecated and will be removed in the next major update. Please, use location_boundary.circle field instead.
0.05–50default 5
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.
0.05–50default 5
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_afterstring (date)nullable
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_typestring
Comparables property type, as returned by the GET /api/v1/references/types endpoint. This field is deprecated and will be removed in the next major update. Please, use comparables_types field instead.
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
comparables_typesstring[]required
Country availability per type is available at the GET /api/v1/references/types endpoint. Property types by type groups: apartment: penthouse, dachgeschosswohnung, erdgeschosswohnung, apartment, etagenwohnung, studio, duplex house: townhouse, reihenmittelhaus, landwirtschaftliche_betriebe, country_house, family_house (DEPRECATED), villa, palace, chalet, zweifamilienhaus, country_estate, reihenendhaus, reihenhaus, bungalow, einfamilienhaus, house room: room building: office_building, apartment_building, mix_use_building investment: retail, hotel, warehouse, office, restaurant, industrial, other_commercial, werkstatt plot: rural_plot, urban_plot, plot (DEPRECATED) 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.
0–2147483647default 0
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_certificatestring
Energy certificate. This field is deprecated and will be removed in the next major update. Please, use energy_ratings field instead.
Unknown A+ A B C D E F G H
energy_certificatesstring[]
List of energy certificates. This field is deprecated and will be removed in the next major update. Please, use energy_ratings field instead.
Unknown A+ A B C D E F G H
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 true

Example request

Placeholders only: replace the token and the values with your own.

curl
curl -X POST "https://api.casafari.com/api/v1/valuation/comparables-prices" \
  -H "Authorization: Bearer $CASAFARI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "comparables_count": 20,
  "location_boundary": {
    "circle": {
      "distance": 3.5,
      "target_point": {
        "coordinates": {
          "latitude": 38.74,
          "longitude": -9.17
        }
      }
    }
  },
  "sold_or_rented_after": "2020-06-01",
  "days_on_market_from": 10,
  "days_on_market_to": 1000,
  "operation": "sale",
  "comparables_types": [
    "apartment"
  ],
  "bedrooms": 2,
  "construction_year": 2010,
  "total_area": 125,
  "condition": "used",
  "floors": [
    "middle",
    "top"
  ],
  "floor_number": [
    3,
    5
  ],
  "views": [
    "city",
    "landscape"
  ],
  "directions": [
    "west",
    "north"
  ],
  "characteristics": {
    "must_have": [
      "balcony",
      "elevator"
    ],
    "nice_to_have": [
      "garage",
      "parking",
      "storage"
    ]
  },
  "energy_ratings": [
    "A",
    "B",
    "C"
  ]
}'

Responses

200 OK

Type: object.

Show the response shape (13 fields)
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.
Example from the API description
JSON
{
  "statistics": {
    "average_price": 767950,
    "average_price_per_sqm": 6376,
    "average_time_on_the_market": 169,
    "average_listings_per_property": 6.2,
    "sold_or_rented_in_last_six_months": 453
  },
  "estimated_prices": {
    "fast_sell_price": 741210,
    "fair_market_price": 797000,
    "out_of_market_price": 852790,
    "fast_sell_price_per_sqm": 5929.68,
    "fair_market_price_per_sqm": 6376,
    "out_of_market_price_per_sqm": 6822.32
  }
}

400 Bad Request

Type: object.

Show the response shape (1 fields)
errorsobject
Description of the errors encountered.

401 Unauthorized

Type: object.

Show the response shape (1 fields)
detailstring
Description of the error encountered.

403 Forbidden

Type: object.

Show the response shape (1 fields)
detailstring
Description of the error encountered.

Questions about this

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