# Changelog of DPE F/G Leads 🇫🇷 Passoires Thermiques, SCI Owners (SIREN) (`tagadanar/french-dpe-leads`) Actor

- **URL**: https://apify.com/tagadanar/french-dpe-leads/changelog.md
- **Full Actor documentation**: https://apify.com/tagadanar/french-dpe-leads.md

## Changelog

### 2026-09-08

- **A run can no longer spend more time than it has.** This actor walks three
  separate retry ladders for every commune — the cadastre parcel file (four
  attempts at a 120-second timeout, about 495 seconds for one commune), the
  ADEME query (about 331 seconds) and the SIRENE lookup (about 181 seconds) —
  and it delivered nothing until all of them had finished for every commune. One
  slow commune could therefore consume an entire hour-long run and hand back
  zero rows, with no message explaining why.
- Every request now plans against the time actually left. When the clock gets
  short the run drops the SIRENE company enrichment first, then stops sweeping
  new communes — so the diagnostics already collected are delivered rather than
  lost.
- A run that hits its limit now says exactly which communes it never swept, and
  no longer reports a two-commune sweep as though it covered twenty.

### 2026-08-30

- Chaque run se termine maintenant sur un message de statut construit par une
  fonction pure à partir de compteurs explicites. Une API ADEME injoignable est
  signalée comme une panne de notre côté ; « aucun DPE ne correspond » n'est
  atteignable qu'après une réponse réellement lue ; un premier run en mode
  veille dit qu'il amorce la base de référence (et ne rapporte rien par
  conception) au lieu de ressembler à une commune vide ; un run de veille sans
  nouveauté dit combien de lignes étaient déjà connues. Un fichier
  propriétaires DGFiP illisible est nommé, jamais présenté comme « aucun
  propriétaire société ».

### 2026-07-12

- Invalid input no longer fails the run. The run now finishes cleanly with a clear explanation in its status message, so a typo or an empty list is easy to spot and fix.
- List inputs now accept datasets piped straight from another scraper: entries
  that are objects are read through their usual key names (url/link,
  query/keyword/title, name/company and similar) instead of being rejected.

### 2026-07-11

- Billing: on paid runs every row is billed before it is written, and a run
  now stops visibly if billing fails instead of continuing unbilled.

### 2026-07-09

- Input is now tolerant of common shapes that previously failed the run: a bare
  string / bare object / delimited string for "communes" is coerced into a list
  instead of erroring. Empty input still errors.

### 2026-07-07

Initial public release.

- DPE diagnostics by commune from ADEME's official register (classes selectable, F/G by default).
- Company-owner matching via cadastre parcel lookup and the DGFiP legal-entities register: SIREN, name, legal form, honest confidence tiers.
- SIRENE enrichment of owning companies: active status, NAF, headquarters, named dirigeants.
- Syndic detection for copropriétés.
- Monitor mode with cross-run memory and Slack-compatible webhook digests.
