France coverage

French real estate data, through one API

France is our deepest market: national portals, regional portals and agency sites aggregated, deduplicated and normalized into a single schema — part of our 1,500+ sources across all markets — searchable by INSEE code, department, city or radius, with price indicators and real-time webhooks.

1,500+
aggregated sources (all markets)
50M+
deduplicated listings (all markets)
50,000+
new listings detected per day
< 200ms
average API latency
99.9%
uptime SLA
EU-hosted
GDPR compliant

Coverage in France

France is the primary market for Stream.Estate, and the most complete. We aggregate 1,500+ sources across our markets, with France the deepest coverage — national portals, regional portals and individual agency websites — normalized into a single dataset covering the whole country.

Every listing is deduplicated across sources, so the same property advertised on five portals resolves to one record with its adverts[] array preserving each source's price, description, energy rating, publisher and URL. That means you query one clean object instead of reconciling duplicates yourself.

Location is fully French-native. You can target by official INSEE commune code, department (includedDepartments[]=/departments/{id}), city (includedCities[]=/cities/{id}), zip code, or a raw lat/lon/radius. The /cities and /public/location-autocomplete endpoints let you resolve and typeahead French place names without maintaining your own gazetteer.

On top of listings, France has derived market indicators: /indicators/price_per_meter for local price-per-square-meter and /indicators/points_of_interest for surrounding context — the building blocks for valuation and comparables.

What's covered

1,500+ aggregated sources

France is the deepest market in our 1,500+ source aggregation — national portals, regional portals and agency websites — merged into one dataset and refreshed continuously.

Deduplicated listings

The same property across multiple portals resolves to one record, with every source kept in the adverts[] array (price, description, energy, publisher, URL).

INSEE, departments & cities

Filter by official INSEE commune codes, department IRIs, city IRIs or zip codes. Resolve names via /cities and /public/location-autocomplete.

Geo radius search

Pass lat/lon/radius to search any point in France. Property responses include locations{lat,lon} for mapping and spatial joins.

Price-per-meter indicators

/indicators/price_per_meter returns local €/m² so you can benchmark a listing against its area without building the aggregation yourself.

Real-time webhooks

POST /searches with an eventEndpoint to receive property.ad.create, ad.update.price, ad.update.surface and more as they happen — no polling.

Full property attributes

Price, price-per-meter, surface, rooms, bedrooms, property type, transaction type, energy category (A–G), publisher type and pictures[], normalized across sources.

Sell & rent, all asset types

transactionType for sale or rental; propertyTypes[] covering apartments, houses, buildings, parking, offices, land and shops.

What teams build on French coverage

Automated valuation (AVM). Pull comparables by INSEE code or radius, combine surface, room, energy and pricePerMeter with the /indicators/price_per_meter benchmark, and train or serve models on a clean, deduplicated feed instead of scraped HTML. See valuation.

Lead generation & sourcing. Create a saved search with POST /searches and an endpointRecipient webhook to get new French listings matching your buy-box the moment they appear — filter on publisherTypes[]=0 to isolate for-sale-by-owner. See lead generation.

Market monitoring. Subscribe to ad.update.price and ad.update.expired to track price cuts and time-on-market by department or city, and power dashboards without scraping. See market monitoring.

Portfolio & risk. Banks and funds join listings to their holdings by INSEE code to mark positions and watch local supply. See portfolio.

Start with the complete guide to real estate data APIs in Europe, or read why an API beats web scraping.

# Apartments for sale in a French department, cheapest first
curl -H "X-API-KEY: <api_key>" \
  "https://api.stream.estate/documents/properties?includedDepartments[]=/departments/75&propertyTypes[]=0&transactionType=0&withCoherentPrice=true&orderByPrice=asc&itemsPerPage=30"

Coverage is built by aggregating 1,500+ public sources — national and regional portals plus individual agency sites — then deduplicating and normalizing them into a single schema. Records carry each originating source in the adverts[] array. Figures reflect the platform overall; France is the primary and most complete market.

Frequently asked questions

Build on France property data today

Free trial, full documentation, real-time webhooks. One integration for every market we cover.