Platform
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

Property Sourcing · Use cases

Price-per-sqm value screen across European markets

For Property investors, funds and deal sourcers. Use one Casafari search body per country, sorted by price per sqm, then read energy rating, condition and price history before bidding.

How do I find the lowest price per square metre properties in Spain, France, Italy, Germany, Portugal and Greece with one API?

Why do price-per-sqm comparisons break across markets?

Sourcing in several countries usually means a different portal, language and filter logic per market, and the same asset advertised at different prices by different agencies, which distorts any per-square-metre ranking. Benchmarks also move: Spanish notarial statistics put the average price at EUR 1,902 per square metre in 2025, 7.5% above 2024, according to EjePrime, and in Greece foreign buyers accounted for 8.7% of transactions in 2025, according to Greek Reporter.

How does it work step by step?

  1. One body per country. POST /v1/property-sourcing/searches uses the same request shape everywhere; set country or pass a country's own location id in location_ids. Property Sourcing covers Andorra, the United Arab Emirates, Austria, Belgium, Switzerland, Germany, Spain, France, Greece, Italy, Luxembourg, Monaco, Poland, Portugal, San Marino and the United States, subject to your account's entitlement.
  2. Screen. Add operation: "sale", a price_per_sqm range, a living_area_sqm range, exclude_features: ["rented_out", "life_annuity", "business_transfer"] and sort: "price_per_sqm_asc".
  3. Page. Follow the cursor with GET /v1/property-sourcing/searches/{cursor} up to 1,000 results per search; split large cities by location id or price band to go deeper.
  4. Qualify. GET /v1/property-sourcing/properties/{property_id}?expand=history returns construction year, energy rating, condition and the dated price and status changes.
  5. Gauge negotiation room. In Spain, France, Italy, Germany, Greece and Andorra, list High Potential Seller Leads around a candidate's coordinates to see repeated price cuts nearby, and compare prices with Comparables and valuation.
bash
curl -X POST https://platform.casafari.com/v1/property-sourcing/searches \
  -H "Authorization: Bearer $CASAFARI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "ES", "location_ids": [12345], "operation": "sale", "exclude_features": ["rented_out", "life_annuity", "business_transfer"], "sort": "price_per_sqm_asc", "page_size": 100}'

What do you get?

One deduplicated record per property with price.per_sqm, first_seen, listings_count and location coordinates, in the same shape for every country, so a cross-market table needs no per-country parsing. Properties priced on request have a null price and should be left out of the ranking.

What are the limits?

1,000 results per search (100 on Free), 100 per page (25 on Free), 100 units per page and 10 per property read at EUR 0.04 a unit; 50 distinct places a day on pay as you go and Agent, 10 on Free. The screen orders asking prices; it does not label a property as under-priced, so whether a price is below market is your judgement. See Search properties.

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