Lite Similar Search properties
curl --request POST \
--url https://api.fluximmo.io/v2/protected/properties/search/lite/similar \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"orderBy": "DESC",
"search": {
"filterProperty": {
"land": {
"surface": {
"max": 123,
"min": 123
}
},
"location": [],
"meta": {
"firstSeenAt": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
},
"isTotallyOffline": true,
"lastPublishedAt": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
},
"lastSeenAt": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
},
"lastUpdatedAt": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
}
},
"price": {
"latest": {
"value": {
"max": 123,
"min": 123
},
"valuePerArea": {
"max": 123,
"min": 123
}
}
},
"type": [
"CLASS_HOUSE"
],
"offer": [],
"habitation": {
"bedroomCount": {
"max": 123,
"min": 123
},
"roomCount": {
"max": 123,
"min": 123
},
"characteristics": {
"hasBalcony": true,
"hasCellar": true,
"hasGarage": true,
"hasLift": true,
"hasParking": true,
"hasPool": true,
"hasTerrace": true
},
"climate": {
"epcClimate": [],
"epcEnergy": []
},
"surface": {
"total": {
"max": 123,
"min": 123
}
},
"features": {
"furniture": [],
"propertyFloor": {
"max": 123,
"min": 123
},
"propertyTotalFloor": {
"max": 123,
"min": 123
}
},
"propertyCondition": [
{
"constructionYear": 123,
"generalConditions": []
}
]
}
},
"fullTexts": [
"<string>"
],
"keywords": [
"<string>"
]
},
"size": 10,
"sortBy": "FIRST_SEEN_AT",
"searchAfterHash": "<string>",
"boosts": {}
}
'{
"data": {
"items": [
{
"adverts": [
{
"contactInCharge": {
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"pseudonym": "<string>"
},
"description": "<string>",
"firstSeenAt": "2022-10-21T11:31:33.593Z",
"flxId": "<string>",
"isOnline": true,
"lastSeenAt": "2022-10-21T11:31:33.593Z",
"location": [
123
],
"medias": {
"images": [
{
"gaussianHash": "<string>",
"imageId": "<string>",
"meanHash": "<string>",
"perceptualHash": "<string>",
"colorHash": "<string>",
"differenceHash": "<string>",
"url": "<string>"
}
],
"virtualVisitExternalUrl": [
"<string>"
]
},
"price": {
"charges": {
"yearlyCondoniumFees": 123,
"yearlyElectricityFees": 123,
"yearlyHeatingFees": 123,
"yearlyHousingTax": 123,
"yearlyLivingTax": 123,
"yearlyRentalFees": 123,
"monthlyRentSupplement": 123
},
"currency": null,
"initial": {
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"value": 123,
"valuePerArea": 123
},
"isAuction": true,
"latest": {
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"value": 123,
"valuePerArea": 123
},
"scope": null,
"warrantyDeposit": 123,
"variation": {
"sinceLastModified": 123,
"sincePublished": 123,
"absoluteSinceLastModified": 123,
"absoluteSincePublished": 123
}
},
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"title": "<string>",
"offlineAt": "2022-10-21T11:31:33.593Z",
"hasAnomaly": true,
"isPro": true,
"seller": {
"flxId": "<string>",
"name": "<string>",
"siren": "<string>",
"type": "SELLER_TYPE_AGENCY"
},
"isExclusive": true
}
],
"description": "<string>",
"flxId": "<string>",
"habitation": {
"bathroomCount": 123,
"bedroomCount": 123,
"characteristics": {
"hasAlarm": true,
"hasBalcony": true,
"hasCellar": true,
"hasConcierge": true,
"hasDigicode": true,
"hasFireplace": true,
"hasGarage": true,
"hasGarden": true,
"hasGrenier": true,
"hasInterphone": true,
"hasJacuzzi": true,
"hasLand": true,
"hasLift": true,
"hasMezzanine": true,
"hasParking": true,
"hasPool": true,
"hasTerrace": true,
"hasVisAVis": true,
"isPeaceful": true
},
"climate": {
"epcClimate": "GREENHOUSE_CLASSIFICATION_C",
"epcClimateScore": 123,
"epcEnergy": "ENERGY_CLASSIFICATION_C",
"epcEnergyScore": 123,
"epcClimateDate": "2022-10-21T11:31:33.593Z",
"epcEnergyDate": "2022-10-21T11:31:33.593Z"
},
"features": {
"exposure": null,
"furniture": null,
"propertyFloor": 123,
"propertyTotalFloor": 123,
"viewTypes": [],
"constructionMaterials": [],
"hasThroughExposure": true,
"viewOns": []
},
"heatTypes": [],
"heatTypeDetails": [],
"heatings": [],
"propertyCondition": {
"constructionYear": 123,
"interiorCondition": null,
"renovationYear": 123,
"generalConditions": []
},
"roomCount": 123,
"surface": {
"balconies": 123,
"floorSpace": 123,
"gardens": 123,
"groundFloor": 123,
"kitchen": 123,
"livingSpace": 123,
"livingRoom": 123,
"terraces": 123,
"total": 123
},
"type": [],
"wcCount": 123
},
"hasAnomaly": true,
"isUrgent": true,
"land": {
"canConstruct": true,
"hasBuildingPermit": true,
"hasElectricity": true,
"hasTelecom": true,
"hasWater": true,
"isServiced": true,
"surface": 123,
"surfaceConstructable": 123,
"type": null
},
"location": {
"city": "<string>",
"cityCoordinate": {
"location": [
2.3522,
48.8566
]
},
"department": "<string>",
"inseeCode": "<string>",
"irisCode": "<string>",
"locationCoordinate": {
"location": [
2.3522,
48.8566
]
},
"postalCode": "<string>"
},
"medias": {
"images": [
{
"gaussianHash": "<string>",
"imageId": "<string>",
"meanHash": "<string>",
"perceptualHash": "<string>",
"colorHash": "<string>",
"differenceHash": "<string>",
"url": "<string>"
}
],
"virtualVisitExternalUrl": [
"<string>"
]
},
"meta": {
"firstSeenAt": "2022-10-21T11:31:33.593Z",
"isTotallyOffline": true,
"lastPublishedAt": "2023-11-07T05:31:56Z",
"lastSeenAt": "2022-10-21T11:31:33.593Z",
"lastUpdatedAt": "2022-10-21T11:31:33.593Z",
"totallyOfflineAt": "2022-10-21T11:31:33.593Z"
},
"parking": {
"count": 123,
"numberOfCars": 123,
"surface": 123,
"type": null
},
"price": {
"charges": {
"yearlyCondoniumFees": 123,
"yearlyElectricityFees": 123,
"yearlyHeatingFees": 123,
"yearlyHousingTax": 123,
"yearlyLivingTax": 123,
"yearlyRentalFees": 123,
"monthlyRentSupplement": 123
},
"currency": null,
"initial": {
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"value": 123,
"valuePerArea": 123
},
"isAuction": true,
"latest": {
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"value": 123,
"valuePerArea": 123
},
"scope": null,
"warrantyDeposit": 123,
"variation": {
"sinceLastModified": 123,
"sincePublished": 123,
"absoluteSinceLastModified": 123,
"absoluteSincePublished": 123
}
},
"tags": [
"<string>"
],
"title": "<string>",
"type": "CLASS_HOUSE",
"offer": {
"isCurrentlyOccupied": true,
"renting": {
"isColocation": true,
"isLongTerm": true,
"isShortTerm": true,
"isSubLease": true
},
"type": "OFFER_BUY"
}
}
],
"searchAfterHash": "<string>",
"count": 123
}
}Biens similaires (lite)
Trouver des biens similaires à un flxId ou un payload de référence.
Lite Similar Search properties
curl --request POST \
--url https://api.fluximmo.io/v2/protected/properties/search/lite/similar \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"orderBy": "DESC",
"search": {
"filterProperty": {
"land": {
"surface": {
"max": 123,
"min": 123
}
},
"location": [],
"meta": {
"firstSeenAt": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
},
"isTotallyOffline": true,
"lastPublishedAt": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
},
"lastSeenAt": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
},
"lastUpdatedAt": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
}
},
"price": {
"latest": {
"value": {
"max": 123,
"min": 123
},
"valuePerArea": {
"max": 123,
"min": 123
}
}
},
"type": [
"CLASS_HOUSE"
],
"offer": [],
"habitation": {
"bedroomCount": {
"max": 123,
"min": 123
},
"roomCount": {
"max": 123,
"min": 123
},
"characteristics": {
"hasBalcony": true,
"hasCellar": true,
"hasGarage": true,
"hasLift": true,
"hasParking": true,
"hasPool": true,
"hasTerrace": true
},
"climate": {
"epcClimate": [],
"epcEnergy": []
},
"surface": {
"total": {
"max": 123,
"min": 123
}
},
"features": {
"furniture": [],
"propertyFloor": {
"max": 123,
"min": 123
},
"propertyTotalFloor": {
"max": 123,
"min": 123
}
},
"propertyCondition": [
{
"constructionYear": 123,
"generalConditions": []
}
]
}
},
"fullTexts": [
"<string>"
],
"keywords": [
"<string>"
]
},
"size": 10,
"sortBy": "FIRST_SEEN_AT",
"searchAfterHash": "<string>",
"boosts": {}
}
'{
"data": {
"items": [
{
"adverts": [
{
"contactInCharge": {
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"pseudonym": "<string>"
},
"description": "<string>",
"firstSeenAt": "2022-10-21T11:31:33.593Z",
"flxId": "<string>",
"isOnline": true,
"lastSeenAt": "2022-10-21T11:31:33.593Z",
"location": [
123
],
"medias": {
"images": [
{
"gaussianHash": "<string>",
"imageId": "<string>",
"meanHash": "<string>",
"perceptualHash": "<string>",
"colorHash": "<string>",
"differenceHash": "<string>",
"url": "<string>"
}
],
"virtualVisitExternalUrl": [
"<string>"
]
},
"price": {
"charges": {
"yearlyCondoniumFees": 123,
"yearlyElectricityFees": 123,
"yearlyHeatingFees": 123,
"yearlyHousingTax": 123,
"yearlyLivingTax": 123,
"yearlyRentalFees": 123,
"monthlyRentSupplement": 123
},
"currency": null,
"initial": {
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"value": 123,
"valuePerArea": 123
},
"isAuction": true,
"latest": {
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"value": 123,
"valuePerArea": 123
},
"scope": null,
"warrantyDeposit": 123,
"variation": {
"sinceLastModified": 123,
"sincePublished": 123,
"absoluteSinceLastModified": 123,
"absoluteSincePublished": 123
}
},
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"title": "<string>",
"offlineAt": "2022-10-21T11:31:33.593Z",
"hasAnomaly": true,
"isPro": true,
"seller": {
"flxId": "<string>",
"name": "<string>",
"siren": "<string>",
"type": "SELLER_TYPE_AGENCY"
},
"isExclusive": true
}
],
"description": "<string>",
"flxId": "<string>",
"habitation": {
"bathroomCount": 123,
"bedroomCount": 123,
"characteristics": {
"hasAlarm": true,
"hasBalcony": true,
"hasCellar": true,
"hasConcierge": true,
"hasDigicode": true,
"hasFireplace": true,
"hasGarage": true,
"hasGarden": true,
"hasGrenier": true,
"hasInterphone": true,
"hasJacuzzi": true,
"hasLand": true,
"hasLift": true,
"hasMezzanine": true,
"hasParking": true,
"hasPool": true,
"hasTerrace": true,
"hasVisAVis": true,
"isPeaceful": true
},
"climate": {
"epcClimate": "GREENHOUSE_CLASSIFICATION_C",
"epcClimateScore": 123,
"epcEnergy": "ENERGY_CLASSIFICATION_C",
"epcEnergyScore": 123,
"epcClimateDate": "2022-10-21T11:31:33.593Z",
"epcEnergyDate": "2022-10-21T11:31:33.593Z"
},
"features": {
"exposure": null,
"furniture": null,
"propertyFloor": 123,
"propertyTotalFloor": 123,
"viewTypes": [],
"constructionMaterials": [],
"hasThroughExposure": true,
"viewOns": []
},
"heatTypes": [],
"heatTypeDetails": [],
"heatings": [],
"propertyCondition": {
"constructionYear": 123,
"interiorCondition": null,
"renovationYear": 123,
"generalConditions": []
},
"roomCount": 123,
"surface": {
"balconies": 123,
"floorSpace": 123,
"gardens": 123,
"groundFloor": 123,
"kitchen": 123,
"livingSpace": 123,
"livingRoom": 123,
"terraces": 123,
"total": 123
},
"type": [],
"wcCount": 123
},
"hasAnomaly": true,
"isUrgent": true,
"land": {
"canConstruct": true,
"hasBuildingPermit": true,
"hasElectricity": true,
"hasTelecom": true,
"hasWater": true,
"isServiced": true,
"surface": 123,
"surfaceConstructable": 123,
"type": null
},
"location": {
"city": "<string>",
"cityCoordinate": {
"location": [
2.3522,
48.8566
]
},
"department": "<string>",
"inseeCode": "<string>",
"irisCode": "<string>",
"locationCoordinate": {
"location": [
2.3522,
48.8566
]
},
"postalCode": "<string>"
},
"medias": {
"images": [
{
"gaussianHash": "<string>",
"imageId": "<string>",
"meanHash": "<string>",
"perceptualHash": "<string>",
"colorHash": "<string>",
"differenceHash": "<string>",
"url": "<string>"
}
],
"virtualVisitExternalUrl": [
"<string>"
]
},
"meta": {
"firstSeenAt": "2022-10-21T11:31:33.593Z",
"isTotallyOffline": true,
"lastPublishedAt": "2023-11-07T05:31:56Z",
"lastSeenAt": "2022-10-21T11:31:33.593Z",
"lastUpdatedAt": "2022-10-21T11:31:33.593Z",
"totallyOfflineAt": "2022-10-21T11:31:33.593Z"
},
"parking": {
"count": 123,
"numberOfCars": 123,
"surface": 123,
"type": null
},
"price": {
"charges": {
"yearlyCondoniumFees": 123,
"yearlyElectricityFees": 123,
"yearlyHeatingFees": 123,
"yearlyHousingTax": 123,
"yearlyLivingTax": 123,
"yearlyRentalFees": 123,
"monthlyRentSupplement": 123
},
"currency": null,
"initial": {
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"value": 123,
"valuePerArea": 123
},
"isAuction": true,
"latest": {
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"value": 123,
"valuePerArea": 123
},
"scope": null,
"warrantyDeposit": 123,
"variation": {
"sinceLastModified": 123,
"sincePublished": 123,
"absoluteSinceLastModified": 123,
"absoluteSincePublished": 123
}
},
"tags": [
"<string>"
],
"title": "<string>",
"type": "CLASS_HOUSE",
"offer": {
"isCurrentlyOccupied": true,
"renting": {
"isColocation": true,
"isLongTerm": true,
"isShortTerm": true,
"isSubLease": true
},
"type": "OFFER_BUY"
}
}
],
"searchAfterHash": "<string>",
"count": 123
}
}Endpoint en BETA. L’algorithme de scoring de similarité (boosts, distance) est susceptible d’évoluer. Le contrat d’entrée/sortie reste stable. Signalez-nous tout résultat incohérent — nous ajustons les boosts en continu.
flxId ou par payload). Pratique pour les cas peer comparison / AVM : à partir d’un bien donné, trouver les N biens les plus proches en termes de localisation, surface, prix, type. Le scoring repose sur des boosts de pertinence, passés via le champ optionnel boosts.
À privilégier pour : modules “biens similaires” sur fiche bien, AVM peer-based, recommandations utilisateur, alimentation d’un comparateur.
Cas d’usage
- Module “biens similaires” sur une fiche détaillée (suggestions contextualisées)
- AVM (Automated Valuation Model) : prix médian / quartile sur peers proches
- Comparateur : trouver 5-10 biens comparables à présenter à un acheteur
- Détection d’anomalie de prix : un bien dont les peers sont 30% plus chers
- Réassurance vendeur : “voici les biens vendus / en vente comparables”
Filtres clés
Mêmes filtres quesearch/lite (pas d’adverts[] nested, pas de parking, pas de process, pas de tags, pas de hasAnomaly, pas de isUrgent).
Champ additionnel : boosts (objet optionnel) — map nom de champ → coefficient pour ajuster le poids de chaque dimension de similarité (ex: pondérer plus fort la distance géo vs la surface). Laissez vide pour utiliser les boosts par défaut Fluximmo.
Le filtre
location[].city est ignoré côté moteur de recherche. Utilisez postalCode, inseeCode ou department pour filtrer par zone administrative — sinon le résultat couvre toute la France.Exemples
Exemple 1 — Peer comparison à partir d’un quartier + critères de référence
Cas AVM peer-based : on cherche des biens similaires à un T3 ~70 m² à vendre dans le 11e arrondissement de Paris, dans un rayon de 1.5 km autour d’un point de référence, budget proche, même type. Le moteur retourne les biens les plus similaires triés par score.Pour une similarité à partir d’un
flxId existant, fetchez d’abord la property cible via GET /v2/protected/properties/{flxId} pour récupérer ses caractéristiques, puis utilisez-les comme filtres dans le payload ci-dessous. Cet endpoint n’accepte pas flxId directement comme entrée.{
"size": 10,
"sortBy": "RELEVANCE",
"orderBy": "DESC",
"search": {
"filterProperty": {
"location": [
{
"locationCoordinate": {
"location": {
"geoDistance": {
"pin": { "lat": 48.8566, "lon": 2.3776 },
"distanceKm": 1.5
}
}
}
}
],
"type": ["CLASS_FLAT"],
"offer": [{ "type": "OFFER_BUY" }],
"price": { "latest": { "value": { "min": 450000, "max": 750000 } } },
"habitation": {
"surface": { "total": { "min": 55, "max": 90 } },
"bedroomCount": { "min": 2, "max": 3 }
},
"meta": { "isTotallyOffline": false }
}
},
"boosts": {
"habitation.surface.total": 2.0,
"price.latest.value": 1.5
}
}
curl -X POST https://api.fluximmo.io/v2/protected/properties/search/lite/similar \
-H "x-api-key: $FLUXIMMO_API_KEY" \
-H "Content-Type: application/json" \
-d @payload.json
Pagination
CursorsearchAfterHash identique à search full. size accepte jusqu’à 100 sur cet endpoint (à confirmer selon votre quota). sortBy=RELEVANCE est le tri naturel ici (score de similarité), mais vous pouvez forcer un autre critère (PRICE, FIRST_SEEN_AT) si besoin.Authorizations
Body
application/json
Available options:
ASC, DESC Example:
"DESC"
Show child attributes
Show child attributes
Required range:
1 <= x <= 100Example:
10
Available options:
FIRST_SEEN_AT, PRICE, LAST_UPDATED_AT, LAST_SEEN_AT, RELEVANCE Example:
"FIRST_SEEN_AT"
The searchAfterHash parameter allows you to retrieve the next page of results by using the searchAfterHash value returned in the response from the previous page. This method eliminates the complexities of traditional pagination methods and ensures accurate results, regardless of insertions or deletions in the dataset.
A map of field names to boost values
Show child attributes
Show child attributes
Response
Show child attributes
Show child attributes
Was this page helpful?
⌘I

