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

# Estimation expérimentale

> Estimation avec modèle expérimental (comparaison de modèles externes).

## À quoi ça sert

`POST /v2/protected/experimental/estimate` est l'endpoint **expérimental** qui retourne, en plus de l'estimation centrale Fluximmo, une comparaison avec d'autres modèles externes ou variantes en cours d'évaluation. Il est destiné aux équipes qui veulent benchmarker leur prix de référence ou comprendre le scoring multi-modèles avant qu'une variante ne passe en production.

L'output inclut des champs supplémentaires (résultats par modèle, scoring relatif) qui ne sont pas figés : **le contrat peut évoluer** au fil des itérations.

<Warning>
  **BETA** : la structure de la réponse peut changer sans préavis majeur. N'intégrez pas cet endpoint dans un flux critique de production. Pour un usage stable, utilisez [`/estimate/property/lite`](/api-v2-reference/estimations/lite-property-estimation).
</Warning>

## Exemple

### Appartement Paris — comparaison multi-modèles

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://api.fluximmo.io/v2/protected/experimental/estimate \
    -H "x-api-key: $FLUXIMMO_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "property": {
        "lat": 48.8589,
        "lon": 2.3789,
        "propertyType": "FLAT",
        "surfaceArea": 45,
        "roomsCount": 2,
        "bedroomsCount": 1
      }
    }'
  ```

  ```python Python theme={null}
  import os, requests

  resp = requests.post(
      "https://api.fluximmo.io/v2/protected/experimental/estimate",
      headers={"x-api-key": os.environ['FLUXIMMO_API_KEY']},
      json={
          "property": {
              "lat": 48.8589,
              "lon": 2.3789,
              "propertyType": "FLAT",
              "surfaceArea": 45,
              "roomsCount": 2,
              "bedroomsCount": 1,
          }
      },
      timeout=30,
  )
  print(resp.json())
  ```

  ```javascript Node theme={null}
  const resp = await fetch("https://api.fluximmo.io/v2/protected/experimental/estimate", {
    method: "POST",
    headers: {
      "x-api-key": process.env.FLUXIMMO_API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      property: {
        lat: 48.8589,
        lon: 2.3789,
        propertyType: "FLAT",
        surfaceArea: 45,
        roomsCount: 2,
        bedroomsCount: 1,
      },
    }),
  });
  console.log(await resp.json());
  ```
</CodeGroup>

## Liens utiles

* [Estimation lite (STABLE)](/api-v2-reference/estimations/lite-property-estimation)
* [Concept · Property vs Advert](/concepts/property-vs-advert)

<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 post /v2/protected/experimental/estimate
openapi: 3.0.0
info:
  title: Real-estate data API - Fluximmo V2
  description: >+
    ## Fluximmo

    ##### Real-time real estate data: Power workflows, business applications and
    decision-making.


    Real estate expert since 2017, Fluximmo aggregates, exploits, enriches &
    analyzes the 


    real-estate market in real time to offer data flows, APIs and innovative
    services to real estate professionals.


    ## Authentification

    You'll need to be authenticated with an active subscription to access our
    REST endpoints.


    To get an API-KEY please contact us at contact@fluximmo.com or book a call
    with our team: https://calendly.com/fluximmo/meet-fluximmo

    ##### How to use your API KEY

    Simply add to your HTTP request your API KEY in the headers:
    `{'x_api_key':'randomApiKey'}`


    ## Properties and Adverts

    Real-estate market can be conceptualized in different ways. We offer two
    different conceptualization depending on your needs: Properties & Adverts.

    #### Properties (BAAS)

    A property is a real-estate habitation/land/commercial/building to which is
    attached adverts.


    We gather all the adverts offering (selling or renting) this real-estate
    asset and consolidate all the information into one Property.


    A Property is by definition `de-duplicated` and can gather 1 to x adverts:
    these adverts are either duplicates from different portals or with mandates
    from different agencies or republication of the same advertising with a
    price update or not.


    The concept of property is in constant mutation until the real-estate asset
    is sold: We'll keep merging new adverts within the Property concept and
    update the price if needed.


    By it's nature in constant mutation, we do not offer the possibility to
    receive these Properties on webhooks. You'll need to use our APIs as a
    Backend As A Service (BaaS).


    #### Adverts (BAAS and WEBHOOK)

    Adverts are advertising of a real-estate property. Adverts can come from
    many sources: Agencies websites, Aggregation real-estate portals,
    Social-Networks, NewsPaper etc...


    After gathering all these adverts our proprietary AI algorithms will
    de-duplicate these adverts and associate them to a Property


    An advert have a unique URL. Meaning that the same advertising re-published
    twice (with our without any change, on the same website or not, by the same
    agency or not) is considered as 2 ads.


    You can choose either to retrieve all the Adverts or only the non duplicated
    ones. Adverts can be retrieved either by API (Search or Alerts) or Webhook

    ## Webhooks

    We offer the possibility to receive our real-estate Adverts data in
    real-time using webhooks. As soon as we gather the data, you'll receive it
    few moments later.


    Using ALERTS, you can receive new adverts matching your criteria on a
    webhook.


    ##### Webhook differences between Adverts and Properties

    As Properties are by nature in perpetual evolutions (new duplicated ads will
    be merged, new data to be consolidated etc..), we do not offer the
    possibility to receive through Webhooks the full body of the properties.
    Properties webhook will only send you the list of the properties FlxIds
    matching your search.


    You'll find below the schema of the data you would receive on your webhook
    (`/v2/sample/webhook/properties`, `/v2/sample/webhook/adverts`)

    ##### What is a webhook

    A webhook can be thought of as a type of API that is driven by events rather
    than requests


    .Instead of one application making a request to another to receive a
    response, a webhook is a service that allows one program to send data to
    another as soon as a particular event takes place.


    Webhooks are sometimes referred to as “reverse APIs,” because communication
    is initiated by the application sending the data rather than the one
    receiving it.


    With web services becoming increasingly interconnected, webhooks are seeing
    more action as a lightweight solution for enabling real-time notifications
    and data updates without the need to develop a full-scale API.

    ##### When to use a webhook instead of the REST API

    You're supposed to receive a high volume of data (frequently or not), you're
    looking for real-time data, you just have to relax and wait (no cron, no
    call on our API etc..)

    ##### Webhook implementation examples

    A webhook is simply a POST endpoint we can request

    * Python:
    https://gist.github.com/aloysius-tim/293772256526efa20d5c625c6ace036a

    * Node:
    https://gist.github.com/aloysius-tim/ea1d9feb2c527b5b09ffc356b662d14b

  version: 2.0.0
  contact: {}
  x-logo:
    url: https://www.fluximmo.com/assets/images/logo_text.png
    backgroundColor: '#F31051'
    altText: Fluximmo logo
servers:
  - url: https://api.fluximmo.io
security: []
tags:
  - name: PropertyModel
    description: <SchemaDefinition schemaRef="#/components/schemas/PropertyDto" />
  - name: AdvertModel
    description: <SchemaDefinition schemaRef="#/components/schemas/AdvertDto" />
paths:
  /v2/protected/experimental/estimate:
    post:
      tags:
        - Estimations
      summary: Estimate the price of a property
      description: Estimate the price of a property based on market data
      operationId: EstimationsController_estimate
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArtificialimmoMarketEstimateRequestDto'
      responses:
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtificialimmoEstimationResponseDto'
      security:
        - x_api_key: []
components:
  schemas:
    ArtificialimmoMarketEstimateRequestDto:
      type: object
      properties:
        property:
          description: Properties to estimate
          allOf:
            - $ref: '#/components/schemas/ArtificialimmoMarketEstimationDataDto'
      required:
        - property
    ExceptionDto:
      type: object
      properties:
        error:
          description: Error object
          allOf:
            - $ref: '#/components/schemas/ErrorDto'
      required:
        - error
    ArtificialimmoEstimationResponseDto:
      properties:
        data:
          type: object
          properties:
            confidence:
              $ref: '#/components/schemas/EnumArtificialimmoConfidenceDto'
              example: HIGH
              description: Confidence of the estimation
            value:
              type: number
          required:
            - confidence
            - value
      required:
        - data
      type: object
    ArtificialimmoMarketEstimationDataDto:
      type: object
      properties:
        bedroomsCount:
          type: number
          description: Number of bedrooms
        isRecent:
          type: boolean
          description: >-
            Is the property recently built (construction finished less than 5
            years ago or renovated less than 1 years ago)
        landSurfaceArea:
          type: number
          description: Surface area of the land in m2
        lat:
          type: number
          description: Latitude of the property
        lon:
          type: number
          description: Longitude of the property
        newProperty:
          type: boolean
          description: >-
            Is the property brand new (construction finished less than 1 years
            ago, no-one ever lived in before)
        pool:
          type: boolean
          description: Does the property have a pool
        propertyType:
          $ref: '#/components/schemas/EnumArtificialimmoPropertyDto'
          example: HOUSE
          description: Type of the property
        roomsCount:
          type: number
          description: Number of rooms
        surfaceArea:
          type: number
          description: >-
            Surface area of the property (Number of rooms >9m2 counted in the
            "loi carrez")
        workToDo:
          type: boolean
          description: Is there renovation work to do
      required:
        - bedroomsCount
        - lat
        - lon
        - propertyType
        - surfaceArea
    ErrorDto:
      type: object
      properties:
        message:
          type: string
          description: Error message
        code:
          type: number
          description: Error code
      required:
        - message
        - code
    EnumArtificialimmoConfidenceDto:
      type: string
      enum:
        - VERY_LOW
        - LOW
        - MEDIUM
        - HIGH
    EnumArtificialimmoPropertyDto:
      type: string
      enum:
        - HOUSE
        - FLAT
  securitySchemes:
    x_api_key:
      type: apiKey
      in: header
      name: x-api-key

````