Spécifications Flux Annonces
Guide d'intégration pour diffuser automatiquement vos annonces immobilières sur Superimmo.com.
Besoin d'aide pour votre intégration ?
Pour toute question sur la mise en place de votre flux, contactez notre service technique.
Adaptabilité garantie
Le format présenté dans ce document est notre format natif, celui vers lequel nous convertissons tous les flux que nous recevons. Si votre logiciel exporte déjà dans un autre format (Poliris, Ubiflow, XML ou CSV maison…), inutile de le réécrire : envoyez-nous votre flux actuel et notre équipe technique configurera la conversion.
Plus de 150 logiciels immobiliers sont déjà connectés à Superimmo.com. Dans ce cas, pas de flux à développer : sélectionnez votre logiciel et suivez la procédure d'activation. Cette documentation s'adresse aux agences et éditeurs qui diffusent en direct.
Comment nous transmettre vos annonces ?
| Méthode | Description | Fréquence |
|---|---|---|
| URL simple | Un lien internet vers un fichier XML/JSON (éventuellement zippé) que nous récupérons automatiquement | Toutes les heures |
| Dépôt FTP/SFTP | Un espace sécurisé sur nos serveurs où vous déposez vos fichiers (identifiants fournis par nos soins) | À chaque dépôt |
| API REST | Un endpoint sur votre infrastructure, avec authentification (voir ci-dessous) | Toutes les heures |
| Envoi manuel d'un fichier (pour démarrage ou tests) | Manuel |
Authentification API
Bearer Token Token JWT ou API key dans le header AuthorizationAPI Key Clé dans un header (X-API-Key) ou en paramètre d'URLBasic Auth Identifiant et mot de passeOAuth 2.0 Authentification avec refresh tokenToken URL Token directement dans l'URL (?token=xxx)Custom Header Header personnalisé selon vos spécificationsUn flux, plusieurs agences
<bien> porte la référence de son agence dans agence.reference. Chaque agence
est ensuite activée individuellement sur Superimmo.com.
Notes importantes
Vous n'avez pas besoin de nettoyer vos données, nous nous en chargeons :
- Description : le HTML est nettoyé, les balises <br>, <p>, <li> sont converties en retours à la ligne et en puces
- Téléphone : seuls les chiffres sont conservés, le format +33 est converti en 0
- Emails multiples : les séparateurs
;,/&sont acceptés - Prix et surfaces : les virgules sont converties en points, les espaces et le symbole € sont supprimés
- Caractères spéciaux : les entités HTML (&, é, etc.) sont décodées
- Localité : le couple code postal + ville est rapproché de notre référentiel de communes, même avec des variantes d'orthographe
À chaque import, nous calculons une empreinte de chaque <bien>. Si rien n'a changé depuis le dernier
passage, l'annonce n'est pas retraitée (gain de performance, aucune perte de statistiques).
Conséquence : si vous remplacez une photo sans changer son URL, nous ne détecterons pas le changement.
Pensez à modifier l'URL (nom de fichier, paramètre ?v=2…) quand le contenu change.
Le flux doit toujours contenir l'intégralité de vos annonces actives. Toute annonce présente lors du précédent import et absente du flux courant est automatiquement archivée (retirée du site). Il n'y a donc pas de balise « supprimé » à envoyer : il suffit de ne plus inclure le bien.
Pour tous les champs oui/non (équipements, chauffage, vues…), utilisez 1 / 0 ou
true / false. Une balise vide ou absente est considérée comme « non ». Évitez « oui »/« non » en toutes lettres.
Agence & contact
| Champ | Description | Statut |
|---|---|---|
agence.reference |
Identifiant unique et stable de l'agence dans votre système. Une annonce dont l'agence n'est pas encore activée chez nous est mise en attente, jamais perdue. | Obligatoire |
agence.nom |
Nom commercial de l'agence (facilite le rattachement lors de l'activation) | Recommandé |
| Champ | Description | Statut |
|---|---|---|
contact.email |
Email de réception des contacts pour cette annonce. Plusieurs adresses possibles :<email>a@agence.fr;b@agence.fr</email>
|
Recommandé |
contact.telephone |
Téléphone affiché sur l'annonce (10 chiffres, le +33 est accepté) | Recommandé |
contact.nom |
Nom du négociateur en charge du bien | Optionnel |
Identification de l'annonce
| Champ | Description | Statut |
|---|---|---|
reference.interne |
Votre référence d'annonce, unique au sein de l'agence et stable dans le temps (255 caractères max). C'est elle qui permet la mise à jour d'une annonce d'un import à l'autre. | Obligatoire |
reference.api_key |
Identifiant technique renvoyé dans les demandes de contact (API leads, CRM). Par défaut égal à la référence interne. | Recommandé |
date_creation |
Date de création de l'annonce (AAAA-MM-JJ ou AAAA-MM-JJ HH:MM:SS) |
Recommandé |
date_maj |
Date de dernière modification | Recommandé |
date_mandat |
Date de signature du mandat | Optionnel |
| Champ | Description | Statut |
|---|---|---|
prestation |
Type de transaction : vente ou location |
Obligatoire |
propriete |
Type de bien (voir la liste des valeurs ci-dessous). Une valeur inconnue est classée en divers. |
Obligatoire |
sous_type |
Précision libre sur le type : villa, duplex, longère, box, bureaux… | Optionnel |
options.type_mandat |
exclusif pour afficher la mention « Exclusivité », simple sinon |
Optionnel |
Valeurs acceptées pour propriete
appartement Appartementstudio Studioloft Loft / ateliermaison Maison / villachateau Châteauhotel_particulier Hôtel particulierimmeuble Immeubleterrain Terrainparking Parking / box / garagelocal_commercial Local commercial / bureauxdivers AutreLocalisation
| Champ | Description | Statut |
|---|---|---|
code_postal |
Code postal du bien (5 chiffres) | Obligatoire |
ville |
Nom de la commune. Le couple code postal + ville est rapproché de notre référentiel ; en cas d'ambiguïté, la commune la plus proche est retenue. | Obligatoire |
adresse |
Adresse du bien (numéro et voie) | Recommandé |
latitude / longitude |
Coordonnées GPS décimales (ex : 48.8698 / 2.3421). Ignorées si elles sont à plus de 25 km de la commune déclarée. |
Recommandé |
precision_localite |
Précision de la position sur la carte : address (adresse exacte), district (quartier), city (commune) ou personalized (rayon libre, en mètres dans precision_localite_distance) |
Optionnel |
| Champ | Description | Statut |
|---|---|---|
ville_2 / code_postal_2 |
Commune affichée à la place de la commune réelle. Le bien reste positionné sur la commune réelle pour la recherche. | Optionnel |
afficher_ville_approximative |
1 pour afficher la mention « à proximité de » sans changer de commune |
Optionnel |
georisque |
1 pour afficher le lien vers les risques naturels et technologiques de la commune (georisques.gouv.fr) |
Optionnel |
Prix & honoraires
| Champ | Description | Statut |
|---|---|---|
prix |
Prix de vente ou loyer mensuel en euros, honoraires inclus (nombre entier ou décimal, sans symbole). Un prix vide ou inférieur à 10 € est traité comme « prix non communiqué ». | Obligatoire |
options.prix_hors_honoraire |
Prix net vendeur (vente) — obligation d'affichage lorsque les honoraires sont à la charge de l'acquéreur | Recommandé |
options.honoraires |
Montant des honoraires TTC en euros | Recommandé |
options.pourcentage_frais_agence_ttc |
Honoraires TTC exprimés en pourcentage du prix (ex : 4.5) |
Recommandé |
options.honoraires_pour |
À la charge de : seller (vendeur), buyer (acquéreur) ou both |
Recommandé |
options.taxe_fonciere |
Taxe foncière annuelle en euros | Optionnel |
options.taxe_habitation |
Taxe d'habitation annuelle en euros | Optionnel |
options.prix_terrain_seul / options.prix_construction_seule |
Décomposition terrain + construction (maisons neuves, constructeurs) | Optionnel |
L'URL de votre barème d'honoraires (bareme_url, voir Visite virtuelle & barème)
est affichée sur chaque annonce conformément à l'arrêté du 10 janvier 2017.
Surfaces & pièces
| Champ | Description | Statut |
|---|---|---|
surface |
Surface habitable en m² (décimales acceptées). Pour un terrain, c'est options.surface_terrain qui fait foi. |
Obligatoire |
options.surface_terrain |
Surface du terrain en m² (obligatoire pour un terrain, recommandée pour une maison) | Recommandé |
options.surface_carrez |
Surface loi Carrez (lots de copropriété) | Recommandé |
options.surface_sejour |
Surface du séjour | Optionnel |
options.surface_cuisine, surface_salle_a_manger |
Surfaces des autres pièces de vie | Optionnel |
options.surface_balcon, surface_terrasse, surface_loggia, surface_veranda, surface_jardin |
Surfaces des extérieurs | Optionnel |
options.surface_cave, surface_garage |
Surfaces des annexes | Optionnel |
options.hauteur_plafond |
Hauteur sous plafond en mètres | Optionnel |
| Champ | Description | Statut |
|---|---|---|
nb_pieces |
Nombre de pièces principales (entier, 99 max). Non pris en compte pour les terrains, parkings et immeubles. | Obligatoire |
options.nb_chambres |
Nombre de chambres | Recommandé |
options.nb_salles_de_bain / nb_salles_eau |
Nombre de salles de bain / salles d'eau | Recommandé |
options.nb_wc |
Nombre de WC | Optionnel |
options.etage |
Étage du bien (0 = rez-de-chaussée) | Recommandé |
options.nb_etages |
Nombre d'étages de l'immeuble | Optionnel |
options.nb_niveau |
Nombre de niveaux du bien (maison, duplex) | Optionnel |
options.nb_chambres_rdc |
Nombre de chambres en rez-de-chaussée | Optionnel |
options.nb_parkings, nb_garages, nb_boxes, nb_caves |
Nombre de stationnements, garages, boxes et caves | Optionnel |
options.nb_balcon, nb_terrasse |
Nombre de balcons et terrasses | Optionnel |
Description
| Champ | Description | Statut |
|---|---|---|
description.fr_FR |
Texte de l'annonce. Le HTML est toléré et nettoyé ; les retours à la ligne sont conservés. Encapsulez le texte dans un <![CDATA[ … ]]> pour éviter les problèmes d'échappement. |
Obligatoire |
Le titre de l'annonce est généré automatiquement (type de bien, pièces, surface, commune). Les mentions légales (honoraires, DPE, copropriété) sont affichées à partir des champs structurés : inutile de les répéter dans le texte.
Diagnostics (DPE / GES)
| Champ | Description | Statut |
|---|---|---|
options.dpe |
Consommation énergétique en kWh/m²/an (nombre) | Obligatoire |
options.dpe_etiquette |
Classe énergie : une lettre de A à G |
Obligatoire |
options.ges |
Émissions de gaz à effet de serre en kgCO₂/m²/an (nombre) | Obligatoire |
options.ges_etiquette |
Classe climat : une lettre de A à G |
Obligatoire |
options.sans_dpe |
1 si le bien n'est pas soumis au DPE (terrain, parking, bâtiment non chauffé…). Remplace les champs ci-dessus. |
Recommandé |
options.dpe_date |
Date de réalisation du diagnostic (AAAA-MM-JJ) |
Recommandé |
options.dpe_depense_bas / dpe_depense_haut |
Fourchette des dépenses annuelles d'énergie en euros (obligatoire pour les DPE réalisés depuis juillet 2021) | Recommandé |
options.dpe_depense_annee |
Année de référence des prix de l'énergie utilisés pour l'estimation | Recommandé |
options.diagnostic_amiante / diagnostic_plomb |
1 si le diagnostic a été réalisé |
Optionnel |
Équipements & confort
1 / 0) placés dans le nœud
<options>. N'envoyez que ceux qui sont vrais, les autres peuvent être omis.
balcon Balconterrasse Terrasseloggia Loggiaveranda Vérandajardin Jardinjardin_privatif Jardin privatifrez_de_jardin Rez-de-jardinpiscine Piscinebarbecue Barbecuecourt_de_tennis Court de tennisespace_vert Espace vertetang Étangmare Mare / plan d'eauplage_privee Plage privéecloture Terrain clôturécloture_grillage, cloture_haie, cloture_mur, cloture_palissade, cloture_talus Type de clôtureparking Parkingparking_couvert Parking couvertparking_a_ciel_ouvert Parking extérieurstationnement Stationnementgarage Garagecave Cavesous_sol Sous-solgrenier Grenier / comblesdependance Dépendanceremise Remisebuanderie Buanderieservice_room Chambre de servicecuisine_equipee Cuisine équipéecuisine_amenagee Cuisine aménagéecuisine_ouverte Cuisine ouvertecuisine_semi_ouverte Cuisine semi-ouvertecuisine_separee Cuisine séparéecoin_cuisine Coin cuisinecuisine_industrielle Cuisine industrielleentree Entréedressing Dressingrangements Rangements / placardswc_separes WC séparésmezzanine Mezzanineduplex Duplexplain_pied Plain-pieddernier_etage Dernier étagetraversant Traversantchambre_au_rez_de_chaussee Chambre en RDCparquet Parquetmoulures Mouluresboiserie Boiseriescheminee Cheminéespacieux Grands volumesatypical Bien atypiquemeuble Meublévide Non meubléascenseur Ascenseuracces_handicap Accès handicapéclimatisation Climatisationdouble_vitrage Double vitragetriple_vitrage Triple vitragesimple_vitrage Simple vitragesur_vitrage Survitragefenetres_en_pvc, fenetres_en_bois, fenetres_en_aluminium Menuiseriesfibre_optique Fibre optiquetelevision_par_cable TV par câbleinterphone Interphonevisiophone Visiophonedigicode Digicodegardien Gardienalarme Alarmevideosurveillance Vidéosurveillanceporte_blindee Porte blindéejacuzzi Jacuzzisauna Saunaammam Hammamcalme Environnement calmesans_vis_a_vis Sans vis-à-visvue_mer Vue mervue_montagne Vue montagnevue_campagne Vue campagnevue_degagee Vue dégagéevue_jardin Vue jardinvue_parc Vue parcvue_foret Vue forêtvue_port Vue portvue_verdure Vue verdurevue_cour Vue courvue_rue Vue rue| Champ | Description | Statut |
|---|---|---|
options.orientations.orientation |
Une balise par orientation, valeurs : nord, sud, est, ouest,
nord_est, nord_ouest, sud_est, sud_ouest<orientations><orientation>sud</orientation><orientation>ouest</orientation></orientations>
|
Optionnel |
options.sejour_orientation |
Orientation du séjour : nord, sud, est, ouest, nord-sud, est-ouest, sud-ouest, sud-est, nord-ouest, nord-est |
Optionnel |
Chauffage & énergie
chauffage_type_individuel + chauffage_energie_gaz + chauffage_mecanisme_radiateur.
Type
chauffage_type_individuel Individuelchauffage_type_collectif CollectifÉnergie
chauffage_energie_gaz Gazchauffage_energie_electrique Électriquechauffage_energie_fuel Fioulchauffage_energie_bois Boischauffage_energie_granules Granuléschauffage_energie_charbon Charbonchauffage_energie_solaire Solairechauffage_energie_geothermie Géothermiechauffage_energie_aerothermie Aérothermiechauffage_energie_aquathermie Aquathermiechauffage_energie_eolienne Éoliennechauffage_energie_mixte MixteMécanisme
chauffage_mecanisme_radiateur Radiateurschauffage_mecanisme_sol Plancher chauffantchauffage_mecanisme_plafond Plafond chauffantchauffage_mecanisme_central Chauffage centralchauffage_mecanisme_chaudiere Chaudièrechauffage_mecanisme_pompe_chaleur Pompe à chaleurchauffage_mecanisme_clim Climatisation réversiblechauffage_mecanisme_convecteur Convecteurschauffage_mecanisme_accumulateur Accumulateurschauffage_mecanisme_panneaux_radiants Panneaux radiantschauffage_mecanisme_air_pulse Air pulséchauffage_mecanisme_poele Poêlechauffage_mecanisme_cheminee Cheminéechauffage_mecanisme_individuel Individuelchauffage_mecanisme_mixte MixteEau chaude
| Champ | Description | Statut |
|---|---|---|
options.eau_chaude |
individuel ou collectif |
Optionnel |
options.chauffage_eau |
Production : ballon_electrique, chaudiere, chauffe_eau, gaz, panneau_solaire, geothermie, thermodynamique |
Optionnel |
État & construction
| Champ | Description | Statut |
|---|---|---|
options.etat_du_bien |
État général : refait_a_neuf, tres_bon_etat, bon_etat, a_rafraichir, travaux_a_prevoir, a_renover |
Recommandé |
options.annee_construction |
Année de construction (4 chiffres) | Recommandé |
options.annee_renovation |
Année de la dernière rénovation | Optionnel |
options.type_de_construction |
parpaings, beton, briques, pierres, bois, pise, prefabrique |
Optionnel |
options.couverture |
Toiture : tuile, ardoise, zinc, tole, shingle |
Optionnel |
options.assainissement |
collectif, fosse_septique, fosse_toutes_eaux, micro_station, separation_des_eaux, puits_perdu, fosse_naturelle, fosse_morte, sans |
Optionnel |
options.modele_maison |
Nom du modèle (constructeurs de maisons individuelles) | Optionnel |
options.mur_mitoyen |
1 si mitoyen |
Optionnel |
Spécifique terrain
| Champ | Description | Statut |
|---|---|---|
options.terrain_constructible |
1 si constructible |
Recommandé |
options.viabilise |
1 si viabilisé |
Recommandé |
options.raccorde_eau, raccorde_electricite, raccorde_gaz |
Raccordements existants | Optionnel |
options.permis_de_construire |
1 si un permis de construire est accordé |
Optionnel |
options.certificat_d_urbanisation |
1 si un certificat d'urbanisme est disponible |
Optionnel |
options.lotissement |
1 si en lotissement |
Optionnel |
Copropriété
| Champ | Description | Statut |
|---|---|---|
options.copropriete |
1 si le bien est soumis au statut de la copropriété |
Recommandé |
options.nombre_lot_copropriete |
Nombre total de lots de la copropriété | Recommandé |
options.numero_lot_copropriete |
Numéro du lot | Optionnel |
options.charges_prev_annuelles |
Montant moyen annuel de la quote-part de charges (budget prévisionnel), en euros | Recommandé |
options.procedure_copropriete |
1 si une procédure est en cours (art. 29-1 A et 29-1 loi 65-557, art. L615-6 CCH) |
Recommandé |
options.detail_procedure_copropriete |
Détail de la procédure en cours (texte libre) | Optionnel |
options.statut_syndicat_temporaire |
administrateur_provisoire ou mandataire_ad_hoc |
Optionnel |
options.plan_de_sauvegarde_copropriete |
1 si un plan de sauvegarde est en cours |
Optionnel |
options.etat_des_parties_communes |
refait_a_neuf, bon_etat, travaux_a_prevoir, a_renover |
Optionnel |
Spécifique location
prestation = location, le champ prix correspond au loyer mensuel charges comprises.
| Champ | Description | Statut |
|---|---|---|
options.charges_mensuelles |
Montant mensuel des charges en euros | Recommandé |
options.charges_mensuelles_comprises |
1 si le loyer indiqué inclut les charges (défaut : oui si charges_mensuelles est vide) |
Recommandé |
options.prix_sans_charge |
Loyer hors charges en euros | Optionnel |
options.modalites_charges |
forfaitaires_mensuelles, previsionnelles_mensuelles_avec_regularisation_annuelle ou remboursement_annuel_par_le_locataire |
Optionnel |
options.complement_loyer |
Complément de loyer en euros (zones d'encadrement des loyers) | Optionnel |
options.depot_garantie |
Dépôt de garantie en euros | Recommandé |
options.honoraires |
Honoraires TTC à la charge du locataire en euros | Recommandé |
options.etat_des_lieux |
Part des honoraires dédiée à l'état des lieux, en euros | Recommandé |
options.honoraire_frais_dossier |
Frais de dossier en euros | Optionnel |
options.caution |
Montant de la caution demandée | Optionnel |
date_disponibilite |
Date de disponibilité (AAAA-MM-JJ) |
Recommandé |
options.disponible_immediatement |
1 si disponible immédiatement |
Optionnel |
options.meuble / options.vide |
Location meublée / vide | Recommandé |
options.colocation |
1 si colocation acceptée |
Optionnel |
options.profession_liberale |
1 si l'exercice d'une profession libérale est autorisé |
Optionnel |
Viager
| Champ | Description | Statut |
|---|---|---|
options.viager |
1 pour une vente en viager (le prix reste renseigné avec la valeur du bien) |
Recommandé |
options.type_de_viager |
libre, occupe ou vente_nu_propriete |
Recommandé |
options.bouquet |
Montant du bouquet en euros | Recommandé |
options.rente_mensuelle |
Montant de la rente mensuelle en euros | Recommandé |
options.viager_age_personne_1 / viager_age_personne_2 |
Âge du ou des crédirentiers | Optionnel |
options.vendu_libre / options.vendu_loue |
Bien vendu libre / occupé par un locataire (hors viager également) | Optionnel |
options.sous_compromis |
1 pour afficher la mention « Sous compromis » |
Optionnel |
Photos
| Champ | Description | Statut |
|---|---|---|
photos.photo.url |
URL publique de l'image (JPEG ou PNG, HTTPS de préférence, 1200 px de large minimum recommandé). Une annonce sans photo est diffusée mais fortement pénalisée. | Obligatoire |
photos.photo.position |
Ordre d'affichage (1, 2, 3…). La position 1 est la photo principale. | Recommandé |
Notre système détecte les changements en comparant les URLs des photos.
Si vous modifiez une image sans changer son URL, la mise à jour ne sera pas détectée.
Bonnes pratiques :
- Utilisez un nom de fichier différent pour chaque nouvelle version (ex :
salon-v2.jpg) - Ou ajoutez un paramètre de version à l'URL (ex :
salon.jpg?v=2) - Ou incluez un horodatage dans le nom (ex :
salon-20260903.jpg)
Nous téléchargeons les images en parallèle pour optimiser les temps d'import.
Si votre serveur a des restrictions (limite de requêtes par seconde, pare-feu, protection anti-robots), merci de nous en informer pour que nous adaptions notre configuration.
Nos adresses IP publiques :
146.185.45.94146.185.45.103146.185.45.209
Pensez à les autoriser si vous filtrez les accès.
Visite virtuelle & barème
| Champ | Description | Statut |
|---|---|---|
visite_virtuelle_url |
URL de la visite virtuelle ou de la vidéo (YouTube, Vimeo, Matterport, Nodalview, Previsite…). Une balise <iframe> complète est acceptée, nous en extrayons la source. HTTPS obligatoire pour l'intégration. |
Recommandé |
bareme_url |
URL publique de votre barème d'honoraires (PDF ou page web). Peut être commun à toutes les annonces de l'agence. | Recommandé |
Exemple complet
<biens> contenant un <bien> par annonce. Encodage UTF-8.
Les champs non renseignés peuvent être omis. L'équivalent JSON suit exactement la même structure.
<?xml version="1.0" encoding="UTF-8"?>
<biens>
<bien>
<!-- ══════════ AGENCE & CONTACT ══════════ -->
<agence>
<reference>AG-75002</reference>
<nom>Agence du Sentier</nom>
</agence>
<contact>
<nom>Camille Martin</nom>
<telephone>0140267707</telephone>
<email>contact@agence-du-sentier.fr;camille@agence-du-sentier.fr</email>
</contact>
<!-- ══════════ IDENTIFICATION ══════════ -->
<reference>
<interne>VA-2026-0142</interne>
<api_key>VA-2026-0142</api_key>
</reference>
<date_creation>2026-08-12 09:30:00</date_creation>
<date_maj>2026-09-01 17:45:00</date_maj>
<date_mandat>2026-08-10</date_mandat>
<prestation>vente</prestation>
<propriete>appartement</propriete>
<sous_type>duplex</sous_type>
<!-- ══════════ LOCALISATION ══════════ -->
<adresse>14 rue d'Uzès</adresse>
<code_postal>75002</code_postal>
<ville>Paris 2e</ville>
<latitude>48.8698</latitude>
<longitude>2.3421</longitude>
<precision_localite>address</precision_localite>
<!-- ══════════ PRIX, SURFACES, PIÈCES ══════════ -->
<prix>745000</prix>
<surface>72.5</surface>
<nb_pieces>3</nb_pieces>
<!-- ══════════ DESCRIPTION ══════════ -->
<description>
<fr_FR><![CDATA[Au cœur du Sentier, duplex de 72 m² au dernier étage d'un immeuble pierre de taille.
Séjour traversant de 28 m² avec cuisine ouverte équipée, deux chambres, salle de bains et WC séparés.
Cave en sous-sol. Copropriété de 18 lots sans procédure en cours.]]></fr_FR>
</description>
<!-- ══════════ PHOTOS ══════════ -->
<photos>
<photo>
<position>1</position>
<url>https://cdn.agence-du-sentier.fr/VA-2026-0142/sejour-v2.jpg</url>
</photo>
<photo>
<position>2</position>
<url>https://cdn.agence-du-sentier.fr/VA-2026-0142/cuisine.jpg</url>
</photo>
</photos>
<!-- ══════════ MÉDIAS ══════════ -->
<visite_virtuelle_url>https://my.matterport.com/show/?m=AbCdEf123</visite_virtuelle_url>
<bareme_url>https://www.agence-du-sentier.fr/honoraires.pdf</bareme_url>
<!-- ══════════ OPTIONS (détails, honoraires, diagnostics, équipements) ══════════ -->
<options>
<type_mandat>exclusif</type_mandat>
<prix_hors_honoraire>715000</prix_hors_honoraire>
<honoraires>30000</honoraires>
<pourcentage_frais_agence_ttc>4.2</pourcentage_frais_agence_ttc>
<honoraires_pour>buyer</honoraires_pour>
<taxe_fonciere>1450</taxe_fonciere>
<surface_carrez>70.8</surface_carrez>
<surface_sejour>28</surface_sejour>
<nb_chambres>2</nb_chambres>
<nb_salles_de_bain>1</nb_salles_de_bain>
<nb_wc>1</nb_wc>
<etage>5</etage>
<nb_etages>5</nb_etages>
<nb_niveau>2</nb_niveau>
<nb_caves>1</nb_caves>
<dpe>178</dpe>
<dpe_etiquette>D</dpe_etiquette>
<ges>36</ges>
<ges_etiquette>D</ges_etiquette>
<dpe_date>2025-11-20</dpe_date>
<dpe_depense_bas>1120</dpe_depense_bas>
<dpe_depense_haut>1560</dpe_depense_haut>
<dpe_depense_annee>2024</dpe_depense_annee>
<etat_du_bien>tres_bon_etat</etat_du_bien>
<annee_construction>1880</annee_construction>
<annee_renovation>2022</annee_renovation>
<copropriete>1</copropriete>
<nombre_lot_copropriete>18</nombre_lot_copropriete>
<charges_prev_annuelles>2160</charges_prev_annuelles>
<procedure_copropriete>0</procedure_copropriete>
<chauffage_type_individuel>1</chauffage_type_individuel>
<chauffage_energie_gaz>1</chauffage_energie_gaz>
<chauffage_mecanisme_radiateur>1</chauffage_mecanisme_radiateur>
<duplex>1</duplex>
<dernier_etage>1</dernier_etage>
<traversant>1</traversant>
<cuisine_ouverte>1</cuisine_ouverte>
<cuisine_equipee>1</cuisine_equipee>
<wc_separes>1</wc_separes>
<parquet>1</parquet>
<cave>1</cave>
<double_vitrage>1</double_vitrage>
<fibre_optique>1</fibre_optique>
<digicode>1</digicode>
<interphone>1</interphone>
<vue_degagee>1</vue_degagee>
<orientations>
<orientation>sud</orientation>
<orientation>ouest</orientation>
</orientations>
</options>
</bien>
<!-- Deuxième annonce : location -->
<bien>
<agence><reference>AG-75002</reference></agence>
<contact><email>location@agence-du-sentier.fr</email><telephone>0140267707</telephone></contact>
<reference><interne>LOC-2026-0031</interne></reference>
<prestation>location</prestation>
<propriete>studio</propriete>
<code_postal>75011</code_postal>
<ville>Paris 11e</ville>
<prix>980</prix>
<surface>24</surface>
<nb_pieces>1</nb_pieces>
<date_disponibilite>2026-10-01</date_disponibilite>
<description><fr_FR><![CDATA[Studio meublé refait à neuf, proche métro Parmentier.]]></fr_FR></description>
<photos><photo><position>1</position><url>https://cdn.agence-du-sentier.fr/LOC-2026-0031/piece.jpg</url></photo></photos>
<options>
<charges_mensuelles>60</charges_mensuelles>
<charges_mensuelles_comprises>1</charges_mensuelles_comprises>
<modalites_charges>forfaitaires_mensuelles</modalites_charges>
<depot_garantie>920</depot_garantie>
<honoraires>288</honoraires>
<etat_des_lieux>72</etat_des_lieux>
<meuble>1</meuble>
<etage>2</etage>
<dpe>245</dpe>
<dpe_etiquette>E</dpe_etiquette>
<ges>7</ges>
<ges_etiquette>B</ges_etiquette>
</options>
</bien>
</biens>
{
"biens": [
{
// ══════════ AGENCE & CONTACT ══════════
"agence": { "reference": "AG-75002", "nom": "Agence du Sentier" },
"contact": {
"nom": "Camille Martin",
"telephone": "0140267707",
"email": "contact@agence-du-sentier.fr;camille@agence-du-sentier.fr"
},
// ══════════ IDENTIFICATION ══════════
"reference": { "interne": "VA-2026-0142", "api_key": "VA-2026-0142" },
"date_creation": "2026-08-12 09:30:00",
"date_maj": "2026-09-01 17:45:00",
"date_mandat": "2026-08-10",
"prestation": "vente",
"propriete": "appartement",
"sous_type": "duplex",
// ══════════ LOCALISATION ══════════
"adresse": "14 rue d'Uzès",
"code_postal": "75002",
"ville": "Paris 2e",
"latitude": 48.8698,
"longitude": 2.3421,
"precision_localite": "address",
// ══════════ PRIX, SURFACES, PIÈCES ══════════
"prix": 745000,
"surface": 72.5,
"nb_pieces": 3,
// ══════════ DESCRIPTION ══════════
"description": {
"fr_FR": "Au cœur du Sentier, duplex de 72 m² au dernier étage d'un immeuble pierre de taille.\nSéjour traversant de 28 m² avec cuisine ouverte équipée, deux chambres, salle de bains et WC séparés.\nCave en sous-sol. Copropriété de 18 lots sans procédure en cours."
},
// ══════════ PHOTOS ══════════
"photos": [
{ "position": 1, "url": "https://cdn.agence-du-sentier.fr/VA-2026-0142/sejour-v2.jpg" },
{ "position": 2, "url": "https://cdn.agence-du-sentier.fr/VA-2026-0142/cuisine.jpg" }
],
// ══════════ MÉDIAS ══════════
"visite_virtuelle_url": "https://my.matterport.com/show/?m=AbCdEf123",
"bareme_url": "https://www.agence-du-sentier.fr/honoraires.pdf",
// ══════════ OPTIONS ══════════
"options": {
"type_mandat": "exclusif",
"prix_hors_honoraire": 715000,
"honoraires": 30000,
"pourcentage_frais_agence_ttc": 4.2,
"honoraires_pour": "buyer",
"taxe_fonciere": 1450,
"surface_carrez": 70.8,
"surface_sejour": 28,
"nb_chambres": 2,
"nb_salles_de_bain": 1,
"nb_wc": 1,
"etage": 5,
"nb_etages": 5,
"nb_niveau": 2,
"nb_caves": 1,
"dpe": 178,
"dpe_etiquette": "D",
"ges": 36,
"ges_etiquette": "D",
"dpe_date": "2025-11-20",
"dpe_depense_bas": 1120,
"dpe_depense_haut": 1560,
"dpe_depense_annee": 2024,
"etat_du_bien": "tres_bon_etat",
"annee_construction": 1880,
"annee_renovation": 2022,
"copropriete": true,
"nombre_lot_copropriete": 18,
"charges_prev_annuelles": 2160,
"procedure_copropriete": false,
"chauffage_type_individuel": true,
"chauffage_energie_gaz": true,
"chauffage_mecanisme_radiateur": true,
"duplex": true,
"dernier_etage": true,
"traversant": true,
"cuisine_ouverte": true,
"cuisine_equipee": true,
"wc_separes": true,
"parquet": true,
"cave": true,
"double_vitrage": true,
"fibre_optique": true,
"digicode": true,
"interphone": true,
"vue_degagee": true,
"orientations": ["sud", "ouest"]
}
},
{
// Deuxième annonce : location
"agence": { "reference": "AG-75002" },
"contact": { "email": "location@agence-du-sentier.fr", "telephone": "0140267707" },
"reference": { "interne": "LOC-2026-0031" },
"prestation": "location",
"propriete": "studio",
"code_postal": "75011",
"ville": "Paris 11e",
"prix": 980,
"surface": 24,
"nb_pieces": 1,
"date_disponibilite": "2026-10-01",
"description": { "fr_FR": "Studio meublé refait à neuf, proche métro Parmentier." },
"photos": [{ "position": 1, "url": "https://cdn.agence-du-sentier.fr/LOC-2026-0031/piece.jpg" }],
"options": {
"charges_mensuelles": 60,
"charges_mensuelles_comprises": true,
"modalites_charges": "forfaitaires_mensuelles",
"depot_garantie": 920,
"honoraires": 288,
"etat_des_lieux": 72,
"meuble": true,
"etage": 2,
"dpe": 245,
"dpe_etiquette": "E",
"ges": 7,
"ges_etiquette": "B"
}
}
]
}
Cet exemple illustre notre format natif. Nous nous adaptons à votre format existant, quelle que soit sa structure.
Envoyez-nous votre flux actuel et notre équipe technique configurera l'import pour correspondre exactement à vos données.