Naar de inhoud

Renovatieverplichting-API

De energierenovatieregels van Vlaanderen, Brussel en Wallonië, gedateerd en met bron, klaar voor je software en je AI-agents. Dezelfde motor als onze publieke checker.

  • REST · JSON
  • MCP-server
  • Officiële bronnen
  • REST-API

    rules: de regels van een gewest, van kracht of aangekondigd. evaluate: valt een woning eronder, en tegen wanneer.

  • MCP-server

    Koppel je AI-assistent of eigen agent: drie tools die enkel lezen, dezelfde motor als de API.

  • Gecontroleerde data

    Elke regel draagt zijn officiële bron en controledatum. Een aangekondigde regel wordt nooit als afdwingbaar voorgesteld.

Een woning beoordelen

Verzoek

curl -X POST https://immo-checker.be/api/v1/obligations/evaluate \
  -H "Authorization: Bearer ro_live_…" \
  -H "content-type: application/json" \
  -d '{"region":"flanders","labels":["F"],
       "actDate":"2024-03-15","use":"owner_occupied"}'

Antwoord

{
  "rulesVersion": "2026-10-01.d070e3de",
  "assessments": [{
    "ruleId": "fl_renovatieverplichting_d",
    "force": "in_force", "applies": "yes",
    "target": "D", "deadline": "2030-03-15",
    "source": { "url": "https://www.vlaanderen.be/…" }
  }],
  "notice": "Information based on official sources; not legal advice. …"
}

Informatie op basis van officiële bronnen, geen juridisch advies. Een sleutel is niet nodig om te testen; ze geeft een eigen quotum.

Een portefeuille beoordelen

Verzoek

curl -X POST https://immo-checker.be/api/v1/obligations/evaluate/batch \
  -H "Authorization: Bearer ro_live_…" \
  -H "content-type: application/json" \
  -d '{ "items": [
    {"ref":"immeuble-12/lot-3","region":"flanders","labels":["F"],"actDate":"2024-03-15","use":"owner_occupied"},
    {"ref":"rue-haute-4","region":"brussels","labels":["E"],"use":"rented"}
  ] }'

Antwoord

{
  "rulesVersions": { "flanders": "2026-10-01.d070e3de", "brussels": "2026-09-18.cc5dc2cd" },
  "results": [
    { "ref": "immeuble-12/lot-3", "assessments": [
      { "ruleId": "fl_renovatieverplichting_d", "applies": "yes", "deadline": "2030-03-15" }
    ] },
    { "ref": "rue-haute-4", "assessments": [
      { "ruleId": "bru_objectif_150_2045", "applies": "yes", "deadline": "2045-12-31" }
    ] }
  ],
  "notice": "Information based on official sources; not legal advice. …"
}

Tot 500 woningen per oproep en 10 oproepen per minuut; elke woning telt voor 1 in het quotum van de sleutel. Toegang op aanvraag. Een geweigerde bulkaanvraag (ongeldige woning, onvoldoende saldo) verbruikt niets: het antwoord vermeldt de foutieve woningen of het resterende saldo.

De regels van een datum opvragen

Verzoek

curl "https://immo-checker.be/api/v1/obligations/rules/history?region=wallonia" \
  -H "Authorization: Bearer ro_live_…"

curl "https://immo-checker.be/api/v1/obligations/rules/history?region=wallonia&at=2027-03-12T10:00:00Z" \
  -H "Authorization: Bearer ro_live_…"

Antwoord

{
  "region": "wallonia",
  "at": "2027-03-12T10:00:00.000Z",
  "version": "2026-09-18.d1fbe918",
  "observedAt": "2026-10-01T08:10:00.000Z",
  "rules": [
    { "id": "wal_acquereur_2028", "force": "announced", … },
    { "id": "wal_sortie_labels_2031", "force": "announced", … }
  ],
  "notice": "Information based on official sources; not legal advice. …"
}

De regels zoals de API ze op het tijdstip at leverde: zo kun je een kredietdossier of een audit dateren. De historiek begint bij de ingebruikname van de functie; vóór de eerste momentopname is het antwoord 404 no_snapshot. Elke opvraging telt voor 1 in het quotum van de sleutel. Toegang op aanvraag.

Verwittigd worden bij een wijziging (webhooks)

Abonnement

curl -X POST https://immo-checker.be/api/v1/obligations/webhooks \
  -H "Authorization: Bearer ro_live_…" \
  -H "content-type: application/json" \
  -d '{ "url": "https://hooks.banque.be/immochecker", "regions": ["wallonia"] }'
{
  "id": "5b1e…",
  "url": "https://hooks.banque.be/immochecker",
  "regions": ["wallonia"],
  "createdAt": "2026-10-12T08:00:00.000Z",
  "suspendedAt": null,
  "secret": "whsec_…"
}

