Search adverts
curl --request POST \
--url https://api.fluximmo.io/v2/protected/adverts/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"orderBy": "DESC",
"search": {
"filterAd": {
"currentPrice": {
"value": {
"max": 123,
"min": 123
},
"valuePerArea": {
"max": 123,
"min": 123
}
},
"habitation": {
"bathroomCount": {
"max": 123,
"min": 123
},
"bedroomCount": {
"max": 123,
"min": 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": [],
"epcClimateScore": {
"max": 123,
"min": 123
},
"epcEnergy": [],
"epcEnergyScore": {
"max": 123,
"min": 123
},
"epcClimateDate": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
},
"epcEnergyDate": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
}
},
"features": {
"exposure": [],
"furniture": [],
"propertyFloor": {
"max": 123,
"min": 123
},
"propertyTotalFloor": {
"max": 123,
"min": 123
},
"constructionMaterials": [],
"glazingTypes": [],
"hasThroughExposure": true,
"viewOns": [],
"viewTypes": []
},
"heatTypes": [],
"heatTypeDetails": [],
"heatings": [],
"propertyCondition": [
{
"constructionYear": 123,
"interiorCondition": null,
"renovationYear": 123,
"generalConditions": []
}
],
"roomCount": {
"max": 123,
"min": 123
},
"surface": {
"balconies": {
"max": 123,
"min": 123
},
"floorSpace": {
"max": 123,
"min": 123
},
"gardens": {
"max": 123,
"min": 123
},
"groundFloor": {
"max": 123,
"min": 123
},
"kitchen": {
"max": 123,
"min": 123
},
"livingSpace": {
"max": 123,
"min": 123
},
"livingroom": {
"max": 123,
"min": 123
},
"terraces": {
"max": 123,
"min": 123
},
"total": {
"max": 123,
"min": 123
}
},
"type": "PROPERTY_TYPE_T1_T2",
"wcCount": {
"max": 123,
"min": 123
}
},
"hasAnomaly": true,
"isAuction": true,
"isUrgent": true,
"land": {
"canConstruct": true,
"isServiced": true,
"surface": {
"max": 123,
"min": 123
},
"surfaceConstructable": {
"max": 123,
"min": 123
},
"type": [],
"haveBuildingPermit": true,
"haveElectricity": true,
"haveTelecom": true,
"haveWater": true
},
"lastModifiedAt": [
{
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
}
],
"offer": [
{
"isCurrentlyOccupied": true,
"renting": {
"isColocation": true,
"isLongTerm": true,
"isShortTerm": true,
"isSubLease": true
},
"type": "OFFER_BUY"
}
],
"parking": {
"count": {
"max": 123,
"min": 123
},
"numberOfCars": {
"max": 123,
"min": 123
},
"surface": {
"max": 123,
"min": 123
},
"type": []
},
"process": [],
"scope": [],
"tags": [
"<string>"
],
"type": [
"CLASS_HOUSE"
],
"warrantyDeposit": {
"max": 123,
"min": 123
},
"firstSeenAt": [
{
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
}
],
"location": {
"cityCoordinate": {
"location": {
"geoBoundingBox": {
"bottomRight": {
"lat": 123,
"lon": 123
},
"topLeft": {
"lat": 123,
"lon": 123
}
},
"geoDistance": {
"distanceKm": 123,
"pin": {
"lat": 123,
"lon": 123
}
},
"geoInseeCodeDistance": {
"distanceKm": 123,
"inseeCode": "<string>"
}
}
},
"department": "<string>",
"inseeCode": "<string>",
"irisCode": "<string>",
"locationCoordinate": {
"location": {
"geoBoundingBox": {
"bottomRight": {
"lat": 123,
"lon": 123
},
"topLeft": {
"lat": 123,
"lon": 123
}
},
"geoDistance": {
"distanceKm": 123,
"pin": {
"lat": 123,
"lon": 123
}
},
"geoInseeCodeDistance": {
"distanceKm": 123,
"inseeCode": "<string>"
}
}
},
"postalCode": "<string>"
},
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"currency": [],
"mainPropertyAdFlxId": [
"<string>"
],
"propertyFlxId": [
"<string>"
],
"isPro": true,
"seller": [],
"isOnline": true,
"isExclusive": true
},
"fullTexts": [
"<string>"
],
"keywords": [
"<string>"
]
},
"size": 10,
"sortBy": "LAST_SEEN_AT",
"searchAfterHash": "<string>"
}
'{
"data": {
"items": [
{
"contactInCharge": {
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"pseudonym": "<string>"
},
"charges": {
"yearlyCondoniumFees": 123,
"yearlyElectricityFees": 123,
"yearlyHeatingFees": 123,
"yearlyHousingTax": 123,
"yearlyLivingTax": 123,
"yearlyRentalFees": 123,
"monthlyRentSupplement": 123
},
"currency": null,
"currentPrice": {
"value": 123,
"valuePerArea": 123
},
"description": "<string>",
"firstSeenAt": "2022-10-21T11:31:33.593Z",
"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,
"isAuction": true,
"isUrgent": true,
"land": {
"canConstruct": true,
"hasBuildingPermit": true,
"hasElectricity": true,
"hasTelecom": true,
"hasWater": true,
"isServiced": true,
"surface": 123,
"surfaceConstructable": 123,
"type": null
},
"lastModifiedAt": "2022-10-21T11:31:33.593Z",
"location": {
"city": "<string>",
"cityCoordinate": {
"location": [
123
],
"isExactLocation": true
},
"department": "<string>",
"inseeCode": "<string>",
"irisCode": "<string>",
"locationCoordinate": {
"location": [
123
],
"isExactLocation": true
},
"postalCode": "<string>"
},
"medias": {
"images": [
{
"gaussianHash": "<string>",
"imageId": "<string>",
"meanHash": "<string>",
"perceptualHash": "<string>",
"colorHash": "<string>",
"differenceHash": "<string>",
"url": "<string>"
}
],
"virtualVisitExternalUrl": [
"<string>"
]
},
"parking": {
"count": 123,
"numberOfCars": 123,
"surface": 123,
"type": null
},
"scope": null,
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"tags": [
"<string>"
],
"title": "<string>",
"type": "CLASS_HOUSE",
"warrantyDeposit": 123,
"offer": {
"isCurrentlyOccupied": true,
"renting": {
"isColocation": true,
"isLongTerm": true,
"isShortTerm": true,
"isSubLease": true
},
"type": "OFFER_BUY"
},
"mainPropertyAdFlxId": "<string>",
"propertyFlxId": "<string>",
"isOnline": true,
"lastSeenAt": "2023-11-07T05:31:56Z",
"isPro": true,
"seller": {
"flxId": "<string>",
"name": "<string>",
"siren": "<string>",
"type": "SELLER_TYPE_AGENCY"
},
"isExclusive": true
}
],
"searchAfterHash": "<string>",
"count": 123
}
}Rechercher des annonces (search ADVERTS)
Recherche brute d’annonces avec filtres source-spécifiques (isPro, source, seller).
Search adverts
curl --request POST \
--url https://api.fluximmo.io/v2/protected/adverts/search \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"orderBy": "DESC",
"search": {
"filterAd": {
"currentPrice": {
"value": {
"max": 123,
"min": 123
},
"valuePerArea": {
"max": 123,
"min": 123
}
},
"habitation": {
"bathroomCount": {
"max": 123,
"min": 123
},
"bedroomCount": {
"max": 123,
"min": 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": [],
"epcClimateScore": {
"max": 123,
"min": 123
},
"epcEnergy": [],
"epcEnergyScore": {
"max": 123,
"min": 123
},
"epcClimateDate": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
},
"epcEnergyDate": {
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
}
},
"features": {
"exposure": [],
"furniture": [],
"propertyFloor": {
"max": 123,
"min": 123
},
"propertyTotalFloor": {
"max": 123,
"min": 123
},
"constructionMaterials": [],
"glazingTypes": [],
"hasThroughExposure": true,
"viewOns": [],
"viewTypes": []
},
"heatTypes": [],
"heatTypeDetails": [],
"heatings": [],
"propertyCondition": [
{
"constructionYear": 123,
"interiorCondition": null,
"renovationYear": 123,
"generalConditions": []
}
],
"roomCount": {
"max": 123,
"min": 123
},
"surface": {
"balconies": {
"max": 123,
"min": 123
},
"floorSpace": {
"max": 123,
"min": 123
},
"gardens": {
"max": 123,
"min": 123
},
"groundFloor": {
"max": 123,
"min": 123
},
"kitchen": {
"max": 123,
"min": 123
},
"livingSpace": {
"max": 123,
"min": 123
},
"livingroom": {
"max": 123,
"min": 123
},
"terraces": {
"max": 123,
"min": 123
},
"total": {
"max": 123,
"min": 123
}
},
"type": "PROPERTY_TYPE_T1_T2",
"wcCount": {
"max": 123,
"min": 123
}
},
"hasAnomaly": true,
"isAuction": true,
"isUrgent": true,
"land": {
"canConstruct": true,
"isServiced": true,
"surface": {
"max": 123,
"min": 123
},
"surfaceConstructable": {
"max": 123,
"min": 123
},
"type": [],
"haveBuildingPermit": true,
"haveElectricity": true,
"haveTelecom": true,
"haveWater": true
},
"lastModifiedAt": [
{
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
}
],
"offer": [
{
"isCurrentlyOccupied": true,
"renting": {
"isColocation": true,
"isLongTerm": true,
"isShortTerm": true,
"isSubLease": true
},
"type": "OFFER_BUY"
}
],
"parking": {
"count": {
"max": 123,
"min": 123
},
"numberOfCars": {
"max": 123,
"min": 123
},
"surface": {
"max": 123,
"min": 123
},
"type": []
},
"process": [],
"scope": [],
"tags": [
"<string>"
],
"type": [
"CLASS_HOUSE"
],
"warrantyDeposit": {
"max": 123,
"min": 123
},
"firstSeenAt": [
{
"max": "2022-10-21T11:31:33.593Z",
"min": "2022-10-21T11:31:33.593Z"
}
],
"location": {
"cityCoordinate": {
"location": {
"geoBoundingBox": {
"bottomRight": {
"lat": 123,
"lon": 123
},
"topLeft": {
"lat": 123,
"lon": 123
}
},
"geoDistance": {
"distanceKm": 123,
"pin": {
"lat": 123,
"lon": 123
}
},
"geoInseeCodeDistance": {
"distanceKm": 123,
"inseeCode": "<string>"
}
}
},
"department": "<string>",
"inseeCode": "<string>",
"irisCode": "<string>",
"locationCoordinate": {
"location": {
"geoBoundingBox": {
"bottomRight": {
"lat": 123,
"lon": 123
},
"topLeft": {
"lat": 123,
"lon": 123
}
},
"geoDistance": {
"distanceKm": 123,
"pin": {
"lat": 123,
"lon": 123
}
},
"geoInseeCodeDistance": {
"distanceKm": 123,
"inseeCode": "<string>"
}
}
},
"postalCode": "<string>"
},
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"currency": [],
"mainPropertyAdFlxId": [
"<string>"
],
"propertyFlxId": [
"<string>"
],
"isPro": true,
"seller": [],
"isOnline": true,
"isExclusive": true
},
"fullTexts": [
"<string>"
],
"keywords": [
"<string>"
]
},
"size": 10,
"sortBy": "LAST_SEEN_AT",
"searchAfterHash": "<string>"
}
'{
"data": {
"items": [
{
"contactInCharge": {
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"pseudonym": "<string>"
},
"charges": {
"yearlyCondoniumFees": 123,
"yearlyElectricityFees": 123,
"yearlyHeatingFees": 123,
"yearlyHousingTax": 123,
"yearlyLivingTax": 123,
"yearlyRentalFees": 123,
"monthlyRentSupplement": 123
},
"currency": null,
"currentPrice": {
"value": 123,
"valuePerArea": 123
},
"description": "<string>",
"firstSeenAt": "2022-10-21T11:31:33.593Z",
"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,
"isAuction": true,
"isUrgent": true,
"land": {
"canConstruct": true,
"hasBuildingPermit": true,
"hasElectricity": true,
"hasTelecom": true,
"hasWater": true,
"isServiced": true,
"surface": 123,
"surfaceConstructable": 123,
"type": null
},
"lastModifiedAt": "2022-10-21T11:31:33.593Z",
"location": {
"city": "<string>",
"cityCoordinate": {
"location": [
123
],
"isExactLocation": true
},
"department": "<string>",
"inseeCode": "<string>",
"irisCode": "<string>",
"locationCoordinate": {
"location": [
123
],
"isExactLocation": true
},
"postalCode": "<string>"
},
"medias": {
"images": [
{
"gaussianHash": "<string>",
"imageId": "<string>",
"meanHash": "<string>",
"perceptualHash": "<string>",
"colorHash": "<string>",
"differenceHash": "<string>",
"url": "<string>"
}
],
"virtualVisitExternalUrl": [
"<string>"
]
},
"parking": {
"count": 123,
"numberOfCars": 123,
"surface": 123,
"type": null
},
"scope": null,
"source": {
"flxId": "<string>",
"url": "<string>",
"website": "<string>"
},
"tags": [
"<string>"
],
"title": "<string>",
"type": "CLASS_HOUSE",
"warrantyDeposit": 123,
"offer": {
"isCurrentlyOccupied": true,
"renting": {
"isColocation": true,
"isLongTerm": true,
"isShortTerm": true,
"isSubLease": true
},
"type": "OFFER_BUY"
},
"mainPropertyAdFlxId": "<string>",
"propertyFlxId": "<string>",
"isOnline": true,
"lastSeenAt": "2023-11-07T05:31:56Z",
"isPro": true,
"seller": {
"flxId": "<string>",
"name": "<string>",
"siren": "<string>",
"type": "SELLER_TYPE_AGENCY"
},
"isExclusive": true
}
],
"searchAfterHash": "<string>",
"count": 123
}
}POST /v2/protected/adverts/search interroge directement la couche adverts : chaque ligne de résultat correspond à une annonce sur un portail, sans déduplication entre portails. Si un même bien physique est publié sur 3 portails, vous obtiendrez 3 lignes distinctes — une par advert.
Cet endpoint partage le tronc de filtres avec POST /v2/protected/properties/search (cf. Filtres communs et Recherche géographique) et y ajoute les filtres spécifiques à la couche annonce : isOnline, isPro, isExclusive, isAuction, source, seller[], firstSeenAt, lastModifiedAt, propertyFlxId, mainPropertyAdFlxId, scope, currency. Voir Property vs Advert pour choisir la bonne couche.
Pagination : cursor searchAfterHash. Tri : sortBy + orderBy (cf. schéma OpenAPI ci-dessous).
Cas d’usage
- Chasseur immo — surveiller toutes les annonces (avec doublons inter-portails) dans un département pour réagir le plus vite possible.
- Agence / vérification concurrentielle — lister toutes les annonces publiées par un
sellerdonné. - Reverse-lookup property → adverts — récupérer toutes les annonces rattachées à une property donnée via
propertyFlxId. - Audit pro vs particulier — segmenter le marché via
isPro=true|false.
Pour de l’analytique multi-portails (1 ligne = 1 bien), préférez
/properties/search. Pour de la veille temps réel par annonce avec events PRICE/UNPUBLISHED/REPUBLISHED, préférez les alertes adverts.Exemples
A1 — Achat appartement département (chasseur immo)
Toutes les annonces d’achat d’appartement à Paris (75), 50 résultats par page.{
"size": 50,
"search": {
"filterAd": {
"location": { "department": "75" },
"type": ["CLASS_FLAT"],
"offer": [{ "type": "OFFER_BUY" }],
"isOnline": true
}
}
}
A2 ★ — Rayon 5 km autour de Châtelet (geoDistance)
Use case chasseur urbain : rayon géodésique autour d’un point.{
"size": 100,
"search": {
"filterAd": {
"location": {
"locationCoordinate": {
"location": {
"geoDistance": {
"pin": { "lat": 48.8584, "lon": 2.3470 },
"distanceKm": 5
}
}
}
},
"type": ["CLASS_FLAT"],
"offer": [{ "type": "OFFER_BUY" }],
"isOnline": true
}
}
}
A3 — Annonces d’un seller spécifique (agence)
Lister toutes les annonces actives d’un vendeur identifié (suivi concurrentiel d’une agence).{
"size": 50,
"search": {
"filterAd": {
"seller": [{ "flxId": "<seller-flx-id>" }],
"isOnline": true
}
}
}
La structure exacte de
seller[] (clés flxId, name, siren, type) est documentée dans le schéma LightSellerDto ci-dessous. Adaptez selon votre cas (filtrer par identifiant interne, par nom commercial, par téléphone, etc.).A4 — Annonces d’une property donnée (propertyFlxId)
Reverse-lookup : pour une property (bien physique dédupliqué), récupérer toutes les adverts qui y sont rattachées sur les différents portails.
{
"size": 50,
"search": {
"filterAd": {
"propertyFlxId": ["<property-flx-id>"]
}
}
}
Cross-links
- Property vs Advert — quand choisir cet endpoint vs
/properties/search - Recherche géographique — modes
postalCode,department,geoDistance,geoBoundingBox - Filtres communs — tronc commun
offer,price,habitation,type - Créer une alerte adverts — basculer ce payload en alerte temps réel
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:
"LAST_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.
Response
Show child attributes
Show child attributes
Was this page helpful?
⌘I

