Casafari MCP
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_time_series_data

Get Time Series Data

Read-only48 parametersTyped response

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

What does Get Time Series Data do?

Retrieve time series data for the real estate market. Each data point in the series represents an aggregated metric (data_point) for a specific period, defined by the chosen date_interval and property filters.

This tool provides consistent, interval-based historical data for various real estate indicators.

Use Cases

Retrieve historical market information, such as:

  • Average property prices.
  • Average price per square meter.
  • Number of properties sold or rented over time.
  • Number of newly listed properties.
  • Number of properties available on the market.
  • Number of price increases or decreases for listings.

Parameters

NameTypeRequiredDescription
request_dataMCPTimeSeriesRequestSchemaYesDefines filters, time interval, and data metric (data_point) for aggregation.

Filter highlights

  • data_point: defines which metric to retrieve (e.g. price, listings, sold count, etc.).
  • date_interval: defines the frequency of data points in the response (WEEK, MONTH, QUARTER, YEAR).
  • custom_location_boundary: spatial boundary (circle or list of location IDs).
  • type_group: group of property types to analyze.
  • business_type: "sale" or "rent".
  • exclude_outliers: optionally exclude statistical outliers from the results.
  • optional property filters: price range, area, bedrooms, bathrooms, etc.

Important Notes

  • If you need to compare different property types, send separate requests for each type group.
  • For broader analyses, prefer using AVERAGE_PRICE_PER_SQM over total price.
  • You can reuse the same filters with different data_point values to analyze multiple aspects of the market (e.g. compare new listings vs. sold properties).
  • Use the exclude_outliers flag to remove extreme values and improve analytical accuracy.

Returns

json
[
  {
    "date_start": "2024-01-01",
    "value": 4350.5
  }
]

Which parameters does ma_get_time_series_data take?

request_dataobjectrequired
One analytical segment defining a specific filter or location boundary. Alias (name) is generated automatically on the server based on the location definition.
21 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
aliasstringrequired
Alias (name) of the segment that was analyzed.
custom_location_boundaryobjectrequired
Geographic boundary definition (circle, or location ID list).
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
data_pointstringrequired
Specifies the type of real estate data to retrieve for a given period.
avg_price avg_price_psqm available_on_market new sold_or_rented price_up price_down
date_intervalstringrequired
Defines the time interval for aggregating data points. Determines the frequency at which data is reported in the response.
week month quarter year
date_rangeobjectrequired
2 properties
minstring (date)required
Start date in the format YYYY-MM-DD. If the specified date is not Monday - the closest previous Monday will be selected.
maxstring (date)nullable
End date in the format YYYY-MM-DD. If the specified date is not Sunday - the closest previous Sunday will be selected.

What does it return?

Returned as result.

Show the response shape (2 fields)
date_startstring (date)required
The starting date of the period associated with the passed date_interval field value. The format follows YYYY-MM-DD.
valuenumberrequired
The numerical value corresponding to the passed data_point field value for the given date_start.

How do I call ma_get_time_series_data?

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_time_series_data",
    "arguments": {
      "request_data": {
        "type_group": "apartment",
        "business_type": "sale",
        "alias": "…",
        "custom_location_boundary": {
          "location_ids": [
            1
          ]
        },
        "data_point": "avg_price",
        "date_interval": "week",
        "date_range": {
          "min": "2025-01-01"
        }
      }
    }
  }
}

Questions about this

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