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 comparables (v1)

POSThttps://api.casafari.com/api/v1/comparables/search
Bearer token66 parameters

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

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

Description

Returns comparable properties by the given parameters.

Request body

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

comparables_countintegerrequired
Maximum number of comparable properties in results.
1–50
coordinatesobject
Target point coordinates to search around. This field is deprecated and will be removed in the next major update. Please, use target_point.coordinates field instead.
2 properties
latitudenumberrequired
Latitude.
-90–90
longitudenumberrequired
Longitude.
-180–180
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
business_typestring
Operation type. This field is deprecated and will be removed in the next major update. Please, use operation field instead.
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
property_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
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
floorstring
Floor type. This field is deprecated and will be removed in the next major update. Please, use floors field instead.
no_floor ground middle top
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
viewstring
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[]
List of views from the property.
water landscape city golf park
directionstring
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[]
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/comparables/search" \
  -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 (98 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[]
The location zip codes.
default []
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[]
The location zip codes.
default []
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[]
List of the thumbnail image URLs.
picturesstring[]
List of the original picture image URLs.
gross_yieldnumberrequired
Gross yield in percentage.
sold_atstring (date)required
Date when the property was sold.
rented_atstring (date)required
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_datestring (date)required
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_datestring (date)required
Date of the change.
old_valueintegerrequired
Value before change.
new_valueintegerrequired
Value after change.
sale_time_on_marketobjectnullable
Information about the property last activity on the sales market.
rent_time_on_marketobjectnullable
Information about the property last activity on the rental market.
sale_active_listings_countinteger
Number of active listings for this property on the sales market.
rent_active_listings_countinteger
Number of active listings for this property on the rental market.
similarity_scorenumber
Similarity score of the property. Value between 0 and 1. Indicates how property parameters are close to the requested ones.
listing_urlsstring (uri)[]required
Listing urls of the comparable.
is_dvfboolean
Whether the property taken from DVF.
default false
is_outlierboolean
Whether the property is considered an outlier based on its price.
default false
is_private_propertybooleanrequired
Whether the property is listed by a private individual, as opposed to an agent or a professional.
energy_certificatestring
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.
default ""
energy_ratingstring
Energy rating that attests to the energy efficiency of a property.
default ""
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_linkstring (uri)required
Link to Comparative Market Analysis page.
pattern ^(?:[a-z0-9.+-]*)://(?:[^\s:@/]+(?::[^\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\[[0-9a-f:.]+\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\s]*)?\z

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.