vastgoed.ai

API-documentatie

Alle endpoints, velden, voorbeelden en foutcodes van de vastgoed.ai API, versie 1.5.0. Machineleesbaar als OpenAPI 3.1 en llms.txt.

> curl -X POST vastgoed.ai/v1/trial

{"result":{"apiKey":"trial_...",
           "addressLimit":5}}

> curl vastgoed.ai/v1/object \
   -H "X-Api-Key: trial_..." \
   -d '{"bagId":"0599010000137400"}'

{"result":{"title":"Weena 17-C",
           "bagM2":79,"woz":416000}}

API van vastgoed.ai voor objectgegevens, WWS-puntentellingen en het aanleveren van uw portefeuille.

Aanroepen

Alle endpoints zijn POST met een JSON-body en de header X-Api-Key. De basis-URL is https://api.vastgoed.ai/v1 (of https://vastgoed.ai/v1). Antwoorden zijn JSON met een result of een error; de HTTP-statuscode is ook bij fouten 200.

Clients die alleen GET zonder headers kunnen doen (web-fetch tools van AI-assistenten) zetten dezelfde JSON URL-gecodeerd in de queryparameter json en de key als apiKey in die JSON, bijvoorbeeld GET /v1/object?json={"apiKey":"...","bagId":"0599010000137400"}. Gebruik bij voorkeur de header; een key in een URL komt in logs terecht.

Proefsleutel (gratis)

Zonder API-key kunt u er direct een aanvragen met POST /v1/trial (geen header nodig). Een proefsleutel werkt op /object en /wws-estimate (op bagId of adres) en telt unieke adressen, niet aanroepen: herhaalde aanroepen voor hetzelfde adres zijn gratis. Zonder e-mailadres dekt de sleutel 5 adressen, met email in de aanvraag 20; hetzelfde e-mailadres krijgt steeds dezelfde sleutel. Elke response op een proefsleutel bevat trial.addressesUsed, trial.addressLimit en trial.addressesRemaining. Is de limiet bereikt, dan volgt fout 93 met error.upgrade: de gebruiker registreert dan voor een betaalde API-key via https://vastgoed.ai/register#invite=api (of info@vastgoed.ai). Vraag in dat geval geen nieuwe proefsleutel aan.

Een object identificeren

Een object wordt gevonden op precies een van deze manieren, in deze volgorde van voorrang: objectKey, referenceId, bagId/poId, postcode + housenr (+ housenraddition), streetname + housenr (+ housenraddition) + city. Levert een adres meerdere objecten op (bijvoorbeeld 17-A t/m 17-D zonder toevoeging), dan volgt fout 74 met de kandidaten. Bestaat de opgegeven toevoeging niet op dat huisnummer (bijvoorbeeld Hs waar de BAG H kent), dan fout 76 met alle objecten op dat huisnummer als kandidaten; er wordt nooit stilzwijgend een ander object gekozen. Levert het adres niets op, dan fout 75. Kandidaten zijn gesorteerd op toevoeging, maximaal 20.

Vrije invoer zoals "17c", "17-C" of "101hs": splits in housenr (alleen het getal) en housenraddition; de toevoeging is hoofdletterongevoelig en een leidende streep of spatie wordt genegeerd. De API doet alleen een exacte match; is die er niet, dan bevat de fout (74 of 76) alle objecten op het huisnummer in error.candidates, zodat de aanroeper de best passende kandidaat kiest of voorlegt.

Elke response bevat het bagId; sla dat op en gebruik het bij vervolgcalls, dat is de snelste en meest eenduidige weg.

Foutcodes

CodeBetekenis
-11Niet-ondersteunde API-versie; alleen v1.
-5Header X-Api-Key ontbreekt.
-3Onbekende API-key.
-2Geen endpoint in de URL.
-1Onbekend endpoint.
3Rapport kon niet worden gegenereerd.
4Rapport kon niet worden gegenereerd op basis van het verzoek.
23Onbekende objectKey of bagId.
33Geen geldige objectverwijzing (bagId, adres of objectKey).
34account.email ontbreekt.
36Onbekende gebruiker voor account.email.
37Onbekende objectKey.
39Object kon niet worden opgeslagen.
44/wws-report op een schattingsobject; gebruik /wws-estimate.
72wwsId, properties.roomsMeasured of properties.outsideMeasured niet ondersteund op /wws-estimate.
73Object niet gevonden, of /wws-report op bagId (alleen objectKey/referenceId).
74Adres levert meerdere objecten op; zie error.candidates. Geef housenraddition mee of gebruik bagId.
75Adres niet gevonden.
76Toevoeging bestaat niet op dit huisnummer; zie error.candidates voor de objecten die er wel zijn.
78Geen rapport beschikbaar voor het object.
79Rapport niet beschikbaar; devMessage bevat de reden (bijvoorbeeld geen woningobject).
89objectKey ontbreekt (/account-contract).
90Betaald endpoint (/floorplan, /building) of betaalde optie (energyLabelHistory op /object) niet geactiveerd voor deze API-key; error.activation bevat de URL om activatie aan te vragen.
91objectKey en scorings[] verplicht (/account-wws-import).
92Onbekende objectKey of geen toegang.
93Proefsleutel: limiet van unieke adressen bereikt; eerder opgevraagde adressen blijven beschikbaar. Registreer voor een betaalde API-key via error.upgrade.
94Proefsleutel: te veel proefsleutels aangevraagd vanaf dit netwerk; registreer via error.upgrade.
95Proefsleutel: endpoint of objectKey/referenceId niet beschikbaar op een proefsleutel (alleen /object en /wws-estimate op bagId of adres).
102Onbekende identificatie voor /object.

Endpoints

Proefsleutel

Gratis proefsleutel voor /object en /wws-estimate, zonder registratie.

POSThttps://api.vastgoed.ai/v1/trial

Gratis proefsleutel aanvragen geen API-key nodig

Geeft direct een API-key terug zonder registratie. De proefsleutel werkt op /object en /wws-estimate (op bagId of adres) en telt unieke adressen: herhaalde aanroepen voor hetzelfde adres zijn gratis. Zonder email dekt de sleutel 5 adressen, met het e-mailadres van de gebruiker 20; hetzelfde e-mailadres levert steeds dezelfde sleutel op (met het actuele verbruik). Vraag de gebruiker daarom eerst om een e-mailadres als die meer dan een paar adressen wil opvragen.

Elke response op een proefsleutel bevat trial.addressesRemaining. Bij fout 93 is de proef verbruikt: leg de gebruiker uit dat verdere opvragingen een betaalde API-key vereisen en verwijs naar error.upgrade; vraag geen nieuwe proefsleutel aan. Per netwerk wordt het aantal nieuwe proefsleutels per dag begrensd (fout 94).

