IMMOCALCUL API

Documentation de l’API

Intégrez les données immobilières d’Immocalcul à vos applications avec une API simple et sécurisée.

01 — Quickstart

Activer votre accès API

Complétez ces étapes dans l’ordre avant d’effectuer votre premier appel.

1
À faire

Valider votre identité

La validation Stripe Identity est obligatoire pour protéger votre compte et activer l’accès API.

2
À faire

Accepter les conditions

Lisez et acceptez les conditions d’utilisation de l’API depuis votre dashboard.

3
À faire

Créer vos clés et ajouter des fonds

Générez votre clé et votre secret, puis assurez-vous que votre solde Immocalcul contient suffisamment de fonds.

Ouvrir l’accès API dans mon dashboard

URL de base — Production

https://api.immocalcul.com

02 — Auth

Authentification

Toutes les routes /api/* nécessitent les deux en-têtes suivants :

HTTP headers

x-api-key: imc_live_xxxxx
x-api-secret: imc_enc_xxxxx

03 — Endpoint

Vérifier l’accès

GET

/api/ping

Vérifie la clé, le secret et l’état du compte.

cURL

curl https://api.immocalcul.com/api/ping \
  -H "x-api-key: VOTRE_CLE" \
  -H "x-api-secret: VOTRE_SECRET"

JSON

{
  "ok": true,
  "message": "api ok",
  "keyName": "cle_production"
}

04 — Endpoint

Rechercher une propriété

GET

/api/property

Recherche l’adresse la plus pertinente, puis récupère sa fiche dans le rôle foncier.

ParamètreTypeObligatoireDescription
stringstringOuiAdresse recherchée, entre 3 et 200 caractères
lotbooleanNonRetourne le numéro de cadastre lorsque true

Tarification

AppelPrix
Recherche normale20 ¢
Recherche avec lot=true30 ¢

Exemple standard

cURL

curl -G https://api.immocalcul.com/api/property \
  --data-urlencode "string=999 Avenue Démo Laval" \
  -H "x-api-key: VOTRE_CLE" \
  -H "x-api-secret: VOTRE_SECRET"

Exemple avec cadastre

cURL

curl -G https://api.immocalcul.com/api/property \
  --data-urlencode "string=999 Avenue Démo Laval" \
  --data-urlencode "lot=true" \
  -H "x-api-key: VOTRE_CLE" \
  -H "x-api-secret: VOTRE_SECRET"

Exemples d’intégration

JavaScript · Node.js

// Node.js 18+ — exécution côté serveur uniquement
const params = new URLSearchParams({
  string: "999 Avenue Démo Laval",
  lot: "true",
});

const response = await fetch(
  `https://api.immocalcul.com/api/property?${params}`,
  {
    headers: {
      "x-api-key": process.env.IMMOCALCUL_API_KEY,
      "x-api-secret": process.env.IMMOCALCUL_API_SECRET,
    },
  }
);

const data = await response.json();
if (!response.ok) throw new Error(data.error);
console.log(data.property);

Ces exemples doivent être exécutés sur votre serveur. Configurez IMMOCALCUL_API_KEY et IMMOCALCUL_API_SECRET dans les variables d’environnement de votre application.

Réponse réussie

JSON

{
  "query": "999 Avenue Démo Laval",
  "count": 1,
  "property": {
    "identification": {
      "idProvince": "00000000000000000000000",
      "codeMunicipalite": "65005",
      "municipalite": "Laval",
      "anneeRole": 2025,
      "matricule": "000000000000000000",
      "adresseComplete": "999 Avenue Démo",
      "codePostal": "H0H 0H0",
      "arrondissement": "Vimont",
      "numeroAdresseInferieur": 999,
      "fractionAdresseInferieure": null,
      "numeroAdresseSuperieur": null,
      "fractionAdresseSuperieure": null,
      "codeGeneriqueVoie": "avenue",
      "codeLienVoie": null,
      "nomVoiePublique": "DÉMO",
      "pointCardinal": null,
      "numeroAppartementOuLocal": null,
      "complementAppartementOuLocal": null,
      "numeroBatiment": null,
      "numeroLocal": null
    },
    "proprietaire": {
      "dateInitialeInscription": "1989-03-21",
      "statutImpositionScolaire": 1,
      "codeConditionsInscription": "Propriétaire du terrain"
    },
    "caracteristiques": {
      "frontageTerrain": 18.53,
      "superficieTerrain": 615.7,
      "codeZonageAgricole": 0,
      "superficieExploitationAgricole": null,
      "superficieAgricoleEnZoneAgricole": null,
      "nombreEtages": 2,
      "anneeConstruction": 1982,
      "aireEtagesBatimentPrincipal": 285.2,
      "codeLienPhysique": "Jumelé",
      "codeGenreConstruction": "À étages entiers",
      "nombreLogements": 4,
      "nombreChambresLocatives": null,
      "nombreLocauxNonResidentiels": null,
      "superficieAgricoleImpositionMaximale": null,
      "superficieForestiereTotale": null,
      "superficieForestiereEnZoneAgricole": null
    },
    "valeurs": {
      "dateReferenceMarche": "2023-07-01",
      "terrain": 258800,
      "batiments": 694500,
      "immeuble": 953300,
      "immeubleRolePrecedent": 735400
    }
  }
}

05 — HTTP

Erreurs

Toutes les erreurs utilisent le format suivant :

JSON

{
  "error": "Description de l’erreur."
}
HTTPSignification
400
Paramètre string ou lot invalide
401
Clé ou secret absent/invalide
402
Solde insuffisant
403
Clé désactivée/révoquée ou compte non autorisé
404
Propriété ou rôle foncier introuvable
500
Erreur interne du serveur

Solde insuffisant

JSON

{
  "error": "Solde insuffisant pour cette recherche.",
  "requiredCents": 30,
  "balanceCents": 10
}

06 — Best practices

Sécurité