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.
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.
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.
The same property across multiple portals resolves to one record, with every source kept in the adverts[] array (price, description, energy, publisher, URL).
Filter by official INSEE commune codes, department IRIs, city IRIs or zip codes. Resolve names via /cities and /public/location-autocomplete.
Pass lat/lon/radius to search any point in France. Property responses include locations{lat,lon} for mapping and spatial joins.
/indicators/price_per_meter returns local €/m² so you can benchmark a listing against its area without building the aggregation yourself.
POST /searches with an eventEndpoint to receive property.ad.create, ad.update.price, ad.update.surface and more as they happen — no polling.
Price, price-per-meter, surface, rooms, bedrooms, property type, transaction type, energy category (A–G), publisher type and pictures[], normalized across sources.
transactionType for sale or rental; propertyTypes[] covering apartments, houses, buildings, parking, offices, land and shops.
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.
Free trial, full documentation, real-time webhooks. One integration for every market we cover.