# French Property Valuation

Estimates a statistical property value range from nearby or municipal geolocated DVF comparable transactions.

## Endpoint

- Method: `POST`
- URL: `https://api.helpmyagent.com/v1/real-estate/fr/valuation`
- Price: `0.030 USD` / call

## Machine discovery

- llms.txt: https://helpmyagent.com/llms.txt
- OpenAPI 3.1: https://api.helpmyagent.com/openapi.json
- capabilities.json: https://helpmyagent.com/capabilities.json
- MCP: https://helpmyagent.com/mcp
- RFC 9727: https://helpmyagent.com/.well-known/api-catalog
- pricing.json: https://helpmyagent.com/pricing.json
- x402: https://helpmyagent.com/.well-known/x402
- x402-service.json: https://helpmyagent.com/.well-known/x402-service.json
- Health status: https://helpmyagent.com/health

## x402 payment methods

- USDC on `eip155:8453`
- RLUSD on `xrpl:0`

## Coverage

FR

## Use when

- Estimate a French house or apartment from comparable recorded sales.

## Avoid when

- Do not present the result as a certified appraisal or guaranteed sale price.

## Limitations

- Valuation depends on the density of single-dwelling geolocated DVF comparables; VEFA/new and professional-use mutations are excluded, and built area may differ from Carrez area.
- DVF does not cover Alsace, Moselle or Mayotte; requests in those areas therefore return an empty result.

## Example queries

- Estimate a 55 m² apartment near this Paris address.

## Freshness

```json
{
    "mode": "source_dependent"
}
```

## Sources