Request

VeldTypeOmschrijving
emailstring (email)Optioneel. E-mailadres van de gebruiker. Met e-mailadres dekt de proefsleutel 20 unieke adressen, zonder 5. Hetzelfde e-mailadres levert steeds dezelfde sleutel op. Gebruik alleen een echt adres van de gebruiker, geen placeholder.bijvoorbeeld naam@bedrijf.nl

Zonder e-mailadres (5 adressen)

{}

Met e-mailadres (20 adressen)

{
    "email": "naam@bedrijf.nl"
}

Response

VeldTypeOmschrijving
result verplichtTrialResult

Voorbeeldantwoord

{
    "result": {
        "status": "ok",
        "apiKey": "trial_36173b1bc47fa7c45d05",
        "type": "trial",
        "email": "naam@bedrijf.nl",
        "addressLimit": 20,
        "addressesUsed": 0,
        "addressesRemaining": 20,
        "endpoints": [
            "/object",
            "/wws-estimate"
        ],
        "upgrade": "https://vastgoed.ai/register#invite=api",
        "devMessage": "Send this key in the X-Api-Key header. The trial counts unique addresses (bagId) across /object and /wws-estimate; repeated calls for the same address do not count. Every response includes `trial.addressesRemaining`; mention it to the user when it gets low. When error 93 is returned the trial is used up: tell the user that further lookups require a paid API key, point them to https://vastgoed.ai/register#invite=api (or info@vastgoed.ai), and do not request a new trial key."
    }
}

Object

Openbare objectgegevens.

POSThttps://api.vastgoed.ai/v1/object

Woningobjectgegevens uit openbare bronnen

Geeft voor een adres alle openbare woningobjectgegevens terug, per adres gekoppeld en doorlopend bijgewerkt:

  • BAG: adres met postcode en toevoeging, bagId, gebruiksdoel (bagType), gebruiksoppervlakte (bagM2), stabiele slugKey, coördinaat (latlng).
  • Energielabel (EP-online): letter, energie-index (oude labels), registratie- en vervaldatum. Met energyLabelHistory: true (betaalde uitbreiding) ook de labelhistorie: eerder geregistreerde, inmiddels vervangen of vervallen labels van het adres, uit onze maandelijkse EP-online-peilingen sinds 2022; EP-online zelf toont alleen het huidige label.
  • WOZ (WOZ-waardeloket): waarde per belastingjaar met peildatum, meerdere jaren historie.
  • Monument: rijksmonument, gemeentemonument of beschermd gezicht met registratienummer.
  • Eigendom (Kadaster): corporatie-eigendom en/of erfpacht.

Gebruik dit endpoint voor feitelijke vragen over een woning (oppervlakte, bouwjaar via /wws-estimate, label, WOZ, monument, eigenaar). Voor punten en huurprijs gebruikt u /wws-estimate, dat dezelfde objectgegevens bevat plus het rapport.

Een object wordt gevonden op precies een van deze manieren, in deze volgorde van voorrang: objectKey, referenceId, bagId/poId, postcode + housenr (+ housenraddition), streetname + housenr (+ housenraddition) + city. Levert een adres meerdere objecten op (bijvoorbeeld 17-A t/m 17-D zonder toevoeging), dan volgt fout 74 met de kandidaten. Bestaat de opgegeven toevoeging niet op dat huisnummer (bijvoorbeeld Hs waar de BAG H kent), dan fout 76 met alle objecten op dat huisnummer als kandidaten; er wordt nooit stilzwijgend een ander object gekozen. Levert het adres niets op, dan fout 75. Kandidaten zijn gesorteerd op toevoeging, maximaal 20.

Request

VeldTypeOmschrijving
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
poIdstringAlias van bagId.bijvoorbeeld 0599010000137400
objectKeystringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
referenceIdstringUw eigen referentie zoals eerder via /account-object (reference) opgeslagen. Hoofdletterongevoelig.bijvoorbeeld PROP-11928
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
energyLabelHistorybooleanMet true komt in energyLabel.history de labelhistorie van het adres mee: alle eerder in EP-online geregistreerde en inmiddels vervangen of vervallen energielabels, die EP-online zelf niet meer teruggeeft. Opgebouwd uit onze maandelijkse EP-online-peilingen sinds 2022. Betaalde uitbreiding, per API-key te activeren. Zolang de optie niet is geactiveerd geeft de API foutcode 90 met in error.activation de URL om activatie en tarief aan te vragen (https://vastgoed.ai/register#invite=api).bijvoorbeeld true

Op bagId

{
    "bagId": "0599010000137400"
}

Op bagId, met labelhistorie (betaalde uitbreiding)

{
    "bagId": "0599010000137400",
    "energyLabelHistory": true
}

Op postcode en huisnummer

{
    "postcode": "3013CB",
    "housenr": 17,
    "housenraddition": "C"
}

Op straat, huisnummer en plaats

{
    "streetname": "Weena",
    "housenr": 17,
    "housenraddition": "C",
    "city": "Rotterdam"
}

Op objectKey

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d"
}

Op eigen referenceId

{
    "referenceId": "PROP-11928"
}

Response

VeldTypeOmschrijving
result verplichtObjectResult
trialTrialUsage

Voorbeeldantwoord

{
    "result": {
        "status": "ok",
        "bagId": "0599010000137400",
        "title": "Weena 17-C, Rotterdam",
        "address": {
            "streetname": "Weena",
            "housenr": 17,
            "housenraddition": "C",
            "city": "Rotterdam",
            "postcode": "3013CB",
            "country": "nl",
            "slugKey": "rotterdam-weena-ivapma"
        },
        "properties": {
            "bagType": "residential",
            "bagM2": 79
        },
        "energyLabel": {
            "letter": "A",
            "index": false,
            "registration": "2025-04-29",
            "expire": "2035-04-10"
        },
        "monument": [],
        "ownership": [],
        "woz": [
            {
                "year": 2026,
                "snapshot": "2025-01-01",
                "value": 416000
            },
            {
                "year": 2025,
                "snapshot": "2024-01-01",
                "value": 435000
            },
            {
                "year": 2024,
                "snapshot": "2023-01-01",
                "value": 438000
            },
            {
                "year": 2023,
                "snapshot": "2022-01-01",
                "value": 442000
            },
            {
                "year": 2022,
                "snapshot": "2021-01-01",
                "value": 386000
            },
            {
                "year": 2021,
                "snapshot": "2020-01-01",
                "value": 352000
            },
            {
                "year": 2020,
                "snapshot": "2019-01-01",
                "value": 329000
            }
        ],
        "latlng": {
            "lat": 51.92499746298337,
            "lng": 4.476839361191538
        }
    }
}

