Les tarifs
Ces tarifs sont lus dans la configuration du service : ce sont ceux qui sont facturés.
| Service | Route | Crédits par appel |
|---|---|---|
| Analyse d'une annonce par son lien | analyses.listing_url | 1 |
| Analyse d'une annonce par son texte | analyses.listing_text | 0,6 |
| Analyse d'une adresse postale | analyses.address | 0,6 |
| Lecture d'un diagnostic énergétique | dpe | 0,1 |
| Complétude d'une annonce | listings.completeness | 0,05 |
Une analyse par lien d'annonce coûte un crédit. Recharge à partir de 5 €. Le barème des paliers est sur les conditions.
Recharger
La recharge se fait par carte, sur Mon API → Acheter des crédits, par paliers, et les paliers les plus hauts portent un bonus. Le reçu Stripe tient lieu de facture. Le solde est crédité à la confirmation du paiement par Stripe, quelques secondes après le retour sur le site.
Les crédits n'expirent pas, ne sont pas remboursables (ni sur demande, ni à la suppression du compte) et sont perdus si le compte est supprimé : la page de suppression l'écrit avant que vous confirmiez. Les conditions d'utilisation le précisent.
Quand un appel est facturé, et quand il ne l'est pas
Le crédit est réservé avant tout travail (402 insufficient_credit sans rien écrire si le solde ne couvre pas), réglé quand la réponse est là, rendu si une source est en panne. La réponse porte billed: true ou false.
| Situation | Facturé ? | Pourquoi |
|---|---|---|
| Analyse terminée, avec ou sans candidat | oui | Le travail a été fait, même sans candidat. |
Deal Score sous huit ventes (donnees_insuffisantes) | oui | Les ventes ont été lues ; le statut dit qu'il n'y en a pas assez pour noter. |
| Adresse inconnue de la Base Adresse Nationale | oui | Le référentiel a répondu qu'il ne la connaît pas. |
| Diagnostic inconnu du référentiel (404) | oui | Le miroir puis l'API ont été consultés. |
| Même lien déjà résolu dans l'heure (cache) | oui | Servi depuis le cache, au tarif plein. |
Rejeu avec la même Idempotency-Key | non | Le rejeu rend la réponse du premier appel. |
Source en panne (source_unavailable), file saturée, faute interne | non | Le crédit réservé est rendu ; réessayez. |
| Clé invalide, corps invalide, plafond atteint | non | Rien n'a été réservé. |
Bac à sable (lsk_test_) | non | Le bac à sable ne coûte rien. |
Lire son usage, retrouver ses appels
GET /v1/account rend usage, quatre fenêtres emboîtées (24h, 7d, 30d, 90d) avec le nombre d'appels et les crédits réglés (un appel rendu compte un appel et zéro crédit). La fenêtre de quatre-vingt-dix jours est aussi la durée pendant laquelle l'usage est gardé. La même chose se lit sur Mon API, avec le détail par service.
Mon API → Mes appels garde, pendant les mêmes quatre-vingt-dix jours, chaque échange fait avec vos clés : la date, la méthode et le chemin, le service, le statut, les crédits, la durée, l'enveloppe envoyée et la réponse rendue, telles quelles, avec leurs liens cliquables (le maps_url d'une adresse s'ouvre d'un clic). Filtrez par dates, service, statut ou par un texte cherché dans le chemin, l'enveloppe et la réponse. Le texte d'une annonce y est gardé en extrait (deux cents caractères). Ce journal n'est visible que par vous, et il est effacé avec le compte.
/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 -s 'https://logiscan.fr/v1/account' \
-H 'Authorization: Bearer lsk_test_VOTRE_CLE'
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())
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
{
"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
}
}