Skip to main content

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.

Goal

Partir d’une adresse FR en texte libre (saisie utilisateur, ligne CRM, point d’intérêt) et arriver à une recherche Fluximmo géolocalisée sans accroc : géocoder, choisir le bon mode de filtre, et appeler /properties/search.

Scénario

Vous construisez une app où l’utilisateur tape une adresse (“12 rue de Rivoli, Paris” ou “Tour Eiffel”), et vous voulez lister les annonces Fluximmo dans un rayon autour. Vous n’avez pas les coordonnées GPS, juste la string. Ce playbook vous donne le pipeline complet.

Étapes

1

1. Comprendre le service GEO Fluximmo

Le service de géocodage exposé par Fluximmo est le service public BAN/BANO du gouvernement français (api-adresse.data.gouv.fr), opéré et proxifié par Fluximmo.Pourquoi passer par nous plutôt que d’appeler le service Gouv directement ?
  • Pas de rate-limit côté Gouv à gérer vous-même (Fluximmo absorbe).
  • Une seule clé d’API pour toute la stack (search Fluximmo + géocodage).
  • Endpoints harmonisés et monitoring unifié.
Transparence assumée : ce n’est pas une brique propriétaire. C’est de la donnée publique fiable, simplement intégrée à votre écosystème API Fluximmo.
2

2. Géocoder une adresse (forward)

GET /geocoding/search?q=<adresse> renvoie lat, lon, postalCode, inseeCode, et un score de confiance.
curl -G "https://api.fluximmo.io/geocoding/search" \
  --data-urlencode "q=12 rue de Rivoli, Paris" \
  --data-urlencode "limit=1" \
  -H "x-api-key: $FLUXIMMO_API_KEY"
# Pseudocode parse
top         = response.features[0]
lat         = top.geometry.coordinates[1]
lon         = top.geometry.coordinates[0]
postal_code = top.properties.postcode
insee_code  = top.properties.citycode
score       = top.properties.score      # 0..1
Toujours encoder l’adresse (URL encoding) — utilisez --data-urlencode côté curl, ou un équivalent natif (URLSearchParams, params=...) côté code applicatif.
3

3. Choisir comment injecter dans Fluximmo search

Selon la précision recherchée, trois options se présentent.Option A — Par postalCode (large, agrège toutes les communes du CP)Idéal pour des analyses macro ou marchés où le CP est l’unité naturelle.
{ "filterProperty": { "location": [{ "postalCode": "75001" }] } }
Option B — Par inseeCode (granularité commune)Légèrement plus fin que le CP en zone rurale (un CP peut couvrir plusieurs communes).
{ "filterProperty": { "location": [{ "inseeCode": "75101" }] } }
Option C — Par geoDistance (rayon précis autour du pin)C’est la vraie option “X km autour de cette adresse”.
{
  "filterProperty": {
    "location": [{
      "locationCoordinate": {
        "location": {
          "geoDistance": {
            "pin": { "lat": 48.858, "lon": 2.295 },
            "distanceKm": 5
          }
        }
      }
    }]
  }
}
Voir Recherche géographique pour le détail des modes (postalCode, inseeCode, department, geoBoundingBox, geoDistance, multi-zones OR).
4

4. Appeler /properties/search avec le filtre

curl -X POST "https://api.fluximmo.io/v2/protected/properties/search" \
  -H "x-api-key: $FLUXIMMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "size": 50,
    "sortBy": "FIRST_SEEN_AT",
    "orderBy": "DESC",
    "search": {
      "filterProperty": {
        "location": [{
          "locationCoordinate": {
            "location": {
              "geoDistance": {
                "pin": { "lat": 48.858, "lon": 2.295 },
                "distanceKm": 5
              }
            }
          }
        }],
        "offer": [{ "type": "OFFER_RENT" }],
        "type": ["CLASS_FLAT"],
        "meta": {
          "isTotallyOffline": false,
          "firstSeenAt": { "min": "2025-01-01T00:00:00.000Z" }
        }
      }
    }
  }'
5

5. Reverse géocoder (lat, lon → adresse)

Cas d’usage : étiqueter un point GPS issu d’un résultat Fluximmo (par exemple une app mobile qui affiche l’adresse sur une fiche annonce).GET /geocoding/reverse?lat=...&lon=...
curl -G "https://api.fluximmo.io/geocoding/reverse" \
  --data-urlencode "lat=48.858" \
  --data-urlencode "lon=2.295" \
  -H "x-api-key: $FLUXIMMO_API_KEY"
# Pseudocode
addr = response.features[0].properties.label
6

6. Batch CSV (sync ou async)

Pour géocoder N adresses en lot.
  • Sync : POST d’un fichier CSV en multipart, réponse synchrone (limite de taille).
  • Async : pipeline batch async disponible sur demande — écrivez à [email protected] pour activation et SLA.
Choisir async dès que le volume dépasse quelques milliers de lignes ou que la latence sync devient pénalisante.

Architecture / flow

Pièges fréquents

Adresse approximative → plusieurs candidats. Le géocodage renvoie une liste triée par score (0 à 1). Toujours prendre le premier candidat (features[0]), et idéalement filtrer si score < 0.5 (qualité douteuse).
Outre-mer / étranger. BAN/BANO couvre la métropole et certains DOM-TOM. Pour des adresses étrangères, le service ne renverra rien d’utile — vérifier la couverture avant.
Encoder l’adresse. Les caractères spéciaux (é, ', espaces) cassent les URL non-encodées. Utiliser --data-urlencode (curl) ou un équivalent natif côté code applicatif.
distanceKm: 0. Un rayon nul n’a pas de sens et est rejeté. Mettre au minimum 0.5.
Code postal ≠ commune. En zone rurale, un même CP peut couvrir 5+ communes. Si vous avez besoin d’une granularité commune, utiliser inseeCode plutôt que postalCode.

Pour aller plus loin

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, aucun appel commercial.