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_bedrooms_distribution

Get Bedrooms Distribution

Read-only42 parametersTyped response

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

Description

Returns a distribution of properties grouped by the number of bedrooms. Each record includes total listings count, average price, and average price per square meter.

Business Context

Useful for analyzing pricing differences and market concentration based on bedroom count — ideal for residential market segmentation.

Parameters

NameTypeRequiredDescription
request_dataMCPBedroomsDistributionRequestSchemaYesFilter configuration for bedroom-based distribution.
Filter highlights
  • type_group: property type group (e.g., apartment, house)
  • business_type: "sale" or "rent"
  • custom_location_boundary: geographical boundary filter
  • bedrooms_range: range of bedroom counts
  • exclude_outliers: optional flag to remove statistical outliers

Returns

json
[
  {
    "bedrooms": "2",
    "properties_count": 324,
    "average_price": 245000.0,
    "average_price_per_sqm": 5200.0
  }
]
FieldTypeDescription
bedroomsstrBedroom count label
properties_countintNumber of properties
average_pricefloatAverage property price
average_price_per_sqmfloatAverage price per square meter

Example Request

json
{
  "custom_location_boundary": {
    "circle": {
      "target_point": {"latitude": 48.8566, "longitude": 2.3522},
      "distance": 10000
    }
  },
  "type_group": "apartment",
  "business_type": "sale",
  "bedrooms_range": {"min": 1, "max": 4},
  "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–10
maxintegernullable
0–10
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)
bedroomsstringrequired
The number of bedrooms in the properties that participated in the distribution.
properties_countintegerrequired
The number of properties that participated in the distribution.
average_pricenumberrequired
Average price of properties with a specific number of bedrooms.
average_price_per_sqmnumberrequired
Average price per square meter of properties with a specific number of bedrooms.

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_bedrooms_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.