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

Casafari

The property graph

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.

Illustration with sample figures.

16 countries

One schema and one location tree in every market.

Residential and commercial

Apartments to villas, offices, retail, hotels, warehouses, plots, garages, buildings and new developments.

Sale and rent

Both operations on the same property record.

Full history

Every price change, status change, appearance and delisting, with dates.

More than listings

Listings are where Casafari starts, not what it delivers. A listing is one advertisement of a property on one source: an agency's own website or a portal. The same flat is usually advertised several times, by more than one agency and on more than one portal, at prices and with descriptions that do not always agree. Counting listings counts advertisements, not properties.

Casafari takes those listings, structures them, cleans them and deduplicates them, and merges every listing of a property into one record. The records, the listings behind them, the agencies and agents that advertise them, their places and their history form the property graph: the most complete property index in Europe.

How the graph is built

  1. 1Collect

    Listings from agency websites and portals in 16 countries, as they appear and as they change.

  2. 2Structure

    Every listing into one schema: type, operation, price, area, rooms, features, condition, energy rating and location.

  3. 3Clean

    Values normalised, places resolved to the location tree and to coordinates, outliers flagged.

  4. 4Deduplicate

    The same property, advertised by several agencies and portals, recognised as one.

  5. 5Merge into the graph

    One record per property, linking its listings, agencies, agents, location and history.

The history of every property

Because every listing of a property lands on the same record, the record keeps what happened to it, across every source:

  • Price changes, for sale and for rent: every change, with the old price, the new one and the dates.
  • Status changes: active, reserved, on hold, sold, rented.
  • Listing and delisting: when the property came on the market, on which sources, and when each listing was taken down.
  • Time on the market: for each property, and as distributions for an area.

Alerts deliver the same history as it happens: new properties, price rises and cuts, reservations, delistings and sales, for any set of filters.

Every asset class, for sale and for rent

Residential and commercial property alike, in one taxonomy, with country-specific types mapped onto it:

  • Residential: apartments, studios, duplexes, penthouses, houses, villas, townhouses, chalets, bungalows, country houses, country estates, palaces and rooms.
  • Commercial: offices, retail, restaurants, hotels, industrial premises, warehouses, workshops and other commercial property.
  • Buildings: apartment buildings, office buildings and mixed-use buildings.
  • Land: urban and rural plots.
  • Parking: garages and parking spaces.
  • New developments: apartment and house developments.

Each record carries the operations it is offered for, sale and rent, so one property for sale and to let is still one property.

16 countries, one schema

The API covers Andorra, Austria, Belgium, France, Germany, Greece, Italy, Luxembourg, Monaco, Poland, Portugal, San Marino, Spain, Switzerland, the United Arab Emirates and the United States. Every market is structured the same way: the same property types, the same fields, and one location tree from country down to neighbourhood, with coordinates. A question asked about Lisbon, Madrid or Munich is answered in the same shape.

What it means for an agent

  • Count properties, not advertisements. A property on three portals and two agency websites is one property, so totals, supply and averages are not inflated by duplicates.
  • History comes with the record. Price cuts, time on the market and delistings are on the property; there is no need to stitch advertisements together.
  • One shape everywhere. The same request works in every country the graph covers.
  • Built on it: Properties, Comparables & Valuation, Area Insights, Alerts and AgentGraph AI.

Where it shows in the reference

The API's field and operation names keep the word listing, because that is what they hold: listing_id is the id of one advertisement, listings are the ones merged into a property. The tools' and operations' own descriptions are quoted as each team publishes them.

In the APIWhat it is
property_idThe property: one record in the graph.
listingsThe listings merged into the property, each with its source, agency, price and dates.
primary_listing_idThe listing chosen to represent the property.
sale_price_history, rent_price_historyEvery price change, with the old price, the new one and the dates.
sale_active_listings_count, rent_active_listings_countHow many live listings the property has right now, for sale and for rent.
average_listings_per_propertyIn comparables statistics: how many listings, on average, each comparable property merges.
POST /api/v1/properties/match-by-listingsSend listing ids, get back the property each one belongs to.
Alert subtypes new, price_up, price_down, reserved, delisted, soldThe history as it happens, delivered to a feed or a webhook.

Questions about this

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