> ## 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.

# Géocodage inverse (coordonnées → adresse)

> Service public BAN/BANO opéré par Fluximmo : coordonnées GPS → adresse.

## À quoi ça sert

`GET /reverse` prend une paire `(lat, lon)` et retourne l'**adresse la plus proche** ainsi que les codes administratifs associés (code postal, code INSEE, ville, département). C'est l'inverse du géocodage direct.

**Transparence** : reposes sur la **Base Adresse Nationale (BAN/BANO)** publique (`api-adresse.data.gouv.fr`), opérée et proxifiée par Fluximmo pour vous offrir un point d'entrée unifié (mêmes clés API, mêmes quotas, monitoring partagé).

**Cas d'usage typiques** :

* Étiqueter un point GPS issu d'une app mobile (track utilisateur, photo géolocalisée) avec une adresse humaine.
* Reconstituer le code INSEE d'une commune à partir d'un point centroïde calculé.
* Enrichir une base d'événements géolocalisés (visites de biens, RDV terrain) avec l'adresse postale.

## Exemple

### Centre de Paris (Trocadéro)

<CodeGroup>
  ```bash curl theme={null}
  curl "https://geo.fluximmo.io/reverse?lat=48.85&lon=2.29"
  ```

  ```python Python theme={null}
  import requests
  resp = requests.get(
      "https://geo.fluximmo.io/reverse",
      params={"lat": 48.85, "lon": 2.29},
      timeout=10,
  )
  print(resp.json())
  ```

  ```javascript Node theme={null}
  const url = new URL("https://geo.fluximmo.io/reverse");
  url.searchParams.set("lat", "48.85");
  url.searchParams.set("lon", "2.29");
  const resp = await fetch(url);
  console.log(await resp.json());
  ```
</CodeGroup>

Retourne l'adresse la plus proche et les codes administratifs (`postcode`, `citycode`/INSEE, `city`).

## Liens utiles

* [Géocodage direct (adresse → coordonnées)](/api-geocoding-reference/search/recherche-par-géocodage-direct)
* [Concept · Recherche géographique](/concepts/recherche-geographique)

<Card title="Clé test gratuite — 1 semaine" icon="key" href="https://my.fluximmo.io">
  Créez un compte sur **my.fluximmo.io** pour récupérer une clé API test gratuite (1 semaine, accès limité). Aucun paiement requis.
</Card>


## OpenAPI

````yaml get /reverse
openapi: 3.1.1
info:
  title: Service de géocodage
  description: API du service de géocodage 2.0 de l'IGN.
  contact:
    email: contact.geoservices@ign.fr
  version: 2.0.0
  license:
    name: Licence ouverte 2.0
    url: https://www.etalab.gouv.fr/licence-ouverte-open-licence
servers:
  - url: https://geo.fluximmo.io
security: []
tags:
  - name: getCapabilities
    description: Découverte du service
  - name: search
    description: Géocodage direct (recherche)
  - name: reverse
    description: Géocodage inverse
  - name: batch
    description: Géocodage par lot synchrone
  - name: batch-async
    description: Géocodage par lot asynchrone
