LogiScan

Authentification : les clés d'API

Une clé par compte et par mode, envoyée dans l'en-tête `Authorization: Bearer`. Le secret est haché côté service et ne peut pas être réaffiché.

Obtenir une clé

Les clés se créent et se gèrent sur Mon compte → Mon API. Il faut un compte LogiScan ordinaire (adresse et mot de passe) et, pour appeler en réel, des crédits.

Une clé a la forme lsk_live_ ou lsk_test_, suivie de huit caractères d'identifiant puis de trente-deux caractères secrets. Seuls les seize premiers caractères (le préfixe) sont conservés en clair et affichés dans vos pages. Le secret est haché (HMAC-SHA256) et ne peut pas être relu.

Le secret s'affiche une seule fois, à la création. Si vous le perdez, faites tourner la clé : vous en obtenez une nouvelle, l'ancienne répond encore le temps du sursis.

Deux modes : bac à sable et réel

Une clé lsk_test_ appelle les mêmes routes, avec les mêmes formes de réponse, et ne coûte rien : les réponses sont fictives, tirées d'un jeu figé (une commune fictive, des ventes inventées). Aucune source réelle n'est lue et votre solde n'est pas touché.

Une clé lsk_live_ rend de vraies données et consomme des crédits. Un compte a au plus une clé active par mode. Pour en créer une seconde, révoquez ou faites tourner la première.

Le bac à sable montre la forme des réponses, pas des données réelles : adresses, ventes et diagnostic y sont fictifs. Pour juger la qualité des données, passez en réel (un crédit par analyse).

Présenter la clé

Chaque appel porte l'en-tête Authorization: Bearer <clé>. La clé n'est acceptée ni en paramètre d'adresse ni en cookie. Une clé absente, mal formée, inconnue ou révoquée reçoit la même réponse : 401 invalid_key.

GET /v1/account Le compte derrière la clé 0 crédit

Gratuit. Le solde en crédits, l'usage sur quatre fenêtres (24 h, 7 j, 30 j et 90 j, cette dernière étant aussi la durée pendant laquelle l'usage est gardé), et les tarifs en vigueur.

curl
curl -s 'https://logiscan.fr/v1/account' \
  -H 'Authorization: Bearer lsk_test_VOTRE_CLE'
Python · httpx
import httpx

CLE = "lsk_test_VOTRE_CLE"

reponse = httpx.get(
    "https://logiscan.fr/v1/account",
    headers={"Authorization": f"Bearer {CLE}"},
    timeout=30,
)
print(reponse.status_code, reponse.json())
JavaScript · fetch
const CLE = "lsk_test_VOTRE_CLE";

const reponse = await fetch("https://logiscan.fr/v1/account", {
  method: "GET",
  headers: { Authorization: `Bearer ${CLE}` },
});
console.log(reponse.status, await reponse.json());
Réponse du bac à sable — ce qu'une clé lsk_test_ reçoit, données fictives
JSON · 200
{
  "email": "vous@exemple.fr",
  "key": {
    "prefixe": "lsk_test_BACASABL",
    "libelle": "bac à sable",
    "mode": "test",
    "created_at": "2026-09-01T09:00:00Z",
    "expires_at": null
  },
  "balance_credits": 0.0,
  "usage": {
    "24h": {
      "calls": 3,
      "credits": 0.0
    },
    "7d": {
      "calls": 3,
      "credits": 0.0
    },
    "30d": {
      "calls": 3,
      "credits": 0.0
    },
    "90d": {
      "calls": 3,
      "credits": 0.0
    }
  },
  "tarifs": {
    "account": 0.0,
    "analyses.listing_url": 1.0,
    "analyses.listing_text": 0.6,
    "analyses.address": 0.6,
    "dpe": 0.1,
    "listings.completeness": 0.05
  }
}

Faire tourner une clé sans interruption

Sur Mon API, « Faire tourner » crée une nouvelle clé et laisse l'ancienne répondre pendant un sursis (une heure par défaut). Pendant ce temps, les deux répondent, et GET /v1/account avec l'ancienne porte key.expires_at, la date à laquelle elle cessera. Déployez la nouvelle, puis laissez l'ancienne s'éteindre, ou révoquez-la sur-le-champ.

Révoquer

« Révoquer » coupe une clé immédiatement, qu'elle soit active ou en sursis. Elle répond ensuite 401. Les crédits restent sur le compte : ils appartiennent au compte, pas à la clé.

Une clé employée pour une collecte de masse est révoquée par LogiScan (voir les conditions d'utilisation).

Bonnes pratiques

  • Gardez la clé côté serveur, dans une variable d'environnement ou un coffre, pas dans un navigateur, une application mobile ou un dépôt.
  • Une clé par environnement : le bac à sable en développement et en intégration continue, le réel en production.
  • Faites tourner la clé après un départ d'équipe ou une fuite supposée.

Miroir des diagnostics : dump ADEME chargé le 14/10/2026.Ventes : DVF, millésimes 2021, 2022, 2023, 2024, 2025 (Etalab). Le schéma qui fait foi est servi sur /v1/openapi.json.