WWS

Puntentellingen volgens het woningwaarderingsstelsel.

POSThttps://api.vastgoed.ai/v1/wws-estimate

WWS-puntenrange op basis van openbare data

Berekent een bandbreedte van WWS-punten en de bijbehorende maximale huurprijs op basis van openbare data (BAG, EP-online, WOZ, monumentenregister). Optioneel kunt u properties.measuredM2 en properties.outsideMeasuredM2 meesturen als hint; die vervangen dan de BAG-oppervlakte.

Niet ondersteund op dit endpoint (fout 72): wwsId, properties.roomsMeasured, properties.outsideMeasured. Gebruik daarvoor /wws-report.

Een object wordt gevonden op precies een van deze manieren, in deze volgorde van voorrang: objectKey, referenceId, bagId/poId, postcode + housenr (+ housenraddition), streetname + housenr (+ housenraddition) + city. Levert een adres meerdere objecten op (bijvoorbeeld 17-A t/m 17-D zonder toevoeging), dan volgt fout 74 met de kandidaten. Bestaat de opgegeven toevoeging niet op dat huisnummer (bijvoorbeeld Hs waar de BAG H kent), dan fout 76 met alle objecten op dat huisnummer als kandidaten; er wordt nooit stilzwijgend een ander object gekozen. Levert het adres niets op, dan fout 75. Kandidaten zijn gesorteerd op toevoeging, maximaal 20.

Request

VeldTypeOmschrijving
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
poIdstringAlias van bagId.bijvoorbeeld 0599010000137400
objectKeystringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
referenceIdstringUw eigen referentie zoals eerder via /account-object (reference) opgeslagen. Hoofdletterongevoelig.bijvoorbeeld PROP-11928
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
propertiesobject
outputstring (json, raw)json (standaard) geeft het rapport gefilterd op de gedocumenteerde sleutels; raw geeft het volledige interne rapport.

Op bagId

{
    "bagId": "0599010000137400"
}

Op postcode en huisnummer

{
    "postcode": "3013CB",
    "housenr": 17,
    "housenraddition": "C"
}

Op straat, huisnummer en plaats

{
    "streetname": "Weena",
    "housenr": 17,
    "housenraddition": "C",
    "city": "Rotterdam"
}

Met gemeten oppervlakte als hint

{
    "bagId": "0599010000137400",
    "properties": {
        "measuredM2": 90,
        "outsideMeasuredM2": 8
    }
}

Ongefilterd rapport

{
    "bagId": "0599010000137400",
    "output": "raw"
}

Response

VeldTypeOmschrijving
result verplichtReportResult
trialTrialUsage

Voorbeeldantwoord

{
    "result": {
        "status": "ok",
        "bagId": "0599010000137400",
        "title": "Weena 17-C, Rotterdam",
        "address": {
            "streetname": "Weena",
            "housenr": 17,
            "housenraddition": "C",
            "city": "Rotterdam",
            "postcode": "3013CB",
            "country": "nl",
            "slugKey": "rotterdam-weena-ivapma"
        },
        "properties": {
            "bagType": "residential",
            "bagM2": 79
        },
        "latlng": {
            "lat": 51.92499746298337,
            "lng": 4.476839361191538
        },
        "report": {
            "settings": {
                "generated": 1787124273,
                "period": "2026",
                "year": 2026
            },
            "points": {
                "rooms": 71,
                "otherRooms": 0,
                "climate": 10,
                "energyLabel": 37,
                "kitchen": 7,
                "sanitary": 8,
                "outside": 4,
                "parking": 0,
                "sharedRooms": 0,
                "woz": 46.5,
                "label": "184 pt - 197 pt",
                "range": {
                    "min": 184,
                    "max": 197
                }
            },
            "energyLabel": {
                "label": "Energielabel A",
                "valid": true,
                "derived": {
                    "registration": "2025-04-29",
                    "expire": "2035-04-10",
                    "notice": false
                }
            },
            "woz": {
                "label": "€ 416.000",
                "amount": 416000,
                "derived": {
                    "date": "Peildatum 2025-01-01",
                    "label": "Peildatum 2025-01-01",
                    "calculation": "(416000 / 16954) + (416000 / 71 / 268)"
                }
            },
            "sector": {
                "regulated": true,
                "label": "Middenhuursegment of vrijehuursector",
                "ids": [
                    "MIDDLE",
                    "HIGH"
                ],
                "likely": "HIGH"
            },
            "building": {
                "monument": false,
                "buildYear": 1984
            },
            "price": {
                "label": "€ 1.214,31 - markthuur",
                "derived": {
                    "percentalIncrease": 0
                },
                "range": {
                    "min": 1214.31,
                    "max": 1303.57
                }
            },
            "confidence": {
                "sector": 0.85,
                "regulation": 0.15
            }
        }
    }
}

POSThttps://api.vastgoed.ai/v1/wws-report

Opgeslagen WWS-rapport van een object in uw account

Geeft de puntentelling terug van een object dat via /account-object (of in de vastgoed.ai omgeving) in uw account staat. Alleen op te vragen met objectKey of referenceId; een bagId geeft fout 73 (gebruik daarvoor /wws-estimate).

Zonder properties wordt het opgeslagen rapport gebruikt: standaard de meest recente revisie van type lock of concept; met type: "lock" alleen vastgestelde rapporten; met wwsId een specifieke revisie; met unitKey de telling van een onzelfstandige eenheid (kamer).

Met properties (het volledige WWS-kenmerkenmodel, zie WwsProperties) wordt live een telling op uw eigen kenmerken berekend, aangevuld met de openbare data van het object (energielabel, WOZ, monument). Deze telling wordt niet opgeslagen.

Request

VeldTypeOmschrijving
objectKeystringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
referenceIdstringUw eigen referentie zoals eerder via /account-object (reference) opgeslagen. Hoofdletterongevoelig.bijvoorbeeld PROP-11928
typestring (lock)Filter op rapporttype. Standaard lock en concept.
wwsIdstringSpecifieke rapportrevisie.
unitKeystringEenheid (kamer) bij een onzelfstandig object; de reference waarmee de eenheid via /account-object is aangemaakt.bijvoorbeeld kamer-1
propertiesobjectWWS-kenmerken voor een live telling. Zie WwsProperties.
outputstring (json, raw)json (standaard) geeft het rapport gefilterd op de gedocumenteerde sleutels; raw geeft het volledige interne rapport.