paths:
  /reverse:
    get:
      tags:
        - reverse
      summary: Recherche par géocodage inverse
      operationId: reverse
      parameters:
        - name: searchgeom
          in: query
          required: false
          description: >
            Géométrie de recherche. La géométrie est réalisé par intersection
            géométrique. Si ce paramètre est utilisé seul, c''est que l''on
            souhaite une recherche sans ordonnancement des résultats (tous les
            objets intersectant la géométrie de recherche ont un score de 1).

            Si on veut ordonner les résultats, on peut alors utiliser les
            paramètres lon et lat pour préciser un point d''ordonnancement.

            Ce paramètre n''est pas obligatoire pour des raisons de
            rétro-compatibilité. Si searchgeom n''est pas utilisé alors les
            paramètres lon et lat doivent l''être et on parle de point de
            recherche.

            Lorsque la recherche est réalisée par intersection géométrique. Les
            types géométrique autorisés sont :


            - Point


            - LineString


            - Polygon


            - Circle

            Exemple de géométrie de type Circle :

            {

            &nbsp;&nbsp;&nbsp;&nbsp;"type": "Circle",

            &nbsp;&nbsp;&nbsp;&nbsp;"coordinates": [2.294469, 48.858244],

            &nbsp;&nbsp;&nbsp;&nbsp;"radius": 100

            }

            Pour l''index <b>address</b>, seules les géométries de type
            ''Polygon'' et ''Circle'' sont autorisées.

            Le plus grand côté du rectangle d’emprise de la géométrie ne doit
            pas excéder 1000 mètres.
          schema:
            type: string
        - name: lon
          in: query
          description: >
            Si searchgeom est utilisé, il s'agit de la longitude du point
            d'ordonnancement. C'est le point à partir duquel est calculée la
            distance, puis le score permettant l'ordonnancement des résultats.

            Dans un soucis de rétro-compatibilité, si searchgeom n'est pas
            utilisé, il s'agit de la longitude du point de recherche. À partir
            de ce point, un cercle est créé pour effectuer la recherche. En
            plus, ce sera aussi la longitude du point d'ordonnancement.
          required: false
          schema:
            type: number
        - name: lat
          in: query
          description: >
            Si searchgeom est utilisé, il s'agit de la latitude  du point
            d'ordonnancement. C'est le point à partir duquel est calculée la
            distance, puis le score permettant l'ordonnancement des résultats.

            Dans un soucis de rétro-compatibilité, si searchgeom n'est pas
            utilisé, il s'agit de la latitude du point de recherche. À partir de
            ce point, un cercle est créé pour effectuer la recherche. En plus,
            ce sera aussi la latitude du point d'ordonnancement.
          required: false
          schema:
            type: number
        - name: index
          in: query
          description: >
            index de recherche :

            - <b>address</b> pour la recherche par adresse

            - <b>parcel</b> pour la recherche par parcelle cadastrale

            - <b>poi</b> pour la recherche par lieu et unité administrative


            Il est possible de spécifier plusieurs indexes séparés par une
            virgule.


            Exemples:

            - /search?index=parcel

            - /search?index=poi,address
          required: false
          schema:
            $ref: '#/components/schemas/Index'
        - name: limit
          in: query
          description: >
            Nombre maximum de résultats retournés.

            La valeur ne peut pas dépasser 50.

            Dans le cas où returntruegeometry est activé, la valeur est
            automatiquement ramenée à 20.
          schema:
            type: integer
            default: 10
        - name: returntruegeometry
          in: query
          description: indique si la vraie géométrie doit être retournée
          schema:
            type: boolean
            default: false
        - name: postcode
          in: query
          description: >-
            Filtre pour les index address et poi. Il permet de filtrer les
            résultats par code postal.
          schema:
            $ref: '#/components/schemas/PostalCode'
        - name: citycode
          in: query
          description: >-
            Filtre pour les index address et poi. Il permet de filtrer les
            résultats par code INSEE.
          schema:
            $ref: '#/components/schemas/InseeCode'
        - name: type
          in: query
          description: >-
            Filtre pour l'index address. Il permet de filtrer par type de
            données adresse : numéro de maison, rue, commune, ...
          schema:
            type: string
            enum:
              - housenumber
              - street
              - locality
              - municipality
        - name: city
          in: query
          description: >-
            Filtre pour les index address et parcel. Il permet de filtrer par
            nom de commune.
          schema:
            type: string
        - name: category
          in: query
          description: >
            Filtre pour l'index poi. Il permet de filtrer par catégorie de poi.

            Les valeurs possibles sont listées dans le getCapabilities du
            service de géocodage.
          schema:
            type: string
        - name: departmentcode
          in: query
          description: >-
            Filtre pour l'index parcel. Il permet de filtrer par code de
            département.
          schema:
            type: string
        - name: municipalitycode
          in: query
          description: >-
            Filtre pour l'index parcel. Il permet de filtrer par code de
            commune.
          schema:
            type: string
        - name: oldmunicipalitycode
          in: query
          description: >-
            Filtre pour l'index parcel. Il permet de filtrer par code d'ancienne
            commune.
          schema:
            type: string
        - name: districtcode
          in: query
          description: >-
            Filtre pour l'index parcel. Il permet de filtrer par code
            d'arrondissement.
          schema:
            type: string
        - name: section
          in: query
          description: Filtre pour l'index parcel. Il permet de filtrer par section.
          schema:
            type: string
        - name: number
          in: query
          description: Filtre pour l'index parcel. Il permet de filtrer par numéro.
          schema:
            type: string
        - name: sheet
          in: query
          description: Filtre pour l'index parcel. Il permet de filtrer par feuille.
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: FeatureCollection
                  features:
                    type: array
                    items:
                      $ref: '#/components/schemas/GeocodeReverseResponse'
        '400':
          description: Parse query failed
          content:
            application/json: {}
