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 · MCP tool

ma_get_price_distribution

Get Price Distribution

Read-only42 parametersTyped response

Over REST: POST /market-analytics-api/distributions/prices (equivalent). MCP and REST compared.

Description

Returns a distribution of property prices based on the provided filters. Each record represents a price interval and the number of properties within that interval.

Parameters

NameTypeRequiredDescription
request_dataMCPPriceDistributionRequestSchemaYesConfiguration for price distribution filtering.
Filter highlights
  • type_group: group of estate types (e.g., apartment, house)
  • business_type: "sale" or "rent"
  • price_range: numeric price range filter
  • exclude_outliers: optional flag to exclude statistical outliers

Returns

json
[
  {
    "lower_bound": 100000,
    "upper_bound": 150000,
    "properties_count": 42,
    "is_mean": false
  }
]
FieldTypeDescription
lower_boundintLower price boundary
upper_boundintUpper price boundary
properties_countintNumber of properties in the range
is_meanboolIndicates whether the range includes the mean price

Example Request

json
{
  "custom_location_boundary": {
    "circle": {
      "target_point": {"latitude": 48.8566, "longitude": 2.3522},
      "distance": 10000
    }
  },
  "type_group": "apartment",
  "business_type": "sale",
  "price_range": {"min": 100000, "max": 500000},
  "exclude_outliers": true
}

Parameters

request_dataobjectrequired
17 properties
type_groupstringrequired
Estate type group.
apartment house
business_typestringrequired
Operation type for which the property is available.
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 true
custom_location_boundaryobjectrequired
2 properties
location_idsinteger[]
List of location IDs.
1–10 items1–2147483647
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

Response

Returned as result.

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.

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": "ma_get_price_distribution",
    "arguments": {
      "request_data": {
        "type_group": "apartment",
        "business_type": "sale",
        "custom_location_boundary": {
          "location_ids": [
            1
          ]
        }
      }
    }
  }
}

Questions about this

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