Recherche analytique avec déduplication multi-portails. Filtres riches, géo avancée, pagination cursor.
Cet endpoint est l’outil principal pour interroger le catalogue Fluximmo dédupliqué. Une ligne de réponse = un bien physique unique (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.
flxId), agrégé à partir d’une ou plusieurs annonces source. Utilisez-le dès que vous avez besoin d’un état du marché propre, sans doublons inter-portails — idéal pour la recherche multi-portail BAAS.
Côté ADVERTS, il n’existe pas d’endpoint de search public : les annonces brutes (1 URL = 1 advert) sont accessibles uniquement via une alerte webhook ADVERT. Le payload de filtres d’une alerte advert est identique à celui d’un search property côté schéma. Voir Property vs Advert pour la décision.
Variante allégée : POST /v2/protected/properties/search/lite — schéma de réponse réduit, perf supérieure, filtres restreints. Utilisez-la pour UI temps réel, mobile, autocomplete.
meta.firstSeenAt)FIRST_SEEN_AT DESC)search.filterProperty (les filtres) + size, sortBy, orderBy, searchAfterHash (pagination & tri) + search.fullTexts / search.keywords (recherche textuelle, max 20 items chacun).
| Filtre | Rôle | Voir |
|---|---|---|
location[] | Champs administratifs + geoBoundingBox + geoDistance (OR multi-zones) | Recherche géographique |
offer[].type | OFFER_BUY, OFFER_RENT, etc. | Filtres communs |
type[] | Classes de biens : CLASS_FLAT, CLASS_HOUSE, CLASS_PROGRAM, etc. | Filtres communs |
price.{initial,latest} + price.{currency,scope,variation,isAuction,warrantyDeposit} | Prix valeur (value), par m² (valuePerArea), variation, scope, currency | Filtres communs |
habitation | Surface, roomCount, bedroomCount, bathroomCount, EPC, heat | Filtres communs |
meta.isTotallyOffline | Exclure les biens offline (best practice prod : false) | Filtres communs |
meta.{firstSeenAt,lastSeenAt,lastUpdatedAt} | Filtres temporels | Filtres communs |
adverts[] (nested) | Filtres sur les annonces source (isOnline, isPro, source…) | Filtres communs |
land, parking, tags, process, hasAnomaly, isUrgent | Filtres avancés / niches | DTO référence |
{ size, sortBy, orderBy, search: { filterProperty: { ... } } } conformément au DTO SearchPropertyPayloadDto.
department est un champ administratif indexé (code à 2 chiffres), idéal quand postalCode est trop fin.
{lat, lon} (WGS84). Calcul euclidien (DistanceType Plane) — fiable jusqu’à ~50 km, au-delà préférer geoBoundingBox.
topLeft.lat doit être supérieur à bottomRight.lat (latitudes décroissantes du nord vers le sud).
location[] sont combinées en OR : au moins une zone doit correspondre. Vous pouvez mixer libellés administratifs (postalCode, department, inseeCode) et modes géo (geoDistance, geoBoundingBox) dans la même requête — utile pour une agence multi-territoires.
offset. C’est la méthode recommandée pour itérer sur de gros volumes : insertions et suppressions concurrentes ne décalent pas les pages.
Workflow :
searchAfterHash.searchAfterHash (string opaque). Conservez-le.sortBy/orderBy), en ajoutant searchAfterHash: "<valeur reçue>".searchAfterHash est absent / null dans la réponse, vous avez atteint la fin des résultats.size : 1 à 100 (recommandé : 25 pour search full ; voir DTO). Plus grand = plus de coût et de latence.sortBy ∈ FIRST_SEEN_AT, LAST_UPDATED_AT, LAST_SEEN_AT, PRICE, RELEVANCE. Le tri canonique en prod est FIRST_SEEN_AT DESC.orderBy ∈ ASC, DESC.sortBy/orderBy entre deux pages — le cursor devient invalide.ASC, DESC "DESC"
1 <= x <= 10010
FIRST_SEEN_AT, PRICE, LAST_UPDATED_AT, LAST_SEEN_AT, RELEVANCE "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.