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.
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?
- One body per country.
POST /v1/property-sourcing/searchesuses the same request shape everywhere; setcountryor pass a country's own location id inlocation_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. - Screen. Add
operation: "sale", aprice_per_sqmrange, aliving_area_sqmrange,exclude_features: ["rented_out", "life_annuity", "business_transfer"]andsort: "price_per_sqm_asc". - 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. - Qualify.
GET /v1/property-sourcing/properties/{property_id}?expand=historyreturns construction year, energy rating, condition and the dated price and status changes. - 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.
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.