Op objectKey

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d"
}

Op eigen referenceId

{
    "referenceId": "PROP-11928"
}

Alleen vastgestelde rapporten

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
    "type": "lock"
}

Onzelfstandige eenheid

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
    "unitKey": "kamer-1"
}

Live telling op eigen kenmerken

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
    "properties": {
        "roomsMeasured": [
            {
                "label": "Woonkamer",
                "value": 40,
                "heated": 1
            },
            {
                "label": "Slaapkamer",
                "value": 20,
                "heated": 1
            }
        ],
        "kitchens": [
            {
                "aanrecht": "LangerDanTwee",
                "kookplaat": "Inductie",
                "oven": "Electrisch",
                "koelkast": 1,
                "vaatwasmachine": 1
            }
        ],
        "sanitaries": [
            {
                "toilet": "SeperaatHangend",
                "badDouche": "Douche",
                "wastafel": 1
            }
        ]
    }
}

Response

VeldTypeOmschrijving
result verplichtReportResult

Account

Objecten, contracten en rapporten in uw vastgoed.ai account.

POSThttps://api.vastgoed.ai/v1/account-object

Object aanmaken of bijwerken in uw account

Voegt een object toe aan het vastgoed.ai account van account.email, of werkt een bestaand object bij. Bestaat het bagId al in dat account, dan wordt de bestaande objectKey teruggegeven.

Aanmaken: bagId (of een adres, zie hieronder) plus account.email. Bijwerken: objectKey.

Met type: "unit" en reference wordt een onzelfstandige eenheid (kamer) aan het object toegevoegd; het object wordt dan onzelfstandig. reference (uw eigen id, later bruikbaar als referenceId), owner en properties.measuredM2 / properties.outsideMeasuredM2 worden op het object opgeslagen.

Adres in plaats van bagId: postcode + housenr (+ housenraddition) of streetname + housenr (+ housenraddition) + city; meerdere treffers geven fout 74, geen treffer fout 75.

Request

VeldTypeOmschrijving
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
objectKeystringBestaand object bijwerken.
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
accountAccount
referencestringUw eigen object-id; wordt opgeslagen en is daarna bruikbaar als referenceId. Bij type: "unit" is dit het id van de eenheid.bijvoorbeeld PROP-11928
ownerstringEigenaar-id of -naam binnen uw systeem.bijvoorbeeld Midvast BV
typestring (unit)unit om een onzelfstandige eenheid (kamer) toe te voegen.
labelstringLabel van de eenheid, alleen bij type: "unit".bijvoorbeeld Kamer 1
propertiesobject

Aanmaken op bagId

{
    "bagId": "0599010000137400",
    "reference": "PROP-11928",
    "owner": "Midvast BV",
    "account": {
        "email": "info@example.nl"
    }
}

Aanmaken op postcode en huisnummer

{
    "postcode": "3013CB",
    "housenr": 17,
    "housenraddition": "C",
    "reference": "PROP-11928",
    "account": {
        "email": "info@example.nl"
    }
}

Kamer toevoegen

{
    "bagId": "0599010000137400",
    "type": "unit",
    "reference": "kamer-1",
    "label": "Kamer 1",
    "account": {
        "email": "info@example.nl"
    }
}

Bijwerken op objectKey

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
    "reference": "PROP-11928",
    "properties": {
        "measuredM2": 60,
        "outsideMeasuredM2": 4
    }
}

Response

VeldTypeOmschrijving
result verplichtAccountObjectResult

Voorbeeldantwoord

{
    "result": {
        "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d"
    }
}

POSThttps://api.vastgoed.ai/v1/account-contract

Huurcontracten aanleveren voor een object

Slaat huurcontracten op bij een object in uw account. Contracten worden herkend op referenceId; ontbreekt die, dan op de combinatie ingangsdatum (label) en unitKey. Bestaande contracten worden bijgewerkt, nieuwe toegevoegd. Wordt renters niet-leeg meegestuurd, dan vervangt dat de bewoners van het contract.

contracts mag een lijst zijn, of (legacy) een object met de ingangsdatum als sleutel: {"2025-01-01": {"amount": 1200}}.

Request

VeldTypeOmschrijving
objectKey verplichtstringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
contracts verplichtobject

Minimaal

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
    "contracts": [
        {
            "label": "2025-01-01",
            "amount": 1200
        }
    ]
}

Uitgebreid

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
    "contracts": [
        {
            "label": "2024-01-01",
            "amount": 1037,
            "referenceId": "CT-0001",
            "endDate": null,
            "unitKey": "kamer-1",
            "deposit": {
                "type": "Waarborgsom",
                "amount": 1800
            },
            "indexation": [
                {
                    "kind": "contract",
                    "ruleId": "cpi-m4",
                    "indexMonth": 7,
                    "endDate": ""
                }
            ],
            "servicekostenAmount": 150,
            "renters": [
                {
                    "firstName": "Jan",
                    "lastNamePrefix": "de",
                    "lastName": "Vries",
                    "email": "jan@example.nl",
                    "mobile": "0612345678"
                }
            ]
        }
    ]
}

Response

VeldTypeOmschrijving
result verplichtWriteResult

Voorbeeldantwoord

{
    "result": {
        "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
        "written": 1,
        "skipped": 0
    }
}

POSThttps://api.vastgoed.ai/v1/account-wws-reports

Objecten met een WWS-rapport in uw account

Geeft alle objecten in het account van account.email terug waarvoor een WWS-rapport (type concept, lock of current) bestaat, met de datum van het eerste en het laatste rapport. Meest recent gewijzigd eerst.

Request

VeldTypeOmschrijving
account verplichtAccount

{
    "account": {
        "email": "info@example.nl"
    }
}

Response

VeldTypeOmschrijving
result verplichtAccountWwsReportsResult

Voorbeeldantwoord

{
    "result": {
        "status": "ok",
        "count": 1,
        "addresses": [
            {
                "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
                "poId": "0599010000137400",
                "referenceId": "PROP-11928",
                "firstCreated": "2025-03-01 10:12:00",
                "lastModified": "2026-02-11 09:40:12"
            }
        ]
    }
}

POSThttps://api.vastgoed.ai/v1/account-wws-import

Bestaande WWS-puntentellingen importeren

Importeert puntentellingen uit een extern systeem als current rapport bij een object in uw account. Elke scoring wordt herkend op externalId; bestaande worden bijgewerkt. De telling wordt opgeslagen volgens het vastgoed.ai WWS-schema (versie 2) met document.source als herkomst.

Request

VeldTypeOmschrijving
objectKey verplichtstringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
scorings verplichtarray van object