- [DVF géolocalisées - data.gouv.fr](https://files.data.gouv.fr/geo-dvf/latest/csv/)
- [API Géoplateforme - Géocodage (BAN/IGN)](https://data.geopf.fr/geocodage/search)

## Input schema

```json
{
    "type": "object",
    "properties": {
        "address": {
            "type": "string",
            "minLength": 5,
            "maxLength": 250,
            "description": "Optional value for “address” as defined by this API contract. (minimum length 5; maximum length 250)."
        },
        "code_insee": {
            "type": "string",
            "pattern": "^(?:[0-9]{5}|2[ABab][0-9]{3})$",
            "description": "Optional value for “code insee” as defined by this API contract."
        },
        "property_type": {
            "type": "string",
            "enum": [
                "house",
                "apartment"
            ],
            "description": "Required value for “property type” as defined by this API contract. (allowed values: house, apartment)."
        },
        "surface_m2": {
            "type": "number",
            "minimum": 9,
            "maximum": 1000,
            "description": "Required value for “surface m2” as defined by this API contract. (minimum 9; maximum 1000)."
        },
        "radius_m": {
            "type": "integer",
            "minimum": 100,
            "maximum": 650,
            "default": 650,
            "description": "Optional value for “radius m” as defined by this API contract. (minimum 100; maximum 650; default 650)."
        },
        "lookback_years": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5,
            "default": 3,
            "description": "Optional value for “lookback years” as defined by this API contract. (minimum 1; maximum 5; default 3)."
        }
    },
    "required": [
        "property_type",
        "surface_m2"
    ],
    "anyOf": [
        {
            "required": [
                "address"
            ]
        },
        {
            "required": [
                "code_insee"
            ]
        }
    ],
    "additionalProperties": false,
    "description": "Structured input parameters for the real-estate/fr/valuation API."
}
```

## Output schema

```json
{
    "type": "object",
    "properties": {
        "location": {
            "type": "object",
            "properties": {
                "code_insee": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “code insee” as defined by this API contract."
                },
                "address": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “address” as defined by this API contract."
                },
                "normalized_address": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “normalized address” as defined by this API contract."
                },
                "postcode": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “postcode” as defined by this API contract."
                },
                "city": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “city” as defined by this API contract."
                },
                "ban_id": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "Structured value returned for “ban id” as defined by this API contract."
                },
                "geocoding_score": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “geocoding score” as defined by this API contract."
                },
                "longitude": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “longitude” as defined by this API contract."
                },
                "latitude": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ],
                    "description": "Structured value returned for “latitude” as defined by this API contract."
                }
            },
            "required": [
                "code_insee",
                "address",
                "normalized_address",
                "postcode",
                "city",
                "ban_id",
                "geocoding_score",
                "longitude",
                "latitude"
            ],
            "additionalProperties": false,
            "description": "Structured value returned for “location” as defined by this API contract."
        },
        "property_type": {
            "type": "string",
            "description": "Structured value returned for “property type” as defined by this API contract."
        },
        "surface_m2": {
            "type": "number",
            "description": "Structured value returned for “surface m2” as defined by this API contract."
        },
        "radius_m": {
            "type": [
                "integer",
                "null"
            ],
            "description": "Structured value returned for “radius m” as defined by this API contract."
        },
        "lookback_years": {
            "type": "integer",
            "description": "Structured value returned for “lookback years” as defined by this API contract."
        },
        "source_status": {
            "type": "string",
            "enum": [
                "ok"
            ],
            "description": "Availability status of the relevant upstream public source. (allowed values: ok)."
        },
        "source_total_count": {
            "type": [
                "integer",
                "null"
            ],
            "description": "Structured value returned for “source total count” as defined by this API contract."
        },
        "source_truncated": {
            "type": [
                "boolean",
                "null"
            ],
            "description": "Structured value returned for “source truncated” as defined by this API contract."
        },
        "comparable_count": {
            "type": [
                "integer",
                "null"
            ],
            "description": "Structured value returned for “comparable count” as defined by this API contract."
        },
        "median_price_per_m2": {
            "type": [
                "number",
                "integer",
                "null"
            ],
            "description": "Structured value returned for “median price per m2” as defined by this API contract."
        },
        "p25_price_per_m2": {
            "type": [
                "number",
                "integer",
                "null"
            ],
            "description": "Structured value returned for “p25 price per m2” as defined by this API contract."
        },
        "p75_price_per_m2": {
            "type": [
                "number",
                "integer",
                "null"
            ],
            "description": "Structured value returned for “p75 price per m2” as defined by this API contract."
        },
        "estimated_value": {
            "type": [
                "number",
                "integer",
                "null"
            ],
            "description": "Structured value returned for “estimated value” as defined by this API contract."
        },
        "estimated_range_low": {
            "type": [
                "number",
                "integer",
                "null"
            ],
            "description": "Structured value returned for “estimated range low” as defined by this API contract."
        },
        "estimated_range_high": {
            "type": [
                "number",
                "integer",
                "null"
            ],
            "description": "Structured value returned for “estimated range high” as defined by this API contract."
        },
        "confidence": {
            "type": "string",
            "enum": [
                "high",
                "medium",
                "low",
                "insufficient"
            ],
            "description": "Confidence indicator associated with an inferred or derived result. (allowed values: high, medium, low, insufficient)."
        },
        "comparables": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "transaction_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Structured value returned for “transaction id” as defined by this API contract."
                    },
                    "date": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Structured value returned for “date” as defined by this API contract."
                    },
                    "nature": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Structured value returned for “nature” as defined by this API contract."
                    },
                    "amount": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ],
                        "description": "Structured value returned for “amount” as defined by this API contract."
                    },
                    "property_type_code": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Structured value returned for “property type code” as defined by this API contract."
                    },
                    "property_type": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Structured value returned for “property type” as defined by this API contract."
                    },
                    "built_area_m2": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ],
                        "description": "Structured value returned for “built area m2” as defined by this API contract."
                    },
                    "land_area_m2": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ],
                        "description": "Structured value returned for “land area m2” as defined by this API contract."
                    },
                    "price_per_m2": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ],
                        "description": "Structured value returned for “price per m2” as defined by this API contract."
                    },
                    "commune_codes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Structured value returned for “commune codes” as defined by this API contract."
                    },
                    "parcel_ids": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Structured value returned for “parcel ids” as defined by this API contract."
                    },
                    "longitude": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ],
                        "description": "Structured value returned for “longitude” as defined by this API contract."
                    },
                    "latitude": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ],
                        "description": "Structured value returned for “latitude” as defined by this API contract."
                    }
                },
                "required": [
                    "transaction_id",
                    "date",
                    "nature",
                    "amount",
                    "property_type_code",
                    "property_type",
                    "built_area_m2",
                    "land_area_m2",
                    "price_per_m2",
                    "commune_codes",
                    "parcel_ids",
                    "longitude",
                    "latitude"
                ],
                "additionalProperties": false
            },
            "description": "Structured value returned for “comparables” as defined by this API contract."
        },
        "generated_at": {
            "type": "string",
            "description": "UTC timestamp at which this derived result was generated."
        },
        "limitations": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "description": "Known interpretation, source-coverage or freshness limitations for this result."
        }
    },
    "required": [
        "location",
        "property_type",
        "surface_m2",
        "radius_m",
        "lookback_years",
        "source_status",
        "source_total_count",
        "source_truncated",
        "comparable_count",
        "median_price_per_m2",
        "p25_price_per_m2",
        "p75_price_per_m2",
        "estimated_value",
        "estimated_range_low",
        "estimated_range_high",
        "confidence",
        "comparables",
        "generated_at"
    ],
    "additionalProperties": false,
    "description": "Structured result returned by the real-estate/fr/valuation API."
}
```

## Request example

```json
{
    "address": "10 rue de la Paix 75002 Paris",
    "property_type": "apartment",
    "surface_m2": 55
}
```

## Billing policy

```json
{
    "charge_on": "valid_result",
    "no_charge_on_empty_result": true,
    "no_charge_on_error": true
}
```
