Lite Property Estimation
curl --request POST \
--url https://api.fluximmo.io/v2/protected/estimate/property/lite \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"habitation": {
"roomCount": 2,
"bedroomCount": 1,
"surface": {
"total": 100
},
"propertyCondition": {
"constructionYear": 123,
"generalConditions": []
},
"characteristics": {
"hasBalcony": true,
"hasCellar": true,
"hasGarage": true,
"hasLift": true,
"hasParking": true,
"hasPool": true,
"hasTerrace": true
},
"climate": {
"epcClimate": "GREENHOUSE_CLASSIFICATION_C",
"epcEnergy": "ENERGY_CLASSIFICATION_C"
},
"features": {
"furniture": null,
"propertyFloor": 1,
"propertyTotalFloor": 1
}
},
"location": {
"locationCoordinate": {
"location": [
6.374338,
43.474648
]
}
},
"type": "CLASS_HOUSE",
"offer": {
"type": "OFFER_BUY"
},
"land": {
"surface": 123
}
}
'import requests
url = "https://api.fluximmo.io/v2/protected/estimate/property/lite"
payload = {
"habitation": {
"roomCount": 2,
"bedroomCount": 1,
"surface": { "total": 100 },
"propertyCondition": {
"constructionYear": 123,
"generalConditions": []
},
"characteristics": {
"hasBalcony": True,
"hasCellar": True,
"hasGarage": True,
"hasLift": True,
"hasParking": True,
"hasPool": True,
"hasTerrace": True
},
"climate": {
"epcClimate": "GREENHOUSE_CLASSIFICATION_C",
"epcEnergy": "ENERGY_CLASSIFICATION_C"
},
"features": {
"furniture": None,
"propertyFloor": 1,
"propertyTotalFloor": 1
}
},
"location": { "locationCoordinate": { "location": [6.374338, 43.474648] } },
"type": "CLASS_HOUSE",
"offer": { "type": "OFFER_BUY" },
"land": { "surface": 123 }
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
habitation: {
roomCount: 2,
bedroomCount: 1,
surface: {total: 100},
propertyCondition: {constructionYear: 123, generalConditions: []},
characteristics: {
hasBalcony: true,
hasCellar: true,
hasGarage: true,
hasLift: true,
hasParking: true,
hasPool: true,
hasTerrace: true
},
climate: {
epcClimate: 'GREENHOUSE_CLASSIFICATION_C',
epcEnergy: 'ENERGY_CLASSIFICATION_C'
},
features: {furniture: null, propertyFloor: 1, propertyTotalFloor: 1}
},
location: {locationCoordinate: {location: [6.374338, 43.474648]}},
type: 'CLASS_HOUSE',
offer: {type: 'OFFER_BUY'},
land: {surface: 123}
})
};
fetch('https://api.fluximmo.io/v2/protected/estimate/property/lite', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluximmo.io/v2/protected/estimate/property/lite",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'habitation' => [
'roomCount' => 2,
'bedroomCount' => 1,
'surface' => [
'total' => 100
],
'propertyCondition' => [
'constructionYear' => 123,
'generalConditions' => [
]
],
'characteristics' => [
'hasBalcony' => true,
'hasCellar' => true,
'hasGarage' => true,
'hasLift' => true,
'hasParking' => true,
'hasPool' => true,
'hasTerrace' => true
],
'climate' => [
'epcClimate' => 'GREENHOUSE_CLASSIFICATION_C',
'epcEnergy' => 'ENERGY_CLASSIFICATION_C'
],
'features' => [
'furniture' => null,
'propertyFloor' => 1,
'propertyTotalFloor' => 1
]
],
'location' => [
'locationCoordinate' => [
'location' => [
6.374338,
43.474648
]
]
],
'type' => 'CLASS_HOUSE',
'offer' => [
'type' => 'OFFER_BUY'
],
'land' => [
'surface' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fluximmo.io/v2/protected/estimate/property/lite"
payload := strings.NewReader("{\n \"habitation\": {\n \"roomCount\": 2,\n \"bedroomCount\": 1,\n \"surface\": {\n \"total\": 100\n },\n \"propertyCondition\": {\n \"constructionYear\": 123,\n \"generalConditions\": []\n },\n \"characteristics\": {\n \"hasBalcony\": true,\n \"hasCellar\": true,\n \"hasGarage\": true,\n \"hasLift\": true,\n \"hasParking\": true,\n \"hasPool\": true,\n \"hasTerrace\": true\n },\n \"climate\": {\n \"epcClimate\": \"GREENHOUSE_CLASSIFICATION_C\",\n \"epcEnergy\": \"ENERGY_CLASSIFICATION_C\"\n },\n \"features\": {\n \"furniture\": null,\n \"propertyFloor\": 1,\n \"propertyTotalFloor\": 1\n }\n },\n \"location\": {\n \"locationCoordinate\": {\n \"location\": [\n 6.374338,\n 43.474648\n ]\n }\n },\n \"type\": \"CLASS_HOUSE\",\n \"offer\": {\n \"type\": \"OFFER_BUY\"\n },\n \"land\": {\n \"surface\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fluximmo.io/v2/protected/estimate/property/lite")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"habitation\": {\n \"roomCount\": 2,\n \"bedroomCount\": 1,\n \"surface\": {\n \"total\": 100\n },\n \"propertyCondition\": {\n \"constructionYear\": 123,\n \"generalConditions\": []\n },\n \"characteristics\": {\n \"hasBalcony\": true,\n \"hasCellar\": true,\n \"hasGarage\": true,\n \"hasLift\": true,\n \"hasParking\": true,\n \"hasPool\": true,\n \"hasTerrace\": true\n },\n \"climate\": {\n \"epcClimate\": \"GREENHOUSE_CLASSIFICATION_C\",\n \"epcEnergy\": \"ENERGY_CLASSIFICATION_C\"\n },\n \"features\": {\n \"furniture\": null,\n \"propertyFloor\": 1,\n \"propertyTotalFloor\": 1\n }\n },\n \"location\": {\n \"locationCoordinate\": {\n \"location\": [\n 6.374338,\n 43.474648\n ]\n }\n },\n \"type\": \"CLASS_HOUSE\",\n \"offer\": {\n \"type\": \"OFFER_BUY\"\n },\n \"land\": {\n \"surface\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluximmo.io/v2/protected/estimate/property/lite")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"habitation\": {\n \"roomCount\": 2,\n \"bedroomCount\": 1,\n \"surface\": {\n \"total\": 100\n },\n \"propertyCondition\": {\n \"constructionYear\": 123,\n \"generalConditions\": []\n },\n \"characteristics\": {\n \"hasBalcony\": true,\n \"hasCellar\": true,\n \"hasGarage\": true,\n \"hasLift\": true,\n \"hasParking\": true,\n \"hasPool\": true,\n \"hasTerrace\": true\n },\n \"climate\": {\n \"epcClimate\": \"GREENHOUSE_CLASSIFICATION_C\",\n \"epcEnergy\": \"ENERGY_CLASSIFICATION_C\"\n },\n \"features\": {\n \"furniture\": null,\n \"propertyFloor\": 1,\n \"propertyTotalFloor\": 1\n }\n },\n \"location\": {\n \"locationCoordinate\": {\n \"location\": [\n 6.374338,\n 43.474648\n ]\n }\n },\n \"type\": \"CLASS_HOUSE\",\n \"offer\": {\n \"type\": \"OFFER_BUY\"\n },\n \"land\": {\n \"surface\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"error": {
"message": "<string>",
"code": 123
}
}{
"error": {
"message": "<string>",
"code": 123
}
}{
"data": {
"price": 123,
"priceRange": {
"lower": 123,
"upper": 123
},
"metadata": {}
}
}IA — Estimations
Estimation immobilière lite — prix d'un bien (API V2)
Estimation de prix d’un bien immobilier français à partir de sa localisation, ses caractéristiques et son type d’offre.
Lite Property Estimation
curl --request POST \
--url https://api.fluximmo.io/v2/protected/estimate/property/lite \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"habitation": {
"roomCount": 2,
"bedroomCount": 1,
"surface": {
"total": 100
},
"propertyCondition": {
"constructionYear": 123,
"generalConditions": []
},
"characteristics": {
"hasBalcony": true,
"hasCellar": true,
"hasGarage": true,
"hasLift": true,
"hasParking": true,
"hasPool": true,
"hasTerrace": true
},
"climate": {
"epcClimate": "GREENHOUSE_CLASSIFICATION_C",
"epcEnergy": "ENERGY_CLASSIFICATION_C"
},
"features": {
"furniture": null,
"propertyFloor": 1,
"propertyTotalFloor": 1
}
},
"location": {
"locationCoordinate": {
"location": [
6.374338,
43.474648
]
}
},
"type": "CLASS_HOUSE",
"offer": {
"type": "OFFER_BUY"
},
"land": {
"surface": 123
}
}
'import requests
url = "https://api.fluximmo.io/v2/protected/estimate/property/lite"
payload = {
"habitation": {
"roomCount": 2,
"bedroomCount": 1,
"surface": { "total": 100 },
"propertyCondition": {
"constructionYear": 123,
"generalConditions": []
},
"characteristics": {
"hasBalcony": True,
"hasCellar": True,
"hasGarage": True,
"hasLift": True,
"hasParking": True,
"hasPool": True,
"hasTerrace": True
},
"climate": {
"epcClimate": "GREENHOUSE_CLASSIFICATION_C",
"epcEnergy": "ENERGY_CLASSIFICATION_C"
},
"features": {
"furniture": None,
"propertyFloor": 1,
"propertyTotalFloor": 1
}
},
"location": { "locationCoordinate": { "location": [6.374338, 43.474648] } },
"type": "CLASS_HOUSE",
"offer": { "type": "OFFER_BUY" },
"land": { "surface": 123 }
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
habitation: {
roomCount: 2,
bedroomCount: 1,
surface: {total: 100},
propertyCondition: {constructionYear: 123, generalConditions: []},
characteristics: {
hasBalcony: true,
hasCellar: true,
hasGarage: true,
hasLift: true,
hasParking: true,
hasPool: true,
hasTerrace: true
},
climate: {
epcClimate: 'GREENHOUSE_CLASSIFICATION_C',
epcEnergy: 'ENERGY_CLASSIFICATION_C'
},
features: {furniture: null, propertyFloor: 1, propertyTotalFloor: 1}
},
location: {locationCoordinate: {location: [6.374338, 43.474648]}},
type: 'CLASS_HOUSE',
offer: {type: 'OFFER_BUY'},
land: {surface: 123}
})
};
fetch('https://api.fluximmo.io/v2/protected/estimate/property/lite', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluximmo.io/v2/protected/estimate/property/lite",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'habitation' => [
'roomCount' => 2,
'bedroomCount' => 1,
'surface' => [
'total' => 100
],
'propertyCondition' => [
'constructionYear' => 123,
'generalConditions' => [
]
],
'characteristics' => [
'hasBalcony' => true,
'hasCellar' => true,
'hasGarage' => true,
'hasLift' => true,
'hasParking' => true,
'hasPool' => true,
'hasTerrace' => true
],
'climate' => [
'epcClimate' => 'GREENHOUSE_CLASSIFICATION_C',
'epcEnergy' => 'ENERGY_CLASSIFICATION_C'
],
'features' => [
'furniture' => null,
'propertyFloor' => 1,
'propertyTotalFloor' => 1
]
],
'location' => [
'locationCoordinate' => [
'location' => [
6.374338,
43.474648
]
]
],
'type' => 'CLASS_HOUSE',
'offer' => [
'type' => 'OFFER_BUY'
],
'land' => [
'surface' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fluximmo.io/v2/protected/estimate/property/lite"
payload := strings.NewReader("{\n \"habitation\": {\n \"roomCount\": 2,\n \"bedroomCount\": 1,\n \"surface\": {\n \"total\": 100\n },\n \"propertyCondition\": {\n \"constructionYear\": 123,\n \"generalConditions\": []\n },\n \"characteristics\": {\n \"hasBalcony\": true,\n \"hasCellar\": true,\n \"hasGarage\": true,\n \"hasLift\": true,\n \"hasParking\": true,\n \"hasPool\": true,\n \"hasTerrace\": true\n },\n \"climate\": {\n \"epcClimate\": \"GREENHOUSE_CLASSIFICATION_C\",\n \"epcEnergy\": \"ENERGY_CLASSIFICATION_C\"\n },\n \"features\": {\n \"furniture\": null,\n \"propertyFloor\": 1,\n \"propertyTotalFloor\": 1\n }\n },\n \"location\": {\n \"locationCoordinate\": {\n \"location\": [\n 6.374338,\n 43.474648\n ]\n }\n },\n \"type\": \"CLASS_HOUSE\",\n \"offer\": {\n \"type\": \"OFFER_BUY\"\n },\n \"land\": {\n \"surface\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fluximmo.io/v2/protected/estimate/property/lite")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"habitation\": {\n \"roomCount\": 2,\n \"bedroomCount\": 1,\n \"surface\": {\n \"total\": 100\n },\n \"propertyCondition\": {\n \"constructionYear\": 123,\n \"generalConditions\": []\n },\n \"characteristics\": {\n \"hasBalcony\": true,\n \"hasCellar\": true,\n \"hasGarage\": true,\n \"hasLift\": true,\n \"hasParking\": true,\n \"hasPool\": true,\n \"hasTerrace\": true\n },\n \"climate\": {\n \"epcClimate\": \"GREENHOUSE_CLASSIFICATION_C\",\n \"epcEnergy\": \"ENERGY_CLASSIFICATION_C\"\n },\n \"features\": {\n \"furniture\": null,\n \"propertyFloor\": 1,\n \"propertyTotalFloor\": 1\n }\n },\n \"location\": {\n \"locationCoordinate\": {\n \"location\": [\n 6.374338,\n 43.474648\n ]\n }\n },\n \"type\": \"CLASS_HOUSE\",\n \"offer\": {\n \"type\": \"OFFER_BUY\"\n },\n \"land\": {\n \"surface\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluximmo.io/v2/protected/estimate/property/lite")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"habitation\": {\n \"roomCount\": 2,\n \"bedroomCount\": 1,\n \"surface\": {\n \"total\": 100\n },\n \"propertyCondition\": {\n \"constructionYear\": 123,\n \"generalConditions\": []\n },\n \"characteristics\": {\n \"hasBalcony\": true,\n \"hasCellar\": true,\n \"hasGarage\": true,\n \"hasLift\": true,\n \"hasParking\": true,\n \"hasPool\": true,\n \"hasTerrace\": true\n },\n \"climate\": {\n \"epcClimate\": \"GREENHOUSE_CLASSIFICATION_C\",\n \"epcEnergy\": \"ENERGY_CLASSIFICATION_C\"\n },\n \"features\": {\n \"furniture\": null,\n \"propertyFloor\": 1,\n \"propertyTotalFloor\": 1\n }\n },\n \"location\": {\n \"locationCoordinate\": {\n \"location\": [\n 6.374338,\n 43.474648\n ]\n }\n },\n \"type\": \"CLASS_HOUSE\",\n \"offer\": {\n \"type\": \"OFFER_BUY\"\n },\n \"land\": {\n \"surface\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"error": {
"message": "<string>",
"code": 123
}
}{
"error": {
"message": "<string>",
"code": 123
}
}{
"data": {
"price": 123,
"priceRange": {
"lower": 123,
"upper": 123
},
"metadata": {}
}
}À quoi ça sert
POST /v2/protected/estimate/property/lite retourne une estimation du prix d’un bien immobilier en France (prix central + intervalle) à partir d’un payload minimal (localisation + habitation + type + offre).
L’endpoint est synchrone et peut être appelé depuis votre app (UI, worker batch, scoring de portefeuille). Vous pouvez cacher côté client par hash des champs métier pour économiser du quota.
Payload
| Champ | Type | Obligatoire | Sens |
|---|---|---|---|
location.locationCoordinate.location | [number, number] | Oui | Coordonnées WGS84 au format [lng, lat]. À obtenir via le géocodage. |
habitation.surface.total | number | Oui | Surface habitable totale en m². |
habitation.roomCount | integer | Oui | Nombre de pièces (T1 = 1, T2 = 2, etc.). |
habitation.bedroomCount | integer | Oui | Nombre de chambres. |
land.surface | number | Si maison | Surface du terrain en m² (objet land racine, optionnel). |
type | enum | Oui | CLASS_FLAT ou CLASS_HOUSE. |
offer.type | enum | Oui | OFFER_BUY (l’endpoint lite ne supporte pas OFFER_RENT). |
Réponse
L’API retourne un prix central, un intervalle (priceRange) et un objet metadata. Le contrat exact est documenté plus bas par le bloc OpenAPI (POST /v2/protected/estimate/property/lite).
Pour un appel pratique de bout en bout (géocodage + estimation + cache), suivez le playbook Estimer un bien.
Exemple
curl -X POST https://api.fluximmo.io/v2/protected/estimate/property/lite \
-H "x-api-key: $FLUXIMMO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"location": {
"locationCoordinate": { "location": [2.3376, 48.8606] }
},
"habitation": {
"roomCount": 3,
"bedroomCount": 2,
"surface": { "total": 60 }
},
"type": "CLASS_FLAT",
"offer": { "type": "OFFER_BUY" }
}'
Liens utiles
- Playbook — Estimer un bien — géocodage + estimation + cache, bout en bout.
- Géocoder une adresse en amont.
Clé test gratuite — 1 semaine
Créez un compte sur my.fluximmo.io pour récupérer une clé API test gratuite (1 semaine, accès limité). Aucun paiement requis.
Authorizations
Body
application/json
Habitation characteristics of the property
Show child attributes
Show child attributes
Location details of the property
Show child attributes
Show child attributes
Type of the property
Available options:
CLASS_HOUSE, CLASS_FLAT Example:
"CLASS_HOUSE"
Offer information of the property
Show child attributes
Show child attributes
Land details of the property
Show child attributes
Show child attributes
Response
Error object
Show child attributes
Show child attributes
Was this page helpful?
⌘I