{
    "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
    "scorings": [
        {
            "externalId": "1",
            "reference": "PZW-00001",
            "periodId": "2025",
            "periodStartDate": "2025-01-01",
            "periodLabel": "1 januari 2025 t/m 30 juni 2025",
            "totalPoints": 207,
            "maximumRent": 1254.98,
            "homeType": "zelfstandig",
            "isHistorical": false,
            "breakdown": {
                "climatePoints": 10,
                "kitchenPoints": 7,
                "sanitaryPoints": 8,
                "parkingPoints": 0,
                "wozPoints": 46.5
            },
            "properties": {
                "wozAmount": 416000,
                "energyLabel": "A",
                "kitchens": 1,
                "sanitaries": 1,
                "toiletCount": 1,
                "sinkCount": 1,
                "extraHeatedRooms": 0
            }
        }
    ]
}

Response

VeldTypeOmschrijving
result verplichtWriteResult

Voorbeeldantwoord

{
    "result": {
        "objectKey": "2fqgqz6zqc5hf85irzzqdd3adfa3d",
        "written": 1,
        "skipped": 0
    }
}

Plattegrond

Ruimten en oppervlakten uit Floorplanner.com en DWG (op aanvraag).

POSThttps://api.vastgoed.ai/v1/floorplan

Ruimten en oppervlakten uit een plattegrond (Floorplanner.com, Revit/AutoCAD .dwg)

