Documentation Casapulse Data Hub

Utilisation de l'API

Accès

L'API Casapulse Data Hub est accessible par requêtes HTTP sur le domaine https://api.casapulse.fr

À noter

Le nom de domaine n’est pas indiqué par la suite dans les exemples de requêtes.

Authentification

L’authentification est réalisée avec un paramètre de requête api_key spécifié dans chaque requête.

À noter

Le paramètre api_key n’est pas indiqué par la suite dans les exemples de requêtes.

Format des requêtes

Une requête complète se compose du domaine, suivi d'une URI (chemin du point d'entrée à requêter), puis des paramètres de requêtes et du paramètre api_key.
				https://api.casapulse.fr/exemple-uri/?parametre=valeur&api_key=xxxxxxxx
  • Tous les paramètres de requête sont optionnels avec une valeur par défaut, sauf api_key.
  • Les réponses sont renvoyées au format JSON, non indenté par défaut, et indenté si le paramètre de requête indent est spécifié.

À noter

  • L'URI doit être suivie d'un caractère slash

  • Les valeurs des paramètres de requêtes doivent être URL-encodées, en particulier lorsqu'elles contiennent des caractères spéciaux

Erreurs

  • Les requêtes exécutées de façon normale renvoient un code HTTP 200.

  • En cas d'erreur, le code HTTP de la réponse est supérieur ou égal à 400.

  • Un code HTTP 400 signifie qu’un ou plusieurs paramètres de requête sont invalides. Dans ce cas, le détail de l’erreur est donné dans le corps de la réponse.

Format de résponse des erreurs 400
				{
				  /* Nom du paramètre ayant reçu une valeur invalide */
				  "rooms_min":
				  /* Liste de messages d'erreur associés au paramètre */
				  [
				    "Saisissez un nombre entier valide."
				  ],
				  /* Nom du paramètre ayant reçu une valeur invalide */
				  "from_date":
				  /* Liste de messages d'erreur associés au paramètre */
				  [
				    "La date doit être au format AAAA-MM-JJ ou AAAA-MM-JJ_hh-mm-ss."
				  ]
				}

Identifiants d'objets

Tous les objets renvoyés par l'API possèdent un identifiant unique au format UUID. Par la suite, le terme ID fait référence à cet identifiant.

Versions et rétrocompatibilité

Les versions de l'API sont représentées au format major.minor.patch, par exemple 1.1.0
  • Une nouvelle version patch est rétrocompatible avec les versions major.minor.patch précédentes. Celle-ci n'implique pas de changement dans l'interface ou le fonctionnement de l'API, et concerne généralement des correctifs ou évolutions internes.
  • Une nouvelle version minor est rétrocompatible avec les versions major.minor précedentes. Celle-ci implique l'ajout de points d'entrée dans l'API, ou de paramètres de requête et attributs de réponse aux points d'entrée existants.
  • Une nouvelle version major n'est pas rétrocompatible avec les versions major précedentes. Celle-ci implique des suppressions de points d'entrée dans l'API, ou des suppressions et modifications de paramètres de requête et attributs de réponse dans les points d'entrée existants.
Par défaut, l'API est accédée sur la version major la plus récente. Pour accéder à une version major spécifique, le paramètre de requête version doit être spécifié avec le numéro de version souhaité, par exemple version=1.

Exemples

Les services documentés ci-dessous sont accompagnés d'exemples en ligne utilisant une clé API de test.

Services disponibles

Recherche de localisations

Permet de rechercher des communes, départements, régions, ou code postaux à partir d’une chaîne de caractères et d’obtenir les IDs et autres informations (nom, code postal...) des lieux correspondants.

Ces IDs ou informations peuvent être passés comme valeurs dans les paramètres city, department, region du service Recherche d’annonces, et du service Données de marché.

À noter

Cette requête renvoie 10 résultats au maximum, classés par ordre de pertinence.

URI locations/search
Méthode GET
Paramètres

Nom

Types

Défaut

Description

Remarques

query

stringnull

Chaîne de caractères correspondant à la localisation à rechercher, qui peut être un nom ou une partie de nom de ville, département, ou région, un code postal, numéro de département, etc., ou bien une combinaison de ces éléments.

