Marchand de biens : detecter les permis neuf + renovation dans 3 quartiers Paris
Persona : marchand de biens TPE, 200-500 EUR/mois budget tech. Temps : 15 minutes d'installation, 0 EUR de cout. Resultat : une commande Python qui sort les 20 nouveaux permis
50 m2 dans le 18e + 19e + 20e depuis 7 jours, avec le nom du demandeur (si SIREN, lookup via
/sirene).
Step 1. Cle API
Signup gratuit sur https://permisapi.fr (plan Free 500 req/mois). Ta cle apparait une fois : copie-la.
export PERMISAPI_KEY="pk_live_..."
Step 2. Script Python 30 lignes
watch_paris_renovations.py :
import os
import httpx
from datetime import date, timedelta
API = "https://api.permisapi.fr"
KEY = os.environ["PERMISAPI_KEY"]
HEADERS = {"X-API-Key": KEY}
COMMUNES = ["75118", "75119", "75120"] # 18e, 19e, 20e
DEPUIS = (date.today() - timedelta(days=7)).isoformat()
with httpx.Client(base_url=API, headers=HEADERS, timeout=10) as c:
for commune in COMMUNES:
r = c.get("/v1/permits", params={
"comm_code": commune,
"date_from": DEPUIS,
"min_superficie": 50,
"limit": 20,
})
r.raise_for_status()
data = r.json()["data"]
print(f"\n== {commune} : {len(data)} nouveaux ==")
for p in data:
print(f" {p['num_pa']} {p['adr_libvoie_ter'] or ''} "
f"{p['superficie_terrain']}m2 "
f"demandeur={p['denom_dem']}")
Step 3. Cron quotidien Windows (gratuit)
Windows + R->taskschd.msc- Action -> Creer une tache
- Onglet Declencheurs : quotidien 8h00
- Onglet Actions :
python C:\Users\Evan\scripts\watch_paris_renovations.py >> C:\Users\Evan\logs\paris.log
Tu recois le diff chaque matin.
Step 4 (optionnel). Slack via webhook gratuit
Cree un webhook Slack dans un channel perso (gratuit) :
import httpx
def notify_slack(message: str):
httpx.post(
os.environ["SLACK_WEBHOOK"],
json={"text": message},
)
# A la fin du script principal :
if total_new > 0:
notify_slack(f":house: {total_new} nouveaux permis Paris 18/19/20e")
Step 5 (Pro seulement). Enrichment SIRENE
# Avec plan Pro (199 EUR/mois)
for p in data:
sirene = c.get(f"/v1/permits/{p['num_pa']}/sirene").json()
raison = sirene["match"]["raison_sociale"] or p['denom_dem']
siren = sirene["match"]["siren"]
score = sirene["match"]["score"]
if score >= 0.7 and siren:
print(f" -> {raison} (SIREN {siren})")
# Cross-check solvabilite via infogreffe, societe.com, etc.
Budget total
- PermisAPI Free : 0 EUR
- Cron Windows : 0 EUR
- Slack webhook : 0 EUR
- Python : 0 EUR
- Total : 0 EUR
Upgrade vers Pro quand ?
Free (500 req/mois) = ~16 appels/jour. Pour 3 communes en check quotidien, c'est juste. Si tu ajoutes 10 communes ou tu checkes 3x/jour, tu passes a 200+/jour et depasses Free. Plan Explorer 49 EUR/mois (5 000 req) = budget correct pour un MdB qui surveille 1 departement.
Pro 199 EUR devient rentable quand :
- Tu veux l'enrichment SIRENE (evite societe.com manuelle)
- Tu veux les alertes webhook (20 alertes, vs 10 sur Explorer)
- Tu veux l'historique complet (vs 6 mois sur Explorer)