Betaalde uitbreiding, per API-key te activeren. Zolang het endpoint niet is geactiveerd geeft de API foutcode 90 met in error.activation de URL om activatie en tarief aan te vragen (https://vastgoed.ai/register#invite=api).

Leest een plattegrond uit en geeft per verdieping de ruimten terug met label, type (vertrek, overige ruimte, verkeersruimte, buitenruimte), oppervlakte in m2 en polygoon, plus de totalen volgens NEN 2580: GO (gebruiksoppervlakte), BVO (bruto vloeroppervlakte) en GBO (gebouwgebonden buitenruimte), en de WWS-oppervlakten (vertrekken, overige ruimten, buitenruimte). Bronnen: een floorplanner.com-project (URL), of een .dwg/.dxf uit AutoCAD of Revit (exporteer uit Revit naar DWG; ruimtelabels en -oppervlakten op de A-AREA-*-lagen worden herkend). Met bagId/adres en wws: true komt direct een WWS-telling met deze oppervlakten mee, in dezelfde structuur als /wws-report.

Request

VeldTypeOmschrijving
floorplannerUrlstring (uri)URL van een floorplanner.com-project of -viewer.bijvoorbeeld https://floorplanner.com/projects/174796333/viewer
fileUrlstring (uri)Tijdelijke, direct downloadbare URL naar een .dwg of .dxf (AutoCAD, of DWG-export uit Revit). Maximaal 50 MB.
unitstring (mm, cm, m)Tekeneenheid van het DWG-bestand als die niet uit het bestand blijkt.
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
wwsbooleanMet true (en een object-identifier) komt een WWS-telling met deze oppervlakten mee in result.report.

Floorplanner-project

{
    "floorplannerUrl": "https://floorplanner.com/projects/174796333/viewer",
    "bagId": "0599010000137400",
    "wws": true
}

Revit/AutoCAD DWG via tijdelijke URL

{
    "fileUrl": "https://example.com/tmp/verdieping-1.dwg",
    "unit": "mm"
}

Response

VeldTypeOmschrijving
result verplichtFloorplanResult

Voorbeeldantwoord

{
    "result": {
        "status": "ok",
        "source": "floorplanner",
        "floors": [
            {
                "name": "Begane grond",
                "rooms": [
                    {
                        "label": "Woonkamer",
                        "type": "vertrek",
                        "areaM2": 28.4
                    },
                    {
                        "label": "Keuken",
                        "type": "vertrek",
                        "areaM2": 9.1
                    },
                    {
                        "label": "Slaapkamer 1",
                        "type": "vertrek",
                        "areaM2": 14.2
                    },
                    {
                        "label": "Hal",
                        "type": "verkeersruimte",
                        "areaM2": 5.3
                    },
                    {
                        "label": "Berging",
                        "type": "overige ruimte",
                        "areaM2": 3.8
                    },
                    {
                        "label": "Balkon",
                        "type": "buitenruimte",
                        "areaM2": 6
                    }
                ],
                "totals": {
                    "go": 60.8,
                    "bvo": 71.2,
                    "gbo": 6,
                    "wwsRooms": 51.7,
                    "wwsOtherRooms": 3.8,
                    "wwsOutside": 6
                }
            }
        ],
        "totals": {
            "go": 60.8,
            "bvo": 71.2,
            "gbo": 6,
            "wwsRooms": 51.7,
            "wwsOtherRooms": 3.8,
            "wwsOutside": 6
        },
        "warnings": []
    }
}

Pand

Pandgegevens met alle verblijfsobjecten (op aanvraag).

POSThttps://api.vastgoed.ai/v1/building

Pandgegevens met alle verblijfsobjecten

Betaalde uitbreiding, per API-key te activeren. Zolang het endpoint niet is geactiveerd geeft de API foutcode 90 met in error.activation de URL om activatie en tarief aan te vragen (https://vastgoed.ai/register#invite=api).

Geeft het pand (BAG-pand) terug waar een adres in ligt: pand-id, titel, bouwjaar, gebouwtype, monumentstatus, aantal verblijfsobjecten, en de lijst verblijfsobjecten met adres, bagId, gebruiksdoel en gebruiksoppervlakte, gesorteerd op huisnummer en toevoeging. Maximaal 20 objecten per aanroep met total en offset voor de rest. Bedoeld om een portefeuille per pand op te bouwen, toevoegingen te vinden of een VvE in kaart te brengen. Zelfde identifiers als /object.

Request

VeldTypeOmschrijving
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
poIdstringAlias van bagId.bijvoorbeeld 0599010000137400
objectKeystringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
referenceIdstringUw eigen referentie zoals eerder via /account-object (reference) opgeslagen. Hoofdletterongevoelig.bijvoorbeeld PROP-11928
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
energyLabelHistorybooleanMet true komt in energyLabel.history de labelhistorie van het adres mee: alle eerder in EP-online geregistreerde en inmiddels vervangen of vervallen energielabels, die EP-online zelf niet meer teruggeeft. Opgebouwd uit onze maandelijkse EP-online-peilingen sinds 2022. Betaalde uitbreiding, per API-key te activeren. Zolang de optie niet is geactiveerd geeft de API foutcode 90 met in error.activation de URL om activatie en tarief aan te vragen (https://vastgoed.ai/register#invite=api).bijvoorbeeld true

Op bagId

{
    "bagId": "0599010000137400"
}

Op postcode en huisnummer

{
    "postcode": "3013CB",
    "housenr": 17,
    "housenraddition": "C"
}

Op straat, huisnummer en plaats

{
    "streetname": "Weena",
    "housenr": 17,
    "housenraddition": "C",
    "city": "Rotterdam"
}

Response

VeldTypeOmschrijving
result verplichtBuildingResult

Voorbeeldantwoord

{
    "result": {
        "status": "ok",
        "building": {
            "bagId": "0363100012119877",
            "title": "Jan Evertsenstraat 83-85, Amsterdam",
            "buildYear": 1927,
            "type": "flatwoning (overig)",
            "monument": {
                "type": "gemeentemonument",
                "id": "00000001002564440000"
            },
            "objectsCount": 9
        },
        "objects": [
            {
                "bagId": "0363010000684318",
                "title": "Jan Evertsenstraat 85-1, Amsterdam",
                "housenr": 85,
                "housenraddition": "1",
                "postcode": "1057BS",
                "bagType": "residential",
                "bagM2": 52
            }
        ],
        "total": 9,
        "offset": 0,
        "limit": 20
    }
}

Schema's

De objecten waar de endpoints hierboven naar verwijzen.

ObjectLookupRequest

Een object wordt gevonden op precies een van deze manieren, in deze volgorde van voorrang: objectKey, referenceId, bagId/poId, postcode + housenr (+ housenraddition), streetname + housenr (+ housenraddition) + city. Levert een adres meerdere objecten op (bijvoorbeeld 17-A t/m 17-D zonder toevoeging), dan volgt fout 74 met de kandidaten. Bestaat de opgegeven toevoeging niet op dat huisnummer (bijvoorbeeld Hs waar de BAG H kent), dan fout 76 met alle objecten op dat huisnummer als kandidaten; er wordt nooit stilzwijgend een ander object gekozen. Levert het adres niets op, dan fout 75. Kandidaten zijn gesorteerd op toevoeging, maximaal 20.

VeldTypeOmschrijving
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
poIdstringAlias van bagId.bijvoorbeeld 0599010000137400
objectKeystringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
referenceIdstringUw eigen referentie zoals eerder via /account-object (reference) opgeslagen. Hoofdletterongevoelig.bijvoorbeeld PROP-11928
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
energyLabelHistorybooleanMet true komt in energyLabel.history de labelhistorie van het adres mee: alle eerder in EP-online geregistreerde en inmiddels vervangen of vervallen energielabels, die EP-online zelf niet meer teruggeeft. Opgebouwd uit onze maandelijkse EP-online-peilingen sinds 2022. Betaalde uitbreiding, per API-key te activeren. Zolang de optie niet is geactiveerd geeft de API foutcode 90 met in error.activation de URL om activatie en tarief aan te vragen (https://vastgoed.ai/register#invite=api).bijvoorbeeld true

WwsEstimateRequest

Een object wordt gevonden op precies een van deze manieren, in deze volgorde van voorrang: objectKey, referenceId, bagId/poId, postcode + housenr (+ housenraddition), streetname + housenr (+ housenraddition) + city. Levert een adres meerdere objecten op (bijvoorbeeld 17-A t/m 17-D zonder toevoeging), dan volgt fout 74 met de kandidaten. Bestaat de opgegeven toevoeging niet op dat huisnummer (bijvoorbeeld Hs waar de BAG H kent), dan fout 76 met alle objecten op dat huisnummer als kandidaten; er wordt nooit stilzwijgend een ander object gekozen. Levert het adres niets op, dan fout 75. Kandidaten zijn gesorteerd op toevoeging, maximaal 20.

VeldTypeOmschrijving
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
poIdstringAlias van bagId.bijvoorbeeld 0599010000137400
objectKeystringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
referenceIdstringUw eigen referentie zoals eerder via /account-object (reference) opgeslagen. Hoofdletterongevoelig.bijvoorbeeld PROP-11928
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
propertiesobject
outputstring (json, raw)json (standaard) geeft het rapport gefilterd op de gedocumenteerde sleutels; raw geeft het volledige interne rapport.

WwsReportRequest

VeldTypeOmschrijving
objectKeystringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
referenceIdstringUw eigen referentie zoals eerder via /account-object (reference) opgeslagen. Hoofdletterongevoelig.bijvoorbeeld PROP-11928
typestring (lock)Filter op rapporttype. Standaard lock en concept.
wwsIdstringSpecifieke rapportrevisie.
unitKeystringEenheid (kamer) bij een onzelfstandig object; de reference waarmee de eenheid via /account-object is aangemaakt.bijvoorbeeld kamer-1
propertiesobjectWWS-kenmerken voor een live telling. Zie WwsProperties.
outputstring (json, raw)json (standaard) geeft het rapport gefilterd op de gedocumenteerde sleutels; raw geeft het volledige interne rapport.

AccountObjectRequest

VeldTypeOmschrijving
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
objectKeystringBestaand object bijwerken.
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
accountAccount
referencestringUw eigen object-id; wordt opgeslagen en is daarna bruikbaar als referenceId. Bij type: "unit" is dit het id van de eenheid.bijvoorbeeld PROP-11928
ownerstringEigenaar-id of -naam binnen uw systeem.bijvoorbeeld Midvast BV
typestring (unit)unit om een onzelfstandige eenheid (kamer) toe te voegen.
labelstringLabel van de eenheid, alleen bij type: "unit".bijvoorbeeld Kamer 1
propertiesobject

Account

VeldTypeOmschrijving
email verplichtstring (email)E-mailadres van een gebruiker in het vastgoed.ai account.bijvoorbeeld info@example.nl

AccountRequest

VeldTypeOmschrijving
account verplichtAccount

Contract

VeldTypeOmschrijving
label verplichtstring (date)Ingangsdatum (ISO 8601).bijvoorbeeld 2025-01-01
amount verplichtnumberKale huur per maand in euro op de ingangsdatum.bijvoorbeeld 1200
referenceIdstringUw contract-id, primaire sleutel bij bijwerken.bijvoorbeeld CT-0001
endDatestring of null (date)
unitKeystringEenheid (kamer) bij een onzelfstandig object.bijvoorbeeld kamer-1
depositobject
indexationarray van object
servicekostenAmountnumberServicekosten per maand in euro.bijvoorbeeld 150
rentersarray van object

AccountContractRequest

VeldTypeOmschrijving
objectKey verplichtstringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
contracts verplichtobject

AccountWwsImportRequest

VeldTypeOmschrijving
objectKey verplichtstringvastgoed.ai objectsleutel van een object in uw account (retour van /account-object).bijvoorbeeld 2fqgqz6zqc5hf85irzzqdd3adfa3d
scorings verplichtarray van object

Address

VeldTypeOmschrijving
streetnamestringbijvoorbeeld Weena
housenrintegerbijvoorbeeld 17
housenradditionstring of nullbijvoorbeeld C
citystringbijvoorbeeld Rotterdam
postcodestringbijvoorbeeld 3013CB
countrystringbijvoorbeeld nl
slugKeystringStabiele leesbare adressleutel, bruikbaar in URL's.bijvoorbeeld rotterdam-weena-ivapma

WozValue

VeldTypeOmschrijving
yearintegerBelastingjaar.bijvoorbeeld 2026
snapshotstring (date)Waardepeildatum (1 januari van het jaar ervoor).bijvoorbeeld 2025-01-01
valueintegerWOZ-waarde in euro.bijvoorbeeld 416000

EnergyLabelHistoryItem

Een eerder geregistreerd energielabel van het adres dat inmiddels in EP-online is vervangen of vervallen.

VeldTypeOmschrijving
letterstringLabelletter van het eerdere label (A++++ t/m G).bijvoorbeeld F
indexnumber of booleanEnergie-index bij labels uit 2015-2020; false als niet van toepassing.bijvoorbeeld 1.85
registrationstring (date)Registratiedatum in EP-online.bijvoorbeeld 2017-11-09
expirestring (date)Oorspronkelijke geldigheid (tien jaar na opname).bijvoorbeeld 2027-11-09
replacedstring (date)Maand waarin het label in EP-online is vervangen door een nieuw label of is vervallen (eerste dag van de maand; maandnauwkeurig, afgeleid uit onze maandelijkse peilingen).bijvoorbeeld 2025-11-01

ObjectResult

Alle openbare woningobjectgegevens van een adres: BAG (adres, gebruiksdoel, oppervlakte, coördinaat), energielabel (EP-online), WOZ-historie (WOZ-waardeloket), monumentstatus (RCE en gemeenten) en eigendom (Kadaster). De bronnen zijn per adres gekoppeld en worden doorlopend bijgewerkt.

VeldTypeOmschrijving
statusstring (ok, error)ok, of error als het object wel gevonden is maar er geen rapport kon worden gemaakt (zie error).
bagIdstringBAG verblijfsobject-id (16 cijfers). De unieke sleutel van de woning; bewaar deze voor vervolgcalls.bijvoorbeeld 0599010000137400
titlestringLeesbare titel: straat, huisnummer met toevoeging, plaats.bijvoorbeeld Weena 17-C, Rotterdam
addressAddress
propertiesobjectBasiskenmerken van het verblijfsobject uit de BAG.
latlngobjectWGS84-coördinaat van het verblijfsobject (BAG-geometrie, omgerekend uit RD).
energyLabelobjectEnergielabel zoals geregistreerd in EP-online (RVO). Dit is het geregistreerde label; of het label ook geldig is voor de WWS staat in het rapport van /wws-estimate. Met energyLabelHistory: true (betaalde uitbreiding) komt in history ook de labelhistorie mee.
monumentobject of arrayMonumentstatus van het pand: {type, id} met type rijksmonument, gemeentemonument of beschermdgezicht (rijksbeschermd stads- of dorpsgezicht) en id het registratienummer (Rijksdienst voor het Cultureel Erfgoed of het gemeentelijke register). Leeg ([]) als het pand geen monument is. Een monument geeft een huurprijsopslag in de WWS.
ownershipobject of arrayEigendomsinformatie uit het Kadaster op de locatie van het object, per type: corporatie (naam van de woningcorporatie die eigenaar is) en/of erfpacht (erfverpachter, bijvoorbeeld Gemeente Amsterdam). Leeg ([]) als geen van beide bekend is.
wozarray van WozValueWOZ-waarden uit het WOZ-waardeloket per belastingjaar, meest recente eerst (doorgaans vanaf belastingjaar 2020). year is het belastingjaar, snapshot de waardepeildatum (1 januari van het jaar ervoor). De meest recente waarde bepaalt de WOZ-punten in de WWS.

Report

Met output: "raw" bevat het rapport aanvullende sleutels zoals engineVersion en surfaceAreas.

VeldTypeOmschrijving
settingsobject
pointsobject
energyLabelobject
wozobject
sectorobject
buildingobject
priceobject
confidenceobjectAlleen bij een schatting (/wws-estimate).
detailsobjectAlleen bij een opgeslagen rapport (/wws-report): metadata zoals wwsId en aanmaakdatum.
pdfstring (uri)Alleen als het object in uw account staat: URL naar het PDF-rapport.

ReportResult

VeldTypeOmschrijving
statusstring (ok, error)ok, of error als het object wel gevonden is maar er geen rapport kon worden gemaakt (zie error).
bagIdstringBAG verblijfsobject-id (16 cijfers). De unieke sleutel van de woning; bewaar deze voor vervolgcalls.bijvoorbeeld 0599010000137400
titlestringLeesbare titel: straat, huisnummer met toevoeging, plaats.bijvoorbeeld Weena 17-C, Rotterdam
addressAddress
propertiesobjectBasiskenmerken van het verblijfsobject uit de BAG.
latlngobjectWGS84-coördinaat van het verblijfsobject (BAG-geometrie, omgerekend uit RD).
reportReport

AccountObjectResult

VeldTypeOmschrijving
objectKey verplichtstring
unitKeystringAlleen bij type: "unit".

AccountWwsReportsResult

VeldTypeOmschrijving
statusstring (ok)
countinteger
addressesarray van object

WriteResult

VeldTypeOmschrijving
objectKeystring
writteninteger
skippedinteger

FloorplanRequest

Geef floorplannerUrl of fileUrl op. Bestanden worden na verwerking verwijderd.

VeldTypeOmschrijving
floorplannerUrlstring (uri)URL van een floorplanner.com-project of -viewer.bijvoorbeeld https://floorplanner.com/projects/174796333/viewer
fileUrlstring (uri)Tijdelijke, direct downloadbare URL naar een .dwg of .dxf (AutoCAD, of DWG-export uit Revit). Maximaal 50 MB.
unitstring (mm, cm, m)Tekeneenheid van het DWG-bestand als die niet uit het bestand blijkt.
bagIdstringBAG verblijfsobject-id (16 cijfers, met voorloopnul). Alias: poId.bijvoorbeeld 0599010000137400
postcodestringPostcode, met of zonder spatie. Combineren met housenr (en optioneel housenraddition).bijvoorbeeld 3013CB
streetnamestringStraatnaam, hoofdletterongevoelig. Combineren met housenr en city (en optioneel housenraddition).bijvoorbeeld Weena
housenrinteger of stringHuisnummer zonder toevoeging.bijvoorbeeld 17
housenradditionstringHuisnummertoevoeging. Een voorloopspatie of -streepje wordt genegeerd (-C, C en c zijn gelijk).bijvoorbeeld C
citystringPlaatsnaam, alleen bij zoeken op streetname. Den Haag en 's-Gravenhage worden beide herkend.bijvoorbeeld Rotterdam
wwsbooleanMet true (en een object-identifier) komt een WWS-telling met deze oppervlakten mee in result.report.

FloorplanRoom

VeldTypeOmschrijving
labelstringRuimtenaam zoals in de tekening.bijvoorbeeld Woonkamer
typestring (vertrek, overige ruimte, verkeersruimte, buitenruimte, gedeeld, onbekend)WWS-categorie, afgeleid uit het label.
areaM2numberNetto vloeroppervlakte in m2 (binnenzijde wanden).bijvoorbeeld 28.4
heatedboolean of nullVerwarmd, als dat uit de bron blijkt; anders null.
polygonarray van objectContour in centimeters, oorsprong linksboven van de verdieping.
sourcestringHerkomst van label en oppervlakte, bijvoorbeeld floorplanner, dwg:A-AREA-IDEN, dwg:polygon.

FloorplanTotals

VeldTypeOmschrijving
gonumberGebruiksoppervlakte (NEN 2580) in m2.
bvonumberBruto vloeroppervlakte in m2.
gbonumberGebouwgebonden buitenruimte in m2.
wwsRoomsnumberSom vertrekken in m2.
wwsOtherRoomsnumberSom overige ruimten in m2.
wwsOutsidenumberSom buitenruimte in m2.

FloorplanResult

VeldTypeOmschrijving
statusstring (ok)
sourcestring (floorplanner, dwg)
floorsarray van object
totalsFloorplanTotals
reportobjectAlleen met wws: true en een object-identifier.
warningsarray van stringBijvoorbeeld ruimten zonder oppervlakte, of samengevoegde contouren.

BuildingResult

VeldTypeOmschrijving
statusstring (ok)
buildingobject
objectsarray van object
totalinteger
offsetinteger
limitinteger

Error

VeldTypeOmschrijving
code verplichtintegerFoutcode, zie de tabel in de API-beschrijving.bijvoorbeeld 74
message verplichtstringbijvoorbeeld Ambiguous address
devMessagestringToelichting voor de ontwikkelaar.
activationstring (uri)Alleen bij code 90: URL om activatie en tarief aan te vragen.
candidatesarray van objectAlleen bij code 74 en 76: de objecten op het opgegeven huisnummer, gesorteerd op toevoeging, maximaal 20.
upgradestring (uri)Alleen bij code 93, 94 en 95: URL waar de gebruiker zich registreert voor een betaalde API-key.

ErrorResponse

VeldTypeOmschrijving
error verplichtError
resultobjectBij rapportfouten (78, 79) worden de objectgegevens met status: "error" meegegeven.
trialTrialUsage

WwsProperties

WWS-kenmerken van de woning. Alle velden zijn optioneel; ontbrekende kenmerken worden uit openbare data aangevuld of tellen niet mee. Gelijk aan het vastgoed.ai WWS-schema (versie 2).

VeldTypeOmschrijving
roomsMeasuredarray van objectList of rooms ('Vertrekken') with their attributes.
openKeukenboolean of null(deprecated) Use kitchens[0].openKeuken = 1 and kitchens[0].inRoom = Woonkamer id instead.bijvoorbeeld true
heatedHallwayinteger of null(deprecated) Instead, add entries under otherRoomsMeasured with a label (e.g. 'Verkeersruimte', 'Hal', 'Overloop'), value 0 and heated 1.bijvoorbeeld 0
otherRoomsMeasuredarray van objectList of other spaces ('Overige ruimte') with their attributes.
outsideMeasuredarray van objectList of othe outside spaces ('Buitenruimte') with their attributes.
noOutsideSpaceboolean of nullIndicates if there are no outside spaces associated with the property.bijvoorbeeld false
kitchensarray van objectList of kitchen amenities and appliances.
sanitariesarray van objectList of sanitary facilities and fittings.
parkingsarray van objectDetails of parking facilities in shared spaces (e.g., parking garage, parking lot). Not for individual parking facilities. This is optional; leave empty if unknown.
videoPhoneboolean of nullIndicates if there is a video intercom system available.bijvoorbeeld false
energyLabelobjectEnergy efficiency label of the property. Optional; leave empty if unknown.
monumentobjectMonumental status of the property. Optional; leave empty if unknown.
wozobjectThe WOZ value in euro's. Optional. Leave empty if unknown.

TrialRequest

VeldTypeOmschrijving
emailstring (email)Optioneel. E-mailadres van de gebruiker. Met e-mailadres dekt de proefsleutel 20 unieke adressen, zonder 5. Hetzelfde e-mailadres levert steeds dezelfde sleutel op. Gebruik alleen een echt adres van de gebruiker, geen placeholder.bijvoorbeeld naam@bedrijf.nl

TrialResult

VeldTypeOmschrijving
status verplichtstring (ok)
apiKey verplichtstringDe proefsleutel; meesturen als header X-Api-Key.bijvoorbeeld trial_36173b1bc47fa7c45d05
typestring (trial)
emailstring of booleanHet geregistreerde e-mailadres, of false bij een anonieme sleutel.
addressLimit verplichtintegerAantal unieke adressen dat de sleutel dekt (5 anoniem, 20 met e-mailadres).bijvoorbeeld 20
addressesUsed verplichtintegerbijvoorbeeld 0
addressesRemaining verplichtintegerbijvoorbeeld 20
endpointsarray van stringEndpoints die de proefsleutel ondersteunt.
upgrade verplichtstring (uri)Registratie-URL voor een betaalde API-key.
devMessagestringInstructies voor de aanroepende agent.

TrialUsage

Alleen bij aanroepen met een proefsleutel: het verbruik van unieke adressen.

VeldTypeOmschrijving
addressesUsed verplichtintegerbijvoorbeeld 3
addressLimit verplichtintegerbijvoorbeeld 20
addressesRemaining verplichtintegerNoem dit aan de gebruiker als het laag wordt.bijvoorbeeld 17
upgrade verplichtstring (uri)Registratie-URL voor een betaalde API-key.

Laat je AI-agent met Nederlandse vastgoeddata werken.