Référence · Changements

Flux des changements depuis un curseur

GET/v1/changesDroit changes:read

Événements dans l’ordre : created (nouveau bien), price_changed, updated (champs dans changed_fields), removed (vendu, retiré ou fusionné avec un doublon). Sans curseur : à partir de maintenant, ou de since (30 jours au plus). next_cursor est toujours fourni : renvoyez-le pour reprendre exactement où vous vous êtes arrêté. Rétention : 30 jours.

Paramètres

ParamètreTypeDescription
cursorfacultatifchaînenext_cursor d’une réponse précédente.
sincefacultatifdate-heure (ISO 8601)Sans curseur : repartir de cette date (30 jours au plus). Sans les deux : à partir de maintenant.
departementfacultatifliste (a,b,c)Départements, séparés par des virgules (20 au plus).
typesfacultatifliste (a,b,c)Types d’événements, séparés par des virgules.
limitfacultatifentier, 1 à 500Taille de page, de 1 à 500 (100 par défaut).

Réponse 200

ChampTypeDescription
datatableau de objetÉvénements, dans l’ordre.
↳ cursorchaînePosition de l’événement dans le flux (croissante).
↳ typecreated | updated | price_changed | removedcreated : le bien entre dans le flux (nouveau, ou remis en vente) ; price_changed ; updated (voir changed_fields) ; removed : vendu, retiré ou fusionné avec un doublon.
↳ occurred_atdate-heure (ISO 8601)Date du changement.
↳ listing_iduuidIdentifiant du bien.
↳ changed_fieldstableau de chaîneChamps modifiés : price, title, property_type, surface, surface_terrain, rooms, bedrooms, commune, position, photos, sources, dpe, audit, on_sale_since.
↳ old_pricepeut être nullentierPrix avant.
↳ new_pricepeut être nullentierPrix après.
↳ listingpeut être nullobjetÉtat courant du bien à la lecture ; null s’il a quitté le flux depuis.
↳ iduuidIdentifiant du bien (stable : un même bien vu sur plusieurs plateformes garde le même).
↳ titlechaîneTitre de l’annonce affichée.
↳ property_typepeut être nullmaison | appartementType de bien.
↳ priceentierPrix demandé, en euros.
↳ price_per_sqmpeut être nullentierPrix demandé au m², en euros.
↳ surfacepeut être nullnombreSurface habitable, en m².
↳ surface_terrainpeut être nullnombreSurface du terrain, en m².
↳ roomspeut être nullentierNombre de pièces.
↳ bedroomspeut être nullentierNombre de chambres.
↳ construction_yearpeut être nullentierAnnée de construction déclarée.
↳ dpe_letterpeut être nullA | B | C | D | E | F | GClasse énergie (DPE).
↳ ges_letterpeut être nullA | B | C | D | E | F | GClasse climat (GES).
↳ works_neededpeut être nullnone | light | moderate | heavyTravaux à prévoir : aucun, légers, modérés, lourds.
↳ outdoor_spacepeut être nullnone | balcon | loggia | terrasse | jardinExtérieur : aucun, balcon, loggia, terrasse ou jardin.
↳ seller_typepeut être nullparticulier | proVendeur : particulier ou professionnel.
↳ communeobjetCommune du bien.
↳ codechaîneCode INSEE.
↳ namechaîneNom de la commune.
↳ positionpeut être nullobjetPosition du bien ; null si inconnue.
↳ lonnombreLongitude (WGS84).
↳ latnombreLatitude (WGS84).
↳ precisionpoint | secteur | communepoint : adresse exacte ; secteur : zone floutée par la plateforme ; commune : centre de la commune.
↳ radius_mpeut être nullentierRayon de la zone floutée, en mètres (secteur seulement).
↳ photostableau de adresse (URL)Adresses des photos, la principale d’abord.
↳ sourcestableau de objetPlateformes où le bien est en ligne.
↳ idchaîneIdentifiant normalisé de la plateforme (seloger, leboncoin… ; autre si inconnue).
↳ namechaîneNom lisible de la plateforme.
↳ price_droppeut être nullobjetDernière baisse de prix ; null si aucune.
↳ pctnombreBaisse, en % (négatif).
↳ from_priceentierPrix avant la baisse.
↳ to_priceentierPrix après la baisse.
↳ drops_countentierNombre de baisses depuis la mise en vente.
↳ days_agoentierJours écoulés depuis la dernière baisse.
↳ on_sale_sincedate-heure (ISO 8601)Mise en vente déclarée par les plateformes (à défaut, notre premier relevé).
↳ first_seen_atdate-heure (ISO 8601)Notre premier relevé du bien.
↳ changes_countentierNombre de modifications connues (prix, liens, titre, retraits…).
↳ auditfacultatifobjetRésumé de l’audit de prix, présent seulement avec le droit valuations:read.
↳ statuspeut être nullOK | INSUFFICIENT_DATA | COVERAGE_UNAVAILABLEOK : estimation disponible. INSUFFICIENT_DATA (aucune vente comparable) ou COVERAGE_UNAVAILABLE (pas de données DVF dans la commune) : ni estimation, ni libellé. null : pas encore valorisée.
↳ estimated_pricepeut être nullentierPrix de marché estimé, en euros, base prix affichés (comparable au prix demandé).
↳ delta_pctpeut être nullnombreÉcart du prix demandé au prix de marché, en % (−12,5 = 12,5 % sous le marché).
↳ labelpeut être nullTBA | BA | N | MA | TMATBA (très bonne affaire), BA (bonne affaire), N (dans le marché), MA (mauvaise affaire), TMA (très mauvaise affaire).
↳ confidencepeut être nullnombre, 0 à 1Confiance de l’estimation, de 0 à 1 (nombre et proximité des ventes comparables).
↳ location_precisionpoint | secteur | communePrécision de la localisation qui a fondé l’estimation : adresse exacte, zone floutée par la plateforme, ou centre de la commune.
↳ decote_unexplainedbooléenBonne affaire apparente sans facteur de décote identifié : à vérifier.
next_cursorchaîneÀ renvoyer pour la suite ; toujours fourni, même sans événement.
has_morebooléenD’autres événements suivent déjà : relancez tout de suite avec next_cursor.

Erreurs

400 · Requête invalide401 · Clé absente ou invalide403 · Droit manquant ou accès coupé410 · Curseur expiré429 · Limite atteinte503 · Requête trop longue

Toutes les erreurs ont la forme { "error": { "code", "message", "request_id" } } : voir Erreurs.