Skip to main content
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
  }
}

Documentation Index

Fetch the complete documentation index at: https://doc.fluximmo.io/llms.txt

Use this file to discover all available pages before exploring further.

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 seller donné.
  • 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>"]
    }
  }
}

Authorizations

x-api-key
string
header
required

Body

application/json
orderBy
enum<string>
required
Available options:
ASC,
DESC
Example:

"DESC"

size
number
default:10
required
Required range: 1 <= x <= 100
Example:

10

sortBy
enum<string>
required
Available options:
FIRST_SEEN_AT,
PRICE,
LAST_UPDATED_AT,
LAST_SEEN_AT,
RELEVANCE
Example:

"LAST_SEEN_AT"

searchAfterHash
string

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

data
object
required