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

Area Insights · REST API

Price Distribution

POSThttps://api.casafari.com/market-analytics-api/distributions/prices
Bearer token44 parameters

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

Over MCP: ma_get_price_distribution (equivalent). MCP and REST compared.

Description

Returns the number of properties distributed across price ranges.

Each range is defined by price boundaries and shows the number of properties with prices falling within those boundaries.

Request body

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

typesstring[]required
The list of property types by type groups: apartment: ["apartment", "studio", "duplex", "penthouse", "dachgeschosswohnung", "etagenwohnung", "erdgeschosswohnung"] house: ["country_house", "house", "palace", "townhouse", "villa", "country_estate", "chalet", "bungalow", "family_house", "reihenhaus", "reihenendhaus", "reihenmittelhaus", "einfamilienhaus", "zweifamilienhaus", "landwirtschaftliche_betriebe"] room: ["room"] building: ["apartment_building", "office_building", "mix_use_building"] investment: ["retail", "office", "industrial", "warehouse", "hotel", "building", "other_commercial", "restaurant", "werkstatt"] development: ["apartment_development", "house_development"] plot: ["urban_plot", "rural_plot"] other: ["parking", "garage", "other"] Note that you can select multiple types only from one property type group. The list of property types specific to certain countries: apartment: ○ dachgeschosswohnung: Germany ○ etagenwohnung: Germany ○ erdgeschosswohnung: Germany house: ○ family_house: Germany ○ reihenhaus: Germany ○ reihenendhaus: Germany ○ reihenmittelhaus: Germany ○ einfamilienhaus: Germany ○ zweifamilienhaus: Germany ○ landwirtschaftliche_betriebe: Germany investment: ○ restaurant: Germany ○ werkstatt: Germany plot: ○ urban_plot: Italy, Germany, Portugal, Spain, France ○ rural_plot: Italy, Germany, Portugal, Spain, France
42 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 building other_commercial restaurant werkstatt urban_plot rural_plot room parking garage other apartment_building office_building mix_use_building apartment_development house_development
at least 1 item
business_typestringrequired
sale rent
price_rangeobjectnullable
2 properties
minintegernullable
1–2147483647
maxintegernullable
1–2147483647
price_per_sqm_rangeobjectnullable
2 properties
minintegernullable
1–2147483647
maxintegernullable
1–2147483647
rooms_rangeobjectnullable
2 properties
minintegernullable
1–15000
maxintegernullable
1–15000
bedrooms_rangeobjectnullable
2 properties
minintegernullable
0–15000
maxintegernullable
0–15000
bathrooms_rangeobjectnullable
2 properties
minintegernullable
1–15000
maxintegernullable
1–15000
total_area_rangeobjectnullable
2 properties
minintegernullable
1–1000000
maxintegernullable
1–1000000
plot_area_rangeobjectnullable
2 properties
minintegernullable
1–1000000
maxintegernullable
1–1000000
construction_year_rangeobjectnullable
2 properties
minintegernullable
1–3000
maxintegernullable
1–3000
characteristicsobjectnullable
2 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
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
conditionsstring[]
Property conditions, as returned by the GET /api/v1/references/conditions endpoint.
used ruin very-good new other
at least 1 item
privateboolean
Whether the property is listed by a private individual, as opposed to an agent or a professional.
bankboolean
Whether the property is owned by the bank.
auctionboolean
Whether the property is the subject of an auction.
default false
exclude_outliersboolean
Exclude properties that are significantly underpriced or overpriced compared to similar properties.
default false
custom_location_boundaryobjectrequired
3 properties
location_idsinteger[]
List of location IDs.
1–10 items1–2147483647
polygonobject[]
List of geo-points to search within. Polygon must contain at least 4 points. First and last points must match.
at least 4 items
2 properties
latitudenumberrequired
-90–90
longitudenumberrequired
-180–180
circleobject
Circle boundary to search within.
2 properties
distanceintegerrequired
Maximum distance in meters from the requested target_point to the properties.
50–50000
target_pointobjectrequired
Target point coordinates to search around.
2 properties
latitudenumberrequired
-90–90
longitudenumberrequired
-180–180

Example request

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

curl
curl -X POST "https://api.casafari.com/market-analytics-api/distributions/prices" \
  -H "Authorization: Bearer $CASAFARI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "types": [
    "apartment"
  ],
  "business_type": "sale",
  "custom_location_boundary": {
    "location_ids": [
      1
    ]
  }
}'

Responses

200 Successful Response

Type: object[].

Show the response shape (4 fields)
lower_boundintegerrequired
The lower price bound of the distribution unit.
upper_boundintegerrequired
The upper price bound of the distribution unit.
properties_countintegerrequired
The number of properties that participated in the distribution.
is_meanbooleanrequired
Indicates whether the mean value is within this distribution unit.

204 No Content

No body.

400 Bad Request

Type: object.

Show the response shape (3 fields)
messagestringrequired
errorsstring[]nullable
detailsstringnullable

422 Validation Error

Type: object.

Show the response shape (6 fields)
detailobject[]
5 properties
loc(string | integer)[]required
msgstringrequired
typestringrequired
inputany
ctxobject

Questions about this

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