components:
  schemas:
    Index:
      type: string
      enum:
        - address
        - poi
        - parcel
      default: address
    PostalCode:
      maxLength: 5
      minLength: 5
      type: string
      description: Code postal
    InseeCode:
      maxLength: 5
      minLength: 2
      type: string
      description: Code INSEE
    GeocodeReverseResponse:
      type: object
      oneOf:
        - $ref: '#/components/schemas/AddressReverse'
        - $ref: '#/components/schemas/PoiReverse'
        - $ref: '#/components/schemas/ParcelReverse'
    AddressReverse:
      type: object
      properties:
        type:
          type: string
          example: Feature
        properties:
          $ref: '#/components/schemas/AddressReverseProperties'
        geometry:
          $ref: '#/components/schemas/GeometryPoint'
    PoiReverse:
      type: object
      properties:
        type:
          type: string
          example: Feature
        properties:
          $ref: '#/components/schemas/PoiReverseProperties'
        geometry:
          $ref: '#/components/schemas/GeometryPoint'
    ParcelReverse:
      type: object
      properties:
        type:
          type: string
          example: Feature
        properties:
          $ref: '#/components/schemas/ParcelReverseProperties'
        geometry:
          $ref: '#/components/schemas/GeometryPoint'
    AddressReverseProperties:
      type: object
      properties:
        label:
          type: string
          description: Libellé complet de l'adresse
        id:
          type: string
        postcode:
          $ref: '#/components/schemas/PostalCode'
        city:
          type: string
          description: Commune de l'adresse
        district:
          type: string
          description: Arrondissement de l'adresse
        street:
          type: string
          description: Rue de l'adresse
        housenumber:
          type: string
        citycode:
          $ref: '#/components/schemas/InseeCode'
        x:
          type: number
          description: Longitude de l'adresse
        'y':
          type: number
          description: Latitude de l'adresse
        score:
          type: number
        _score:
          type: number
        name:
          type: string
        type:
          type: string
          enum:
            - housenumber
            - street
            - locality
            - municipality
        _type:
          type: string
          enum:
            - address
          description: Rétro-compatibilité
        context:
          type: string
        importance:
          type: number
        distance:
          type: number
      example:
        label: 10 Rue Nationale 75013 Paris 13e Arrondissement
        id: test-id
        postcode: '75013'
        city: Paris
        district: Paris 13e Arrondissement
        street: Rue Nationale
        housenumber: '10'
        citycode: '75113'
        x: 2.369063
        'y': 48.822409
        score: 0.6515151515151515
        _score: 0.6515151515151515
        name: 10 Rue Nationale
        type: housenumber
        _type: address
        contexte: 75, Paris
        importance: '0.6'
        distance: 100
    GeometryPoint:
      type: object
      properties:
        type:
          type: string
          enum:
            - Point
        coordinates:
          type: array
          items:
            type: number
      example:
        type: Point
        coordinates:
          - 2.03648539635326
          - 44.3492508045369
    PoiReverseProperties:
      type: object
      properties:
        toponym:
          type: string
          description: Libellé du toponyme
        postcode:
          type: array
          items:
            $ref: '#/components/schemas/PostalCode'
        citycode:
          type: array
          items:
            $ref: '#/components/schemas/InseeCode'
        city:
          type: array
          items:
            type: string
        category:
          $ref: '#/components/schemas/PoiType'
        extrafields:
          type: object
        truegeometry:
          $ref: '#/components/schemas/Geometry'
        _score:
          type: number
        _type:
          type: string
          enum:
            - poi
        distance:
          type: number
      example:
        toponym: Pont National
        postcode:
          - 77310
          - 91100
        citycode:
          - 77
          - 77300
          - 91
          - 91450
        city:
          - Saint-Fargeau-Ponthierry
          - Corbeil-Essonnes
        category:
          - construction linéaire
        extrafields:
          names:
            - pont strasbourg
            - pont national
          cleabs: CONSLINE0000000060494180
        truegeometry:
          coordinates:
            - - 2.03666899913969
              - 44.3490469250535
              - 257
            - - 2.03646952056093
              - 44.3492684335352
              - 256.3
            - - 2.03644906780383
              - 44.3492907599887
              - 256.3
            - - 2.03630075804051
              - 44.3494542018237
              - 256.3
          type: LineString
        _score: 0.5757575757575758
        _type: poi
        distance: 100
    ParcelReverseProperties:
      type: object
      properties:
        id:
          type: string
          description: Identifiant de la parcelle
        departmentcode:
          type: string
          description: Code du département
        municipalitycode:
          type: string
          description: Code de la commune
        city:
          type: string
          description: Nom de la commune
        oldmunicipalitycode:
          type: string
          description: Code de l'ancienne commune
        districtcode:
          type: string
          description: Code insee de l'arrondissement
        section:
          type: string
          description: Section cadastrale
        number:
          type: string
          description: Numéro cadastral
        sheet:
          type: string
          description: Feuille cadastrale
        truegeometry:
          $ref: '#/components/schemas/GeometryPolygon'
        _score:
          type: number
        _type:
          type: string
          enum:
            - parcel
        distance:
          type: number
      example:
        id: 75056104AV0133
        departmentcode: '75'
        municipalitycode: '056'
        city: Paris
        oldmunicipalitycode: '000'
        districtcode: '104'
        section: AV
        number: '133'
        sheet: 1
        truegeometry:
          type: Polygon
          coordinates:
            - - - 2.35457222187139
                - 48.8523027661354
              - - 2.35463049659443
                - 48.8523731401755
              - - 2.35465580843827
                - 48.8523650925735
              - - 2.35464724014948
                - 48.8522756505323
              - - 2.35457222187139
                - 48.8523027661354
        _score: 1
        _type: parcel
        distance: 100
    PoiType:
      type: array
      items:
        type: string
    Geometry:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/GeometryType'
        coordinates:
          type: array
          items:
            type: number
      example:
        type: Point
        coordinates:
          - 2.03648539635326
          - 44.3492508045369
    GeometryPolygon:
      type: object
      properties:
        type:
          type: string
          enum:
            - Polygon
        coordinates:
          type: array
          items:
            type: number
      example:
        type: Polygon
        coordinates:
          - - - 2.35457222187139
              - 48.8523027661354
            - - 2.35463049659443
              - 48.8523731401755
            - - 2.35465580843827
              - 48.8523650925735
            - - 2.35464724014948
              - 48.8522756505323
            - - 2.35457222187139
              - 48.8523027661354
    GeometryType:
      type: string
      enum:
        - Point
        - MultiPolygon
        - LineString

````