Search Property Transactions
search_property_transactionsSearch French property transactions (Demandes de Valeurs Foncières).
REQUIRED: You MUST provide at least one location filter:
code_postal (e.g., "75011" for Paris 11e)
commune (e.g., "PARIS 11", "LYON", "MARSEILLE" - uppercase; Paris uses arrondissements: "PARIS 01"–"PARIS 20")
code_departement (e.g., "75" for Paris, "69" for Rhône)
latitude + longitude for radius search (e.g., 48.8566, 2.3522 for Paris center)
address + code_postal for automatic geocoding (e.g., address: "12 rue de Rivoli", code_postal: "75001")
Common examples:
Paris 11e apartments: {commune: "PARIS 11", type_local: "Appartement"}
Near a location: {latitude: 48.8566, longitude: 2.3522, radius_m: 500}
By postal code: {code_postal: "69001", type_local: "Maison"}
By address: {address: "12 rue de Rivoli", code_postal: "75001", radius_m: 300}
Options:
summary_only=true: Get stats + 3 samples (~500 tokens vs ~3500 for full results) — use this for overviews. The stats cover every matching sale, identical to analyze_market_statistics (same date cap), unless prix_*/surface_*/pieces_min filters are set: then summary.basis = "sample" and they describe the returned page only.
limit: 1-100 results (default: 5)
type_local: "Appartement", "Maison", "Terrain", "Local commercial"
Note: radius_m > 1000m is automatically restricted to the last 12 months of data.
Cost: 5 credits per call
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default: 5) | |
| offset | No | Offset for pagination | |
| address | No | Street address for automatic geocoding — alternative to explicit lat/lon. Example: '12 rue de Rivoli'. Best used with code_postal for precision. Resolves via api-adresse.data.gouv.fr. | |
| commune | No | City/commune name (e.g., 'Paris', 'Lyon') | |
| date_fin | No | End date (YYYY-MM-DD) | |
| latitude | No | Latitude for radius search (requires longitude) | |
| prix_max | No | Maximum price in EUR | |
| prix_min | No | Minimum price in EUR | |
| radius_m | No | Radius in meters for location search (default: 500) | |
| longitude | No | Longitude for radius search (requires latitude) | |
| date_debut | No | Start date (YYYY-MM-DD) | |
| pieces_min | No | Minimum number of rooms | |
| type_local | No | Property type | |
| code_postal | No | Postal code (e.g., '75001') | |
| deduplicate | No | Group duplicate sales (same date, address, price) into single entries | |
| surface_max | No | Maximum surface area in m² | |
| surface_min | No | Minimum surface area in m² | |
| exclude_vefa | No | Exclude VEFA (new-build, vente en l'état futur d'achèvement) sales (default: true — keeps 'ancien' results from double-counting new-build activity) | |
| summary_only | No | Return only summary statistics with 3 sample transactions instead of full list (reduces context usage) | |
| code_departement | No | Department code (e.g., '73' for Savoie, '83' for Var) | |
| use_original_type | No | Use original type_local instead of smart computed_type_local (default: false) | |
| exclude_bulk_sales | No | Exclude bulk sales and aggregated transactions (default: true for clean market data) |