Area Insights · MCP tool
ma_get_time_on_market_distribution
Get Time on Market Distribution
Over REST: POST /market-analytics-api/distributions/time-on-market (equivalent). MCP and REST compared.
Description
Returns a distribution of properties by their time on the market, grouped by price intervals. Each record contains average listing duration and property count.
Business Context
Useful for evaluating market liquidity and demand efficiency, identifying price segments where listings sell faster or remain longer.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
request_data | MCPTimeOnMarketDistributionRequestSchema | Yes | Defines filters for listing duration analysis. |
Filter highlights
type_group: property type groupbusiness_type:"sale"or"rent"price_range: price interval boundariesdate_range: date range for the active listing periodexclude_outliers: optional flag to exclude statistical outliers
Returns
[
{
"lower_bound": 100000,
"upper_bound": 199999,
"days_on_market": 45,
"months_on_market": 1.5,
"properties_count": 120
}
]| Field | Type | Description |
|---|---|---|
lower_bound | int | Lower price limit |
upper_bound | int | Upper price limit |
days_on_market | int | Average number of active days |
months_on_market | float | Average duration in months |
properties_count | int | Number of listings in the group |
Example Request
{
"custom_location_boundary": {
"circle": {
"target_point": {"latitude": 41.3851, "longitude": 2.1734},
"distance": 20000
}
},
"type_group": "apartment",
"business_type": "sale",
"price_range": {"min": 100000, "max": 1000000},
"date_range": {"min": "2024-01-01", "max": "2024-12-31"},
"exclude_outliers": true
}Parameters
request_dataobjectrequired18 properties
type_groupstringrequiredapartment housebusiness_typestringrequiredsale rentprice_rangeobjectnullable2 properties
minintegernullablemaxintegernullableprice_per_sqm_rangeobjectnullable2 properties
minintegernullablemaxintegernullablerooms_rangeobjectnullable2 properties
minintegernullablemaxintegernullablebedrooms_rangeobjectnullable2 properties
minintegernullablemaxintegernullablebathrooms_rangeobjectnullable2 properties
minintegernullablemaxintegernullabletotal_area_rangeobjectnullable2 properties
minintegernullablemaxintegernullableplot_area_rangeobjectnullable2 properties
minintegernullablemaxintegernullableconstruction_year_rangeobjectnullable2 properties
minintegernullablemaxintegernullablecharacteristicsobjectnullable2 properties
must_havestring[]balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuityexcludestring[]balcony elevator no_elevator garage garden parking storage swimming_pool terrace rental_license furniture rented_out life_annuityconditionsstring[]used ruin very-good new otherprivatebooleanbankbooleanauctionbooleanexclude_outliersbooleancustom_location_boundaryobjectrequired2 properties
location_idsinteger[]circleobject2 properties
distanceintegerrequiredtarget_point to the properties.target_pointobjectrequired2 properties
latitudenumberrequiredlongitudenumberrequireddate_rangeobject2 properties
minstring (date)requiredYYYY-MM-DD.maxstring (date)nullableYYYY-MM-DD.Response
Returned as result.
Show the response shape (5 fields)
lower_boundintegerrequiredupper_boundintegerrequireddays_on_marketintegerrequiredmonths_on_marketnumberrequiredproperties_countintegerrequiredExample call
Required arguments only, with placeholder values. Your assistant fills them in from the parameters above.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "ma_get_time_on_market_distribution",
"arguments": {
"request_data": {
"type_group": "apartment",
"business_type": "sale",
"custom_location_boundary": {
"location_ids": [
1
]
}
}
}
}
}