Qu'est-ce qui a changé
Nouveautés et améliorations visibles côté clients. Les changements purement techniques (performance interne, refactorisations, optimisations serveur) ne sont pas listés ici.
Tri explicite sur /v1/permits (sort=)
Nouveau parametre sort= sur GET /v1/permits, avec whitelist explicite des champs autorises (date_reelle_autorisation, date_depot, an_depot, superficie_terrain). Prefixer par '-' pour ordre descendant. Tout autre nom de champ retourne 422 avec la liste des choix valides au lieu d'etre ignore silencieusement.
Avant ce fix, un parametre sort= avec un champ non reconnu etait accepte par FastAPI sans rien trier, donnant l'illusion d'un tri qui ne se faisait pas. Detecte sur la 1ere session du 1er paying customer.
SDK Python permisapi-client 0.7.1 : docstring de permits.list() mise a jour pour documenter le sort=. MCP server permisapi-mcp 0.2.1 : tool search_permits accepte maintenant l'argument sort.
Vue 360 : detail + sirene + dvf + score + plu + risks en 1 appel
Nouvel endpoint GET /v1/permits/{num_pa}/360 : combine 6 sous-features (detail, sirene, dvf, score MDB, zonage PLU, risques BRGM) en un seul appel HTTP. Parallelisation cote serveur des sub-fetches lents (PLU + Risks live), latence typique 5-7 secondes au lieu de 12 secondes en sequentiel cote client. Best-effort : si une sous-feature echoue (timeout API tierce), son champ vaut null et l'erreur est listee dans fetch_errors. Le header X-RateLimit-Cost confirme le cout decompte.
Cout quota transparent : Pro+ = 6 unites par appel /360 (1 par sous-feature, identique a 6 calls separes), Free / Explorer = 1 unite (detail seul, autres champs null avec plan_required_for_full=pro). Pas de free lunch, le compteur reflete le travail reel.
SDK Python permisapi-client 0.7.0 : nouvelle methode client.permits.full_view(num_pa) sync + async. Une ligne au lieu de six. Disponible via pip install --upgrade permisapi-client.
MCP server permisapi-mcp 0.2.0 : nouveau tool get_permit_full_view. Claude / ChatGPT / Cursor peuvent maintenant analyser un permis en un seul tool call au lieu d'enchainer six requetes.
MCP server : PermisAPI dans Claude / ChatGPT / Cursor
Nouveau serveur MCP officiel : permisapi-mcp sur PyPI. Branche PermisAPI sur Claude Desktop, Cursor, Windsurf ou tout client Model Context Protocol-compatible. 6 tools exposés en langage naturel : search_permits, get_permit_details, find_dvf_neighbors, get_mdb_score, get_plu_zoning, get_risks. Installation en 2 minutes : pip install permisapi-mcp + config JSON dans ton client. Gratuit pour tous les plans (limité uniquement par ton quota PermisAPI).
Nouvelle page produit /mcp : guide setup complet, tools list, exemples de prompts, configurations Claude Desktop / Cursor / Windsurf. Lien direct depuis nav, footer, dashboard et docs.
Nouveau guide docs/MCP_SETUP.md avec configurations détaillées par client, exemples concrets, troubleshooting et FAQ sécurité.
Géorisques BRGM : inondation, séisme, ICPE, argile (plans Pro et +)
Nouveau endpoint GET /v1/permits/{num_pa}/risks : pour chaque permis, retourne les risques naturels et technologiques connus sur sa commune (inondation, mouvement de terrain, séisme, retrait-gonflement argile, feu de forêt, etc) avec PPR associé éventuel (PPRn / PPRi / PPRT). Inclut aussi les ICPE (installations classées) dans 1 km. Score agrégé 0-100 + tier qualitatif (low/moderate/high/critical). Source live API Géorisques (BRGM + Ministère Transition Écologique). Plans Pro et supérieurs.
Tab « Géorisques » ajouté à l'API Explorer (/dashboard/explore) avec affichage gros score + breakdown des risques + ICPE proches. Inclus aussi dans la Vue 360° (6 fetches en parallèle : detail + sirene + dvf + score + plu + risks).
SDK Python permisapi-client 0.6.0 : nouvelle méthode client.permits.risks(num_pa) sync + async.
Zonage PLU : chaque permis devient pré-faisabilité (plans Pro et +)
Nouveau endpoint GET /v1/permits/{num_pa}/plu : pour chaque permis géocodé, retourne le zonage urbanisme officiel (UA/UB urbain, AU à urbaniser, A agricole, N naturelle) avec verdict de constructibilité explicite et raison juridique. Source Géoportail de l'Urbanisme via apicarto.ign.fr (gratuit, officiel). Plans Pro et supérieurs.
Tab « Zonage PLU » ajouté à l'API Explorer (/dashboard/explore) avec affichage badge code zone + verdict constructible/non + raison + date de révision PLU. Inclus aussi dans la Vue 360° (5 fetches en parallèle : detail + sirene + dvf + score + plu).
SDK Python permisapi-client 0.5.0 : nouvelle méthode client.permits.plu(num_pa) sync + async.
Feedback Score MDB : aide-nous à entraîner le modèle V1.0
Nouveau endpoint POST /v1/score/feedback : tu peux envoyer ton avis sur le Score MDB que tu as reçu (utile / pas utile, score juste / trop haut / trop bas / mauvais signaux, commentaire libre 2000 chars + recommandation optionnelle). Stocké en DB pour le training V1.0 ML, et un email m'est envoyé immédiatement avec ton retour pour que je puisse répondre. Plans Pro et supérieurs uniquement.
Bouton « Donner mon avis » ajouté dans l'API Explorer (tab Score MDB et Vue 360°) : un mini-formulaire inline permet d'envoyer le feedback en 30 secondes sans coder.
SDK Python permisapi-client 0.4.1 : nouvelle méthode client.permits.score_feedback(...) sync + async.
Score Opportunité MDB v0.1 : note 0-100 par permis (plans Pro et +)
Nouveau endpoint GET /v1/permits/{num_pa}/score : pour chaque permis, retourne une note 0-100 + tier qualitatif (low/medium/high/premium) qui prédit si c'est une opportunité Marchand de Biens. Heuristique pondérée v0.1 sur 7 signaux : type permis (20%), surface terrain (15%), DVF voisin €/m² (25%), activité département (10%), demandeur SCI/promoteur (15%), cohérence DVF/permis (10%), densité INSEE (5%). Réservé aux plans Pro et supérieurs.
Tab 'Score MDB' ajouté à l'API Explorer interactif (/dashboard/explore) avec affichage gros score + breakdown des 7 composants en bar chart. Le score est aussi inclus dans la Vue 360° (auto) qui combine désormais 4 endpoints en parallèle : detail + sirene + dvf + score.
SDK Python permisapi-client 0.4.0 : nouvelle méthode client.permits.score_mdb(num_pa). Auto-publish PyPI au tag sdk-v0.4.0.
DVF cross-ref : valeur foncière estimée par permis (plans Pro et +)
Nouveau endpoint GET /v1/permits/{num_pa}/dvf : pour chaque permis, retourne les transactions immobilières DVF (Demandes de Valeurs Foncières) les plus pertinentes à proximité. Cross-référence Geo-DVF Etalab (5 ans glissants 2021-2025) avec les permis géocodés. Score combiné distance + proximité temporelle + match type de bien. Filtres par type_local, année, distance max. Réservé aux plans Pro et supérieurs.
Rayon de matching adaptatif selon la densité communale INSEE 2025 : 50m en urbain dense, 150m en intermédiaire, 400m en rural. Garantit la pertinence des matches indépendamment de la densité immobilière locale.
SDK Python officiel disponible
Client Python officiel publié sur PyPI (permisapi-client). Installation en une commande : pip install permisapi-client. Supporte l'appel synchrone et asynchrone, la pagination automatique, les alertes webhook, la gestion typée des erreurs (rate limit, quota, unauthorized).
Documentation interactive et sécurité
Documentation API (/docs) restylée aux couleurs PermisAPI : navy + amber, typographie monospace, try-it-out interactif directement depuis la page.
Nouveau endpoint public /v1/public/latest-day : consulte le nombre de permis autorisés sur la dernière journée sans authentification (aggregats only).
Performance carte hero : rendu fluide à 60 fps en pan/zoom même avec 500 permis affichés.
Pages dédiées par métier + SEO
3 nouvelles pages dédiées par profil : /for-marchand-biens, /for-architecte, /for-proptech. Cas d'usage, exemples de code et plans recommandés.
Blog technique avec 4 tutoriels : comment alerter sur les permis près de Paris, intégrer PermisAPI à Zapier, exporter vers Google Sheet, intégrer dans Next.js.
Bandeau statistiques en hero : 311k+ permis couverts, 97% géocodés, 101 départements, 28 952 communes.
Flux RSS du blog disponible (/blog/rss.xml) pour les clients qui veulent suivre les nouveautés.
Qualité compte et billing
Les appels à /v1/me et /v1/billing/* ne consomment plus le quota mensuel. Consulter son profil ou gérer son abonnement reste gratuit.
L'email de bienvenue avec la clé API est envoyé uniquement après confirmation du paiement Stripe (évite les cas où le paiement échoue mais la clé est déjà reçue).
Opérations d'alerting webhook (/v1/alerts/*) ne consomment plus le quota : créer ou lister ses alertes reste gratuit, seule la livraison de valeur (requêtes permis et stats) compte.
Mise en production initiale
Lancement public de l'API avec 311 000+ permis de construire géocodés (base Sitadel depuis 2022).
Page de statut publique /status avec latences P50/P95/P99 et temps de réponse en temps réel.
Endpoint de démo /v1/public/try-it : 5 permis récents par département sans inscription.
Tarification claire : Free (500 req/mois), Explorer (49€), Pro (199€), Business (499€), Enterprise (1 999€+ sur mesure).
Sous-domaine api.permisapi.fr dédié à l'API REST, avec documentation OpenAPI interactive.