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_time_series_data

Get Time Series Data

Read-only48 parametersTyped response

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

Description

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
  }
]

Parameters

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.

Response

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.

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