Het ondertekeningsgeheim (whsec_…) wordt maar één keer getoond, in het antwoord op de aanmaak: bewaar het.

Bericht bij elke wijziging

{
  "event": "rules.changed", "deliveryId": "8f3c…",
  "region": "wallonia",
  "previousVersion": "2026-09-18.d1fbe918",
  "version": "2026-09-18.46148c46",
  "observedAt": "2028-01-02T08:10:00.000Z",
  "changes": [
    { "ruleId": "wal_acquereur_2028", "change": "modified",
      "before": { "force": "announced", … },
      "after": { "force": "in_force", … } }
  ]
}

De handtekening controleren (Node.js)

import { createHmac, timingSafeEqual } from "node:crypto";

// rawBody: the request body as received (before JSON.parse)
// header: req.headers["immochecker-signature"] — secret: whsec_…
export function verify(rawBody, header, secret) {
  const [, t, v1] = /^t=(\d+),v1=([0-9a-f]{64})$/.exec(header ?? "") ?? [];
  if (!t || Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
  const expected = createHmac("sha256", secret).update(`${t}.${rawBody}`).digest();
  return timingSafeEqual(Buffer.from(v1, "hex"), expected);
}

Wanneer de regels van een gewest wijzigen, krijgt elke abonnee de oude versie, de nieuwe en, regel per regel, wat er veranderd is met de bron. Zonder 2xx-antwoord tot 7 verzendingen over ongeveer 24 uur; na 3 niet-afgeleverde wijzigingen op rij wordt het abonnement opgeschort. Hoogstens 3 abonnementen per sleutel, buiten het quotum. Toegang op aanvraag.

Een agent koppelen (MCP)

Serveradres

https://immo-checker.be/api/mcp/obligations

Tools

get_renovation_rules(region)
evaluate_obligation(region, labels, actDate, use)
list_public_desks(postalCode)

Configuratie (voorbeeld)

{
  "mcpServers": {
    "immochecker-obligations": {
      "url": "https://immo-checker.be/api/mcp/obligations",
      "headers": { "Authorization": "Bearer ro_live_…" }
    }
  }
}

Toegang

AanbodInhoudLimiet
Gratis zonder sleutelrules, evaluate per stuk, MCPLimiet per IP-adres
DemosleutelZelfde inhoud, eigen quotum en gebruiksopvolgingMaandelijks quotum per sleutel
BulkBeoordeling in bulk, tot 500 woningen per oproepOp aanvraag
HistoriekRegels zoals geleverd op een datum, lijst van versiesOp aanvraag
WebhooksRegelwijzigingen ondertekend naar je server gestuurdOp aanvraag

Bank, makelaar, auditsoftware?

Vraag een demosleutel aan: we tonen je de API op je eigen dossiers.

contact@immo-checker.be

Demosleutel aanvragen

Veelgestelde vragen

Waar komen de regels vandaan?

Van de officiële pagina's van de drie gewesten (vlaanderen.be, environnement.brussels, energie.wallonie.be). Elke regel verwijst naar zijn bron en draagt de datum van de laatste controle.

Wat gebeurt er als een regel wijzigt?

Een monitoring volgt de officiële pagina's; een wijziging wordt nagelezen vóór publicatie. Het veld rulesVersion van elk antwoord verandert dan, zodat je je resultaten kunt dateren. Geabonneerde klanten krijgen de wijziging via webhook, en de historiek bewaart elke geleverde versie.

Hoe wordt het quotum van een sleutel geteld?

Per kalendermaand. Elke oproep naar rules of evaluate telt, ook een oproep die geweigerd wordt wegens ongeldige invoer; via MCP tellen enkel tool-oproepen.

Hoe wordt een bulkaanvraag geteld?

Eén woning = één oproep van het maandelijkse quotum, gereserveerd zodra de aanvraag geldig is. Een ongeldige aanvraag of een aanvraag groter dan het resterende saldo wordt geweigerd zonder iets te verbruiken, en het antwoord vermeldt het saldo.

Wat als mijn server niet antwoordt?

Het bericht wordt met toenemende tussenpozen opnieuw verstuurd gedurende ongeveer 24 uur, en dan opgegeven. Na 3 niet-afgeleverde wijzigingen op rij wordt het abonnement opgeschort: verwijder het en maak het opnieuw aan zodra je server hersteld is. Met de historiek van de regels haal je in wat je gemist hebt.

Waarom gaat de historiek niet verder terug?

Ze registreert wat de API werkelijk geleverd heeft, vanaf de ingebruikname van de functie. We reconstrueren het verleden niet: een gereconstrueerde versie zou geen bewijs zijn.

Verder lezen