French Real-estate Transactions

Searches published French geolocated DVF property transactions by address area or municipality, with date, type and amount filters.

0.010 USD

Charged on valid result · Empty result not charged · Errors not charged

When to use this API?

Use for

  • Find actual French property sales around an address or in a municipality.

Avoid when

  • Do not use for current property listings or asking prices.

Limitations

  • Geolocated DVF reflects published transactions and can include complex mutations; HelpMyAgent only calculates price per square metre for single-house or single-apartment mutations.
  • DVF does not cover Alsace, Moselle or Mayotte; requests in those areas therefore return an empty result.

Sources and provenance

DVF géolocalisées - data.gouv.fr

files.data.gouv.fr

API Géoplateforme - Géocodage (BAN/IGN)

data.geopf.fr

Input / Output schemas

Simplified endpoint contracts. The complete schema remains available in OpenAPI 3.1.

OpenAPI 3.1 →

Input schema
addressstring

code_inseestring

property_typestring

date_fromstring

date_tostring

min_amountnumber

max_amountnumber

radius_minteger

limitinteger

View full JSON Schema
{
    "type": "object",
    "properties": {
        "address": {
            "type": "string",
            "minLength": 5,
            "maxLength": 250
        },
        "code_insee": {
            "type": "string",
            "pattern": "^(?:[0-9]{5}|2[ABab][0-9]{3})$"
        },
        "property_type": {
            "type": "string",
            "enum": [
                "all",
                "house",
                "apartment"
            ],
            "default": "all"
        },
        "date_from": {
            "type": "string",
            "format": "date"
        },
        "date_to": {
            "type": "string",
            "format": "date"
        },
        "min_amount": {
            "type": "number",
            "minimum": 0
        },
        "max_amount": {
            "type": "number",
            "minimum": 0
        },
        "radius_m": {
            "type": "integer",
            "minimum": 100,
            "maximum": 650,
            "default": 500
        },
        "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 20
        }
    },
    "anyOf": [
        {
            "required": [
                "address"
            ]
        },
        {
            "required": [
                "code_insee"
            ]
        }
    ],
    "additionalProperties": false
}
Output schema
locationobject

Required

coverage_scopestring

Required

radius_minteger | null

Required

property_typestring

Required

source_statusstring

Required

source_total_countinteger | null

Required

returned_countinteger | null

Required

truncatedboolean | null

Required

transactionsarray

Required

generated_atstring

Required

limitationsarray

View full JSON Schema
{
    "type": "object",
    "properties": {
        "location": {
            "type": "object",
            "properties": {
                "code_insee": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "address": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "normalized_address": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "postcode": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "city": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ban_id": {
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "geocoding_score": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ]
                },
                "longitude": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ]
                },
                "latitude": {
                    "type": [
                        "number",
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "code_insee",
                "address",
                "normalized_address",
                "postcode",
                "city",
                "ban_id",
                "geocoding_score",
                "longitude",
                "latitude"
            ],
            "additionalProperties": false
        },
        "coverage_scope": {
            "type": "string",
            "enum": [
                "radius",
                "commune"
            ]
        },
        "radius_m": {
            "type": [
                "integer",
                "null"
            ]
        },
        "property_type": {
            "type": "string"
        },
        "source_status": {
            "type": "string",
            "enum": [
                "ok"
            ]
        },
        "source_total_count": {
            "type": [
                "integer",
                "null"
            ]
        },
        "returned_count": {
            "type": [
                "integer",
                "null"
            ]
        },
        "truncated": {
            "type": [
                "boolean",
                "null"
            ]
        },
        "transactions": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "transaction_id": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "date": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "nature": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "amount": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ]
                    },
                    "property_type_code": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "property_type": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "built_area_m2": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ]
                    },
                    "land_area_m2": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ]
                    },
                    "price_per_m2": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ]
                    },
                    "commune_codes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "parcel_ids": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "longitude": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ]
                    },
                    "latitude": {
                        "type": [
                            "number",
                            "integer",
                            "null"
                        ]
                    }
                },
                "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
            }
        },
        "generated_at": {
            "type": "string"
        },
        "limitations": {
            "type": "array",
            "items": {
                "type": "string"
            }
        }
    },
    "required": [
        "location",
        "coverage_scope",
        "radius_m",
        "property_type",
        "source_status",
        "source_total_count",
        "returned_count",
        "truncated",
        "transactions",
        "generated_at"
    ],
    "additionalProperties": false
}

Example queries

Find recent apartment sales around 10 rue de la Paix, Paris.