Format de la réponse
				{
				  /* La chaîne spécifiée dans le paramètre query. */
				  "query": "velizy",
				  /* Liste des résultats. */
				  "results": [
				    {
				      /* ID de la localisation. */
				      "id": "43ba90b1-8b19-4011-9ed4-41b7e1716cdb",
				      /* Code Insee de la localisation. */
				      "insee_code": "78640",
				      /* Code postal si le type de localisation est "city", sinon null. */
				      "zip_code": "78140",
				      /* Nom de la localisation. */
				      "name": "Vélizy-Villacoublay",
				      /* Nom de la localisation en minuscules sans caractères spéciaux. */
				      "slug": "velizy villacoublay",
				      /* Type de localisation, peut être "city", "department", ou "region". */
				      "location_type": "city"
				    }
				  ]
				}
Exemples en ligne

Types de biens et sources

Renvoie la liste des IDs et dénominations des types de biens (appartement, maison…) et des sources (plateformes de publication d'annonces) disponibles, pouvant être utilisés comme valeurs dans les paramètres property_type et source du service Recherche d’annonces.
URI properties/listings/options
Méthode GET
Paramètres

Aucun

Format de la réponse
				{
				  /* Liste des sources disponibles (plateformes de publication d'annonces),
				  tronqué à 1 dans cet exemple */
				  "sources": [
				    {
				      /* ID de la source */
				      "id": "e771f32f-af39-4ef3-aef8-3e1793848f32",
				      /* Code de la source */
				      "code": "PARU_VENDU",
				      /* Nom de la source */
				      "name": "ParuVendu"
				    }
				  ],
				  /* Liste des types de biens disponibles, tronqué à 1 dans cet exemple */
				  "property_types": [
				    {
				      /* ID du type de bien */
				      "id": "6f2af4e2-77e4-4430-a4d8-e8899ca91c0a",
				      /* Code du type de bien */
				      "value": "APARTMENT"
				    }
				  ]
				}

Recherche d’annonces

Liste les annonces immobilières disponibles sur Casapulse, avec la possibilité de filtrer et trier sur plusieurs critères passés en paramètres de la requête.

URI properties/listings
Méthode GET
Paramètres

Nom

Types

Défaut

Description

Remarques

city

UUID

string
null

Commune, arrondissement, ou code postal spécifique. Les valeurs possibles sont un nom de commune, un code postal, ou bien l'ID ou la valeur des champs

name

,

slug

,

zip_code

, ou

insee_code

des résultats renvoyés par le service

Recherche de localisations

.

Il est possible de passer plusieurs fois le paramètre

city

dans une requête pour filtrer sur plusieurs villes.

department

UUID

string
null

Département. Les valeurs possibles sont un nom de département, un code de département, ou bien l'ID ou la valeur des champs

name

,

slug

, ou

insee_code

des résultats renvoyés par le service

Recherche de localisations

.

Il est possible de passer plusieurs fois le paramètre

department

dans une requête pour filtrer sur plusieurs départements.

region

UUID

string
null

Région. Les valeurs possibles sont un nom de région, un code de région, ou bien l'ID ou la valeur des champs

name

,

slug

, ou

insee_code

des résultats renvoyés par le service

Recherche de localisations

.

Il est possible de passer plusieurs fois le paramètre

region

dans une requête pour filtrer sur plusieurs régions.

radius

intnull

Rayon de recherche en km autour des communes spécifiées dans les paramètres

city

.

Ce filtre ne s'applique pas aux paramètres

department

et

region

.

property_type

UUID

string
null

Type de bien (appartement, maison…). Les valeurs possibles sont l'ID, ou la valeur du champ

value

des résultats renvoyés par le service

Liste des types de biens et sources

.

Il est possible de passer plusieurs fois le paramètre

property_type

dans une requête pour filtrer sur plusieurs types de biens.

source

UUID

string
null

Plateforme de publication d'annonces. Les valeurs possibles sont l'ID, ou la valeur des champs

code

ou

name

des résultats renvoyés par le service

Liste des types de biens et sources

.

Il est possible de passer plusieurs fois le paramètre

source

dans une requête pour filtrer sur plusieurs sources.

keywords

stringnull

Mots-clés présents dans la description des annonces.

Insensible à la casse, l'accentuation, et d'autres variations comme les pluriels et traits d'union.



La requête renvoie les annonces contenant l'ensemble des mots-clés spécifiés, séparés par un espace.



Pour considérer plusieurs mots comme un mot-clé unique, entourez-les avec des guillemets, ex :

"grande piscine"

.



Pour inclure les annonces contenant un ou plusieurs mots-clés, séparez-les avec le mot OU en majuscules, ex :

loué OU occupé

.



Pour exclure les annonces contenant certains mots-clés, précédez-les d'un tiret, ex :

-"dernier étage"

.



Vous pouvez combiner des mots-clés et des conditions de recherche en utilisant des parenthèses, ex :

(proximité OU proche) (metro OU gare)

.

duplicates

booleanfalse

Indique si la requête doit renvoyer les annonces correspondant à des biens identiques publiés sur différentes plateformes.

Si

false

, renvoie la première annonce postée pour un bien donné.

individuals_only

booleanfalse

Annonces de particuliers uniquement.

rooms_min

intnull

Nombre de pièces minimum.

rooms_max

intnull

Nombre de pièces maximum.

bedrooms_min

intnull

Nombre de chambres minimum.

bedrooms_max

intnull

Nombre de chambres maximum.

surface_min

intnull

Surface en m² minimum.

surface_max

intnull

Surface en m² maximum.

price_min

intnull

Prix minimum.

price_max

intnull

Prix maximum.

price_m2_min

intnull

Prix au m² minimum.

price_m2_max

intnull

Prix au m² maximum.

rental_yield_estimate_min

decimalnull

Rendement locatif brut estimé minimum (pourcentage).

rental_yield_estimate_max

decimalnull

Rendement locatif brut estimé maximum (pourcentage).

price_variation

stringnull

Ne renvoyer que les annonces dont le prix a été modifié. Les valeurs possibles sont

decrease

(prix en baisse),

increase

(prix en hausse),

change

(prix modifié).

floor_min

intnull

Étage minimum.

Une valeur

0

équivaut à rez-de-chaussée.

floor_max

intnull

Étage maximum.

Une valeur

0

équivaut à rez-de-chaussée.

parking

booleannull

Le bien comprend un parking.

basement

booleannull

Le bien comprend une cave.

elevator

booleannull

Présence d’un ascenseur.

balcony

booleannull

Le bien comprend un balcon.

terrace

booleannull

Le bien comprend une terrasse.

pool

booleannull

Le bien comprend une piscine.

duplex

booleannull

Le bien est un appartement duplex.

triplex

booleannull

Le bien est un appartement triplex.

souplex

booleannull

Le bien est un appartement souplex.

not_overlooked

booleannull

Le bien est dépourvu de vis-à-vis.

orientation_east

booleannull

Le bien est orienté est.

orientation_south

booleannull

Le bien est orienté sud.

orientation_west

booleannull

Le bien est orienté ouest.

orientation_north

booleannull

Le bien est orienté nord.

renovation_needed

booleannull

Le bien nécessite des travaux de rénovation.

buildable_land

booleannull

Le bien est un terrain constructible.

condominium_fees_min

intnull

Charges de copropriété annuelles minimum.

condominium_fees_max

intnull

Charges de copropriété annuelles maximum.

surface_land_min

intnull

Surface de terrain en m² minimum dont dispose le bien.

surface_land_max

intnull

Surface de terrain en m² maximum dont dispose le bien.

monthly_rent_min

intnull

Loyer mensuel minimum dans le cas des biens loués.

monthly_rent_max

intnull

Loyer mensuel maximum dans le cas des biens loués.

property_tax_min

intnull

Taxe foncière annuelle minimum.

property_tax_max

intnull

Taxe foncière annuelle maximum.

floor_count_min

intnull

Nombre d'étages minimum que comprend le bien.

floor_count_max

intnull

Nombre d'étages maximum que comprend le bien.

floor_total_min

intnull

Nombre d'étages minimum du bâtiment.

floor_total_max

intnull

Nombre d'étages maximum du bâtiment.

year_of_construction_min

intnull

Année de construction minimum du bien.

year_of_construction_max

intnull

Année de construction maximum du bien.

dpe_min

stringnull

Classe DPE minimum du bien (lettre de A à G).

dpe_max

stringnull

Classe DPE maximum du bien (lettre de A à G).

ges_min

stringnull

Classe GES minimum du bien (lettre de A à G).

ges_max

stringnull

Classe GES maximum du bien (lettre de A à G).

population_min

intnull

Nombre d'habitants minimum dans la commune du bien.

population_max

intnull

Nombre d'habitants maximum dans la commune du bien.

population_variation_5y_min

decimalnull

Variation minimum de population dans la commune du bien sur 5 ans (pourcentage positif ou négatif).

population_variation_5y_max

decimalnull

Variation maximum de population dans la commune du bien sur 5 ans (pourcentage positif ou négatif).

population_density_min

intnull

Densité de population minimum dans la commune du bien (habitants/km²).

population_density_max

intnull

Densité de population maximum dans la commune du bien (habitants/km²).

housings_vacant_share_min

decimalnull

Taux de logements vacants minimum dans la commune du bien.

housings_vacant_share_max

decimalnull

Taux de logements vacants maximum dans la commune du bien.

unemployment_rate_min

decimalnull

Taux de chômage minimum dans la commune du bien.

unemployment_rate_max

decimalnull

Taux de chômage maximum dans la commune du bien.

median_income_min

intnull

Revenu annuel médian minimum dans la commune du bien.

median_income_max

intnull

Revenu annuel médian maximum dans la commune du bien.

from_date

Date ISO 8601

Date actuelle moins 1 mois

Date minimum de création des annonces.

La valeur minimum supportée est la date actuelle moins 6 mois.

to_date

Date ISO 8601

Date actuelle

Date maximum de création des annonces.

modified_min

Date ISO 8601

null

Date minimum de modification des annonces.

La valeur minimum supportée est la date actuelle moins 6 mois.

modified_max

Date ISO 8601

null

Date maximum de modification des annonces.

last_check_min

Date ISO 8601

null

Date minimum de dernière vérification des annonces.

La valeur minimum supportée est la date actuelle moins 6 mois.

last_check_max

Date ISO 8601

null

Date maximum de dernière vérification des annonces.

page_size

int25

Nombre de résultats à renvoyer par requête.

La valeur maximum supportée est 100.

page

int1

Numéro de page souhaité pour les requêtes comprenant plusieurs pages de résultats.

limit

int1000

Nombre total de résultats maximum à renvoyer. Une valeur basse peut, selon les critères de recherche, réduire le temps d'exécution de la requête.

La valeur maximum supportée est 1000.

ordering

string-created

Critère de tri des résultats. Les valeurs possibles sont :

city

,

zip_code

,

property_type

,

rooms

,

surface

,

price

,

price_m2

,

created

.

Un signe “moins” précédant la valeur indique un tri par ordre décroissant, par exemple

-surface

.

Format de la réponse
				{
				  /* Taille de la page actuelle. */
				  "page_size": 25,
				  /* Nombre de pages total de la requête. */
				  "total_pages_count": 40,
				  /* Numéro de la page actuelle. */
				  "current_page": 1,
				  /* Nombre total de résultats de la requête (limité à 1000). */
				  "total_items_count": 1000,
				  /* Indique si le nombre maximum de résultats est atteint. */
				  "limit_reached": true,
				  /* Numéro du premier résultat de la page sur le total de résultats. */
				  "current_items_start": 1,
				  /* Numéro du dernier résultat de la page sur le total de résultats. */
				  "current_items_end": 25,
				  /* Liste de résultats de la page actuelle, tronqué à 1 dans cet exemple. */
				  "items": [
				    {
				      /* ID de l’annonce. */
				      "id": "cbe1f718-bfb8-4544-aea6-2bee0cce4fc2",
				      /* Date d’ajout de l’annonce dans la base Casapulse. */
				      "created": "2021-06-08T02:32:16.165485Z",
				      /* Date de dernière modification de l’annonce dans la base
				      Casapulse. */
				      "modified": "2021-06-08T02:32:16.165485Z",
				      /* Plateforme de publication de l’annonce (source). */
				      "source": {
				        /* ID de la source. */
				        "id": "e771f32f-af39-4ef3-aef8-3e1793848f32",
				        /* Code de la source. */
				        "code": "SE_LOGER",
				        /* Nom de la source. */
				        "name": "Se Loger"
				      },
				      /* URL vers l’annonce d’origine. */
				      "url": "https://www.seloger.com/annonces/174024877.htm",
				      /* URLs des 6 premières images de l’annonce, vide
				      si pas d'image disponible. */
				      "img_url_1": "https://v.seloger.com/s/ea9q95y3bw0z1.jpg",
				      "img_url_2": "https://v.seloger.com/s/ea9q95y3bw0z2.jpg",
				      "img_url_3": "https://v.seloger.com/s/ea9q95y3bw0z3.jpg",
				      "img_url_4": "https://v.seloger.com/s/ea9q95y3bw0z4.jpg",
				      "img_url_5": "https://v.seloger.com/s/ea9q95y3bw0z5.jpg",
				      "img_url_6": "https://v.seloger.com/s/ea9q95y3bw0z6.jpg",
				      /* Liste de l'ensemble des URLs des images de l'annonce,
				      vide si pas d'image disponible */
				      "image_urls": [
				          "https://v.seloger.com/s/ea9q95y3bw0z1.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z2.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z3.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z4.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z5.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z6.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z7.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z8.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z9.jpg",
				          "https://v.seloger.com/s/ea9q95y3bw0z10.jpg"
				       ],
				      /* Date de retrait de l'annnonce si l'annonce n'est plus en ligne,
				      null si l'annonce est en ligne. */
				      "offline": "2021-06-12T01:15:08.243486Z",
				      /* True si une annonce pour le même bien a été publiée
				      sur une autre plateforme. */
				      "duplicate": false,
				      /* Date de dernière vérification de l’annonce par le service
				      Casapulse. */
				      "last_check": "2021-06-08T02:32:16.165485Z",
				      /* "agency" si l’annonce est publiée par une agence,
				      "individual" si l’annonce est publiée par un particulier. */
				      "seller_type": "agency",
				      /* Prix du bien en euros. */
				      "price": 600000,
				      /* Prix au m² du bien en euros. */
				      "price_m2": 1802,
				      /* Nombre d'annonces de location postées dans les 6 derniers
				      mois pour des biens similaires dans la même ville, null si l'information
				      n'est pas connue. */
				      "rental_count": 16,
				      /* Loyer au m² moyen observé pour des biens similaires dans la
				      même ville, null si l'information n'est pas connue. */
				      "average_rent_m2": 9,
				      /* Rendement locatif brut estimé du bien, null si l'information n'est
				      pas connue. */
				      "rental_yield_estimate": 6.4,
				      /* Titre de l'annonce, chaîne vide si non disponible */
				      "title": "Maison à vendre à Saint-Barthélemy-le-Plain",
				      /* Description de l'annonce */
				      "description": "Maison de 333m2 habitables bien agencée située en...",
				      /* Type du bien. */
				      "property_type": {
				        /* ID du type de bien. */
				        "id": "2c0f1544-83c5-4112-adb5-7145d0b2ce57",
				        /* Code du type de bien. */
				        "value": "HOUSE"
				      },
				      /* Localisation du bien. */
				      "city": {
				        /* ID de la ville. */
				        "id": "aaa3d7b9-9af6-44cc-b9da-96e557609ee1",
				        /* Code Insee de la ville. */
				        "insee_code": "07217",
				        /* Code postal de la ville. */
				        "zip_code": "07300",
				        /* Nom de la ville. */
				        "name": "Saint-Barthélemy-le-Plain",
				        /* Nom de la ville en minuscules et sans caractères spéciaux. */
				        "slug": "saint barthelemy le plain",
				        /* Type de localisation (toujours "city" dans les
				        résultats de recherche). */
				        "location_type": "city"
				      },
				      /* Surface en m² du bien. */
				      "surface": 333.0,
				      /* Surface carrez en m² du bien, null si l’information n’est
				      pas connue. */
				      "surface_carrez": 333.0,
				      /* Nombre de pièces. */
				      "rooms": 8,
				      /* Indique l’étage, null si l’information n’est pas connue. */
				      "floor": 3,
				      /* Indique si le bien possède un parking. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "parking": true,
				      /* Indique si le bien possède une cave. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "basement": true,
				      /* Indique si l’immeuble du bien possède un ascenseur. false
				      pour non, true pour oui, null si l’information n’est pas connue. */
				      "elevator": true,
				      /* Indique si le bien possède un balcon. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "balcony": true,
				      /* Indique si le bien possède une terrasse. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "terrace": true,
				      /* Indique si le bien est un terrain constructible. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "buildable_land": false,
				      /* Surface de terrain du bien en m². null si l’information
				      n’est pas connue. */
				      "surface_land": 421.5,
				      /* Indique si le bien possède une piscine. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "pool": false,
				      /* Indique si le bien est un appartement duplex. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "duplex": false,
				      /* Indique si le bien est un appartement triplex. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "triplex": false,
				      /* Indique si le bien est un appartement souplex. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "souplex": false,
				      /* Indique si le bien est dépourvu de vis-à-vis. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "not_overlooked": false,
				      /* Indique si le bien est orienté nord. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "orientation_north": false,
				      /* Indique si le bien est orienté ouest. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "orientation_west": false,
				      /* Indique si le bien est orienté sud. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "orientation_south": false,
				      /* Indique si le bien est orienté est. false pour non,
				      true pour oui, null si l’information n’est pas connue. */
				      "orientation_east": false,
				      /* Indique si le bien nécessite des travaux de rénovation.
				      false pour non, true pour oui, null si l’information
				      n’est pas connue. */
				      "renovation_needed": false,
				      /* Charges de copropriété annuelles du bien en euros. null
				      si l’information n’est pas connue. */
				      "condominium_fees": 527,
				      /* Loyer mensuel du bien en euros si le bien est loué. null
				      si l’information n’est pas connue. */
				      "monthly_rent": null,
				      /* Taxe foncière annuelle en euros. null si l’information
				      n’est pas connue. */
				      "property_tax": 1250,
				      /* Nom du quartier dans lequel est situé le bien. null si
				      l’information n’est pas connue. */
				      "district": null,
				      /* Classe DPE du bien. Lettre de A à G, null si l’information
				      n’est pas connue. */
				      "dpe": "B",
				      /* Classe GES du bien. Lettre de A à G, null si l’information
				      n’est pas connue. */
				      "ges": "C",
				      /* Nombre d'étages que comprend le bien . null si l’information
				      n’est pas connue. */
				      "floor_count": 2,
				      /* Nombre d'étages du bâtiment . null si l’information
				      n’est pas connue. */
				      "floor_total": 2,
				      /* Année de construction du bien. null si l’information n’est
				      pas connue. */
				      "year_of_construction": 1998
				    }
				  ]
				}
Exemples en ligne

Données de marché

Permet d'obtenir les informations de volumes, prix, variations de prix, et rendements locatifs pour les localisations et types de biens spécifiés.

Les données renvoyées correspondent aux moyennes pondérées sur l'ensemble des localisations, types de biens, et nombre de pièces minimum et maximum spécifiés dans les paramètres de la requête.

Les informations fournies sont calculées sur la base des dernières transactions réelles issues des bases de données notariales, et des données issues des offres publiées sur les plateformes d'annonces immobilières couvertes par Casapulse.

URI locations/market
Méthode GET
Paramètres

Nom

Types

Défaut

Description

Remarques

city

UUID

string
null

Commune, arrondissement, ou code postal spécifique. Les valeurs possibles sont un nom de commune, un code postal, ou bien l'ID ou la valeur des champs

name

,

slug

,

zip_code

, ou

insee_code

des résultats renvoyés par le service

Recherche de localisations

.

Il est possible de passer plusieurs fois le paramètre

city

dans une requête pour filtrer sur plusieurs villes.

department

UUID

string
null

Département. Les valeurs possibles sont un nom de département, un code de département, ou bien l'ID ou la valeur des champs

name

,

slug

, ou

insee_code

des résultats renvoyés par le service

Recherche de localisations

.

Il est possible de passer plusieurs fois le paramètre

department

dans une requête pour filtrer sur plusieurs départements.

region

UUID

string
null

Région. Les valeurs possibles sont un nom de région, un code de région, ou bien l'ID ou la valeur des champs

name

,

slug

, ou

insee_code

des résultats renvoyés par le service

Recherche de localisations

.

Il est possible de passer plusieurs fois le paramètre

region

dans une requête pour filtrer sur plusieurs régions.

radius

intnull

Rayon de recherche en km autour des communes spécifiées dans les paramètres

city

.

Ce filtre ne s'applique pas aux paramètres

department

et

region

.

property_type

UUID

string
null

Type de bien (appartement, maison…). Les valeurs possibles sont l'ID, ou la valeur du champ

value

des résultats renvoyés par le service

Liste des types de biens et sources

.

Il est possible de passer plusieurs fois le paramètre

property_type

dans une requête pour filtrer sur plusieurs types de biens.

rooms_min

intnull

Nombre de pièces minimum.

rooms_max

intnull

Nombre de pièces maximum.

Format de la réponse
				{
				    /* Nombre de villes correspondant aux paramètres city, department,
				    region. */
				    "city_matches": 463,
				    /* Objet localisation du même format que les résultats
				    renvoyés par le service Recherche de localisations.
				    Spécifié si une unique localisation correspond aux paramètres
				    city, department, et region, sinon null. */
				    "exact_match": {
				        "id": "e4d7574c-4248-41e6-aed1-38bce2b1168d",
				        "insee_code": "17",
				        "zip_code": null,
				        "name": "Charente-Maritime",
				        "slug": "charente maritime",
				        "location_type": "department"
				    },
				    "data": {
				        /* Données basées sur les transactions historiques. */
				        "transaction_market": {
				            /* Nombre de transactions sur la dernière année. */
				            "count": 1137,
				            /* Prix au m² moyen sur la dernière année. */
				            "average_price_m2": 2812,
				            /* Variation de prix au m² sur la dernière année
				            (pourcentage).*/
				            "price_m2_variation_1y": 8.4,
				            /* Variation de prix au m² sur les 5 dernières années
				            (pourcentage). */
				            "price_m2_variation_5y": 15.6
				        },
				        /* Données basées sur les annonces immobilières. */
				        "listing_market": {
				            "sales": {
				                /* Nombre d'annonces de vente sur la dernière année. */
				                "count": 12226,
				                /* Prix au m² moyen des annonces de vente sur la dernière
				                année. */
				                "average_price_m2": 3716
				            },
				            "rental": {
				                /* Nombre d'annonces de location sur la dernière année. */
				                "count": 4596,
				                /* Prix au m² moyen des annonces de location sur la dernière
				                année. */
				                "average_price_m2": 14
				            }
				        },
				        /* Moyenne du rendement locatif brut estimé (loyer annuel observé
				        divisé par le prix de vente). */
				        "rental_yield_estimate": 4.8
				    }
				}
Exemples en ligne

Historique des versions

  • 1.7.0
    2022/09/19

  • 1.6.0
    2022/08/07

    • Ajout de l'attribut floor_total (et filtre correspondant) et de l'attribut title au service Recherche d’annonces.
  • 1.5.0
    2022/07/06

    • Ajout des attributs (et filtres correspondants) pool, duplex, triplex, souplex, not_overlooked, orientation_east, orientation_south, orientation_west, orientation_north, renovation_needed, buildable_land, condominium_fees, surface_land, monthly_rent, property_tax, floor_count, year_of_construction, dpe, ges, bedrooms au service Recherche d’annonces.
  • 1.4.0
    2021/11/22

  • 1.3.0
    2021/05/19

  • 1.2.0
    2021/03/12

    • 1ère version publiée.

Support

Pour toute question ou demande de support concernant l'API Casapulse Data Hub, contactez-nous en suivant ce lien.