Properties
| Name | Type | Description |
|---|---|---|
| adres | stringnull | |
| bag | object | |
| wozObject | object | |
| kadastraleObjecten | arraynull | Een WOZ-object kan op meerdere percelen liggen, daarom een lijst. |
| percelen | arraynull | Actuele percelen bij dit adres, met oppervlakte uit de Kadastrale Kaart. |
| woz | arraynull | Alle bekende peildata, oplopend gesorteerd: het eerste element is de oudste waarde en het laatste de nieuwste. Wil je alleen de actuele waarde, gebruik dan HuidigeWaarde. |
| huidigeWaarde | object | |
| wozStatus | stringnull | Of er een WOZ-waarde is, en zo niet waarom. "gevonden": woz heeft waarden. "geen_woning": geen waarde, en volgens de BAG heeft het pand geen woonfunctie; alleen van woningen is de WOZ-waarde openbaar. |
| energielabel | object | |
| subsidietoets | object | |
| tegoed | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/woz-api-nl/json-schema/woz-api-nl-woz-api-response-schema.json",
"title": "WozApiResponse",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/woz-api-nl-openapi.json#/components/schemas/WozApiResponse",
"type": "object",
"properties": {
"adres": {
"type": [
"string",
"null"
]
},
"bag": {
"$ref": "#/$defs/BagInfo"
},
"wozObject": {
"$ref": "#/$defs/WozObjectInfo"
},
"kadastraleObjecten": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/KadastraalObjectInfo"
},
"description": "Een WOZ-object kan op meerdere percelen liggen, daarom een lijst."
},
"percelen": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/PerceelInfo"
},
"description": "Actuele percelen bij dit adres, met oppervlakte uit de Kadastrale Kaart."
},
"woz": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/WozWaarden"
},
"description": "Alle bekende peildata, oplopend gesorteerd: het eerste element is de oudste waarde en het\r\nlaatste de nieuwste. Wil je alleen de actuele waarde, gebruik dan HuidigeWaarde."
},
"huidigeWaarde": {
"$ref": "#/$defs/WozWaarden"
},
"wozStatus": {
"type": [
"string",
"null"
],
"description": "Of er een WOZ-waarde is, en zo niet waarom. \"gevonden\": woz heeft waarden. \"geen_woning\": geen\r\nwaarde, en volgens de BAG heeft het pand geen woonfunctie; alleen van woningen is de WOZ-waarde\r\nopenbaar. \"geen_waarde\": geen waarde, terwijl de BAG een woonfunctie noemt of het gebruiksdoel\r\nniet bekend is. Beide lege standen zijn een antwoord en geen storing: opnieuw proberen verandert\r\nniets. Een storing geeft altijd een foutstatus (502 of 503), nooit een 200 met een lege woz.",
"readOnly": true
},
"energielabel": {
"$ref": "#/$defs/EnergielabelInfo"
},
"subsidietoets": {
"$ref": "#/$defs/SubsidietoetsInfo"
},
"tegoed": {
"$ref": "#/$defs/TegoedInfo"
}
},
"additionalProperties": false,
"$defs": {
"AanvragenToetsInfo": {
"type": "object",
"properties": {
"moment": {
"type": [
"string",
"null"
],
"description": "\"vooraf\": aanvragen voordat het werk begint; begin pas na het besluit. Sommige regelingen vragen een getekende\r\nofferte bij de aanvraag, andere verbieden tekenen vooraf; zie tekst. \"achteraf\": eerst het werk, dan aanvragen met de\r\nfactuur. \"beide\": de regeling kent twee routes; welke geldt, staat in tekst. \"onbekend\": de regeling zegt het niet\r\nduidelijk; vraag het de gemeente voordat er een offerte getekend wordt."
},
"voor": {
"type": [
"string",
"null"
],
"description": "Een stap die voor het werk moet, ook als je achteraf aanvraagt, zoals een woningcode aanvragen; weg als die er niet is."
},
"na": {
"type": [
"string",
"null"
],
"description": "Een stap na het werk, zoals gereedmelden met de factuur; weg als die er niet is."
},
"tekst": {
"type": [
"string",
"null"
],
"description": "Wat dat in deze gemeente betekent, in gewone woorden; leeg bij onbekend."
},
"citaat": {
"type": [
"string",
"null"
],
"description": "De zin uit de regeling of van de pagina van de gemeente waar het op rust."
},
"bron": {
"type": [
"string",
"null"
],
"description": "Waar dat citaat staat."
},
"nagelezen": {
"type": [
"string",
"null"
],
"description": "Wanneer we dit nalazen (jjjj-mm-dd)."
}
},
"additionalProperties": false,
"description": "Wanneer je een regeling aanvraagt, met de zin uit de regeling of van de gemeente als bewijs."
},
"BagInfo": {
"type": "object",
"properties": {
"adresseerbaarobjectId": {
"type": [
"string",
"null"
]
},
"nummeraanduidingId": {
"type": [
"string",
"null"
]
},
"straatnaam": {
"type": [
"string",
"null"
]
},
"huisnummer": {
"type": "integer",
"format": "int32"
},
"postcode": {
"type": [
"string",
"null"
]
},
"woonplaatsnaam": {
"type": [
"string",
"null"
]
},
"bouwjaar": {
"type": [
"integer",
"null"
],
"description": "Oorspronkelijk bouwjaar van het pand, uit de BAG. Ligt het verblijfsobject in meer panden,\r\ndan het oudste. Leeg als de BAG geen verblijfsobject kent, zoals bij een ligplaats.",
"format": "int32"
},
"oppervlakte": {
"type": [
"integer",
"null"
],
"description": "Gebruiksoppervlakte van het verblijfsobject in m2, uit de BAG.",
"format": "int32"
},
"gebruiksdoelen": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Gebruiksdoelen van het verblijfsobject volgens de BAG, bijvoorbeeld \"woonfunctie\"."
},
"pandIds": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "BAG-identificaties van de panden waar het verblijfsobject in ligt."
}
},
"additionalProperties": false
},
"BedragToetsInfo": {
"type": "object",
"properties": {
"doelgroep": {
"type": [
"string",
"null"
]
},
"maxEuro": {
"type": [
"integer",
"null"
],
"description": "Het maximale bedrag in euro's; weg als de regeling het niet noemt.",
"format": "int32"
},
"percentage": {
"type": [
"integer",
"null"
],
"description": "Het percentage van de kosten; weg als de regeling het niet noemt.",
"format": "int32"
},
"voorwaarde": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"EnergielabelInfo": {
"type": "object",
"properties": {
"status": {
"type": [
"string",
"null"
],
"description": "\"gevonden\", \"geen_label\" (er is voor dit adres geen label geregistreerd) of \"niet_beschikbaar\"\r\n(het label kon nu niet worden opgehaald; probeer het later opnieuw)."
},
"klasse": {
"type": [
"string",
"null"
],
"description": "De labelklasse, van \"A++++\" tot en met \"G\"."
},
"registratiedatum": {
"type": [
"string",
"null"
],
"description": "Datum waarop het label is geregistreerd (jjjj-mm-dd)."
},
"geldigTot": {
"type": [
"string",
"null"
],
"description": "Datum tot wanneer het label geldig is (jjjj-mm-dd). Ligt die in het verleden, dan is het label verlopen."
},
"gebouwtype": {
"type": [
"string",
"null"
],
"description": "Het woningtype volgens het label, bijvoorbeeld een tussenwoning of een appartement."
},
"gebouwsubtype": {
"type": [
"string",
"null"
],
"description": "Bij een appartement: de ligging in het gebouw."
},
"vereenvoudigd": {
"type": [
"boolean",
"null"
],
"description": "True bij een vereenvoudigd energielabel, de methode van voor 2021."
},
"primaireFossieleEnergie": {
"type": [
"number",
"null"
],
"description": "Primair fossiel energiegebruik in kWh per m2 per jaar, de maat onder de labelklasse sinds 2021.",
"format": "double"
}
},
"additionalProperties": false,
"description": "Het geregistreerde energielabel van het adres, uit EP-Online van RVO. Alleen in de respons bij\r\n`?energielabel=true`. Kijk eerst naar WozApi.Models.ViewModels.EnergielabelInfo.Status: alleen bij \"gevonden\" zijn de\r\nandere velden gevuld."
},
"GemeenteInfo": {
"type": "object",
"properties": {
"code": {
"type": [
"string",
"null"
],
"description": "De CBS-code van de gemeente."
},
"naam": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"GrensToetsInfo": {
"type": "object",
"properties": {
"euro": {
"type": "integer",
"format": "int32"
},
"peildatum": {
"type": [
"string",
"null"
],
"description": "De peildatum waarop de grens geldt (jjjj-mm-dd); leeg als de regeling er geen noemt."
},
"wozWaarde": {
"type": [
"integer",
"null"
],
"description": "De WOZ-waarde van dit adres op die peildatum; leeg als die er niet is.",
"format": "int32"
},
"onderGrens": {
"type": [
"boolean",
"null"
],
"description": "Of de waarde onder of op de grens valt; leeg als er geen waarde is."
},
"telt": {
"type": "boolean",
"description": "Of deze grens voor iedereen geldt. Noemt een regeling twee grenzen, dan kiest de eigenaar vaak\r\neen van beide; een grens die alleen een hoger bedrag of een bijzondere groep betreft, telt niet."
}
},
"additionalProperties": false
},
"IsdeToetsInfo": {
"type": "object",
"properties": {
"regel": {
"type": [
"string",
"null"
]
},
"citaat": {
"type": [
"string",
"null"
],
"description": "De zin uit de regeling of van de pagina van de gemeente."
},
"bron": {
"type": [
"string",
"null"
],
"description": "Waar dat citaat staat."
}
},
"additionalProperties": false,
"description": "Hoe de ISDE en het bedrag van de regeling samengaan, met de zin uit de regeling."
},
"KadastraalObjectInfo": {
"type": "object",
"properties": {
"kadastraleGemeenteCode": {
"type": [
"string",
"null"
],
"description": "Code van de kadastrale gemeente, bijvoorbeeld \"ASD00\"."
},
"kadastraleSectie": {
"type": [
"string",
"null"
],
"description": "Sectieletter binnen de kadastrale gemeente, bijvoorbeeld \"K\"."
},
"kadastraalPerceelNummer": {
"type": [
"string",
"null"
],
"description": "Perceelnummer binnen de sectie."
},
"aanduiding": {
"type": [
"string",
"null"
],
"description": "De drie delen samengevoegd, bijvoorbeeld \"ASD00 K 1234\"."
}
},
"additionalProperties": false,
"description": "Kadastrale aanduiding van het perceel waarop het WOZ-object ligt."
},
"MaatregelenToetsInfo": {
"type": "object",
"properties": {
"betaalt": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "De maatregelen die de gemeente betaalt, voor deze woning: dak (ook zoldervloer), spouwmuur, gevel (binnen of buiten),\r\nvloer (ook bodem) en glas. Leeg: de regeling betaalt geen isolatie, zie tekst. Hangt het af van de WOZ-waarde, dan\r\nstaat hier wat geldt bij de waarde op de peildatum van de regeling."
},
"viaGemeente": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Wat de gemeente alleen betaalt via haar eigen bedrijf of route (een intermediair, een aanbesteed isolatiebedrijf); met\r\neen ander bedrijf krijgt de bewoner daarvoor alleen de ISDE. Weg als alles ook met een eigen bedrijf kan."
},
"tekst": {
"type": [
"string",
"null"
],
"description": "Wat dat betekent, in gewone woorden, met de voorwaarde die ertoe doet."
},
"citaat": {
"type": [
"string",
"null"
],
"description": "De zin uit de regeling of van de pagina van de gemeente waar het op rust."
},
"bron": {
"type": [
"string",
"null"
],
"description": "Waar dat citaat staat."
}
},
"additionalProperties": false,
"description": "Welke isolatie een regeling betaalt, met de zin uit de regeling of van de gemeente als bewijs."
},
"PerceelInfo": {
"type": "object",
"properties": {
"aanduiding": {
"type": [
"string",
"null"
],
"description": "Kadastrale aanduiding, bijvoorbeeld \"ASD04 F 1145\"."
},
"kadastraleGemeenteCode": {
"type": [
"string",
"null"
],
"description": "AKR-code van de kadastrale gemeente, bijvoorbeeld \"ASD04\"."
},
"kadastraleGemeente": {
"type": [
"string",
"null"
],
"description": "Naam van de kadastrale gemeente, bijvoorbeeld \"Amsterdam\"."
},
"kadastraleSectie": {
"type": [
"string",
"null"
]
},
"perceelnummer": {
"type": "integer",
"format": "int32"
},
"oppervlakteM2": {
"type": [
"integer",
"null"
],
"description": "Kadastrale grootte van het perceel in m2.",
"format": "int32"
},
"soortGrootte": {
"type": [
"string",
"null"
],
"description": "\"Vastgesteld\" of \"Voorlopig\", zoals het Kadaster de grootte kwalificeert."
},
"perceelId": {
"type": [
"string",
"null"
],
"description": "Lokale identificatie van het kadastrale object binnen NL.IMKAD.KadastraalObject."
},
"geometrie": {
"description": "Perceelgrens als GeoJSON-geometrie in WGS84 (EPSG:4326).\r\nAlleen gevuld bij `?geometrie=true`, omdat het de respons flink groter maakt.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Perceel uit de open Kadastrale Kaart, gekoppeld aan dit adres via de BAG.\r\nDit is de actuele perceelsituatie en kan afwijken van WozApi.Models.ViewModels.WozApiResponse.KadastraleObjecten,\r\ndat de aanduiding geeft waar de WOZ-registratie aan hangt."
},
"RegelingToetsInfo": {
"type": "object",
"properties": {
"naam": {
"type": [
"string",
"null"
]
},
"hoofd": {
"type": "boolean",
"description": "De belangrijkste regeling van de gemeente; precies een per gemeente."
},
"soort": {
"type": [
"string",
"null"
],
"description": "\"open\"; \"uitnodiging\" (alleen wie een brief kreeg, of alleen in aangewezen wijken); \"budget_op\";\r\n\"gesloten\"; \"vve\" (alleen voor VvE's); \"hoger_bedrag\" (de grens bepaalt alleen een hoger bedrag)."
},
"uitkomst": {
"type": [
"string",
"null"
],
"description": "\"onder_grens\": de WOZ-waarde valt onder (of op) een grens die voor iedereen geldt. \"boven_grens\":\r\nerboven. \"peildatum_ontbreekt\": er is geen WOZ-waarde op de peildatum van de regeling.\r\n\"geen_waarde\": er is voor dit adres geen WOZ-waarde. \"geen_harde_grens\": de grens sluit niemand\r\nuit en bepaalt alleen een bedrag of een andere eis; zie toelichting. \"grens_onbekend\": de regeling\r\nnoemt een grens zonder bedrag, zoals het gemiddelde van de gemeente; zie de regeling.\r\n\"buiten_gebied\": de regeling geldt in een wijk of een paar postcodes, en dit adres ligt erbuiten."
},
"toelichting": {
"type": [
"string",
"null"
],
"description": "Een zin die de uitkomst uitlegt, met grens, peildatum en waarde."
},
"grenzen": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/GrensToetsInfo"
},
"description": "De grenzen van de regeling, elk met de WOZ-waarde op zijn peildatum."
},
"voorwaarden": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/VoorwaardeToetsInfo"
},
"description": "Voorwaarden die de toets zelf kon nagaan, zoals bouwjaar en energielabel."
},
"nogNaTeGaan": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Voorwaarden die per adres niet te toetsen zijn en die de aanvrager zelf nagaat."
},
"bedrag": {
"type": [
"string",
"null"
],
"description": "Het bedrag voor de bewoner, kort."
},
"bedragen": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/BedragToetsInfo"
},
"description": "Het bedrag per doelgroep (iedereen, laag inkomen, doe-het-zelf), zoals de regeling ze\r\nonderscheidt; leeg als de regeling geen bedrag noemt. Welke doelgroep geldt, hangt vaak af van\r\nhet inkomen: dat staat dan in WozApi.Models.ViewModels.BedragToetsInfo.Voorwaarde en onder nogNaTeGaan."
},
"gebied": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "De postcodes waar de regeling geldt, bij een regeling voor een wijk; weg als hij voor de hele gemeente geldt."
},
"gewijzigd": {
"type": [
"string",
"null"
],
"description": "De laatste dag waarop grens, bedrag of status van deze regeling veranderde, als we dat bijhouden."
},
"status": {
"type": [
"string",
"null"
],
"description": "Open, Gesloten, Budget op of Op uitnodiging."
},
"looptijd": {
"type": [
"string",
"null"
],
"description": "Tot wanneer en zolang er budget is, zoals de gemeente het zegt."
},
"bron": {
"type": [
"string",
"null"
],
"description": "De pagina van de gemeente over de regeling."
},
"regelingUrl": {
"type": [
"string",
"null"
],
"description": "De officiele tekst van de regeling, als die er is."
},
"nagelezen": {
"type": [
"string",
"null"
]
},
"aanvragen": {
"$ref": "#/$defs/AanvragenToetsInfo"
},
"maatregelen": {
"$ref": "#/$defs/MaatregelenToetsInfo"
},
"isde": {
"$ref": "#/$defs/IsdeToetsInfo"
}
},
"additionalProperties": false,
"description": "Een regeling met een WOZ-grens, getoetst aan de WOZ-waarde op de peildatum van die regeling."
},
"SubsidietoetsInfo": {
"type": "object",
"properties": {
"status": {
"type": [
"string",
"null"
],
"description": "\"getoetst\": de gemeente heeft een of meer regelingen met een WOZ-grens, en die staan in\r\nregelingen. \"geen_regeling\": nagelezen, en de gemeente heeft nu geen regeling met een WOZ-grens.\r\n\"niet_beschikbaar\": de gemeente van dit adres kon nu niet worden bepaald; probeer het later opnieuw."
},
"gemeente": {
"$ref": "#/$defs/GemeenteInfo"
},
"nagelezen": {
"type": [
"string",
"null"
],
"description": "Wanneer we de regelingen van deze gemeente voor het laatst nalazen (jjjj-mm-dd)."
},
"toelichting": {
"type": [
"string",
"null"
],
"description": "Een zin over wat we bij deze gemeente vonden, of waarom de toets niet beschikbaar is."
},
"regelingen": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/RegelingToetsInfo"
},
"description": "De regelingen met een WOZ-grens, de belangrijkste eerst; leeg als er geen zijn."
}
},
"additionalProperties": false,
"description": "Alleen bij `?subsidietoets=true`: de toets van deze woning aan de gemeentelijke regelingen met\r\neen WOZ-grens, zoals een isolatiesubsidie. Kijk eerst naar WozApi.Models.ViewModels.SubsidietoetsInfo.Status. Elke gemeente is\r\nnagelezen; de datum staat in WozApi.Models.ViewModels.SubsidietoetsInfo.Nagelezen. Wat de toets niet per adres kan weten (een\r\ninkomen, eigenaar en bewoner, een energieadvies) staat per regeling onder nogNaTeGaan."
},
"TegoedInfo": {
"type": "object",
"properties": {
"soort": {
"type": [
"string",
"null"
],
"description": "\"proef\" zolang de sleutel aan geen account hangt, \"credits\" als hij van een account is."
},
"limiet": {
"type": [
"integer",
"null"
],
"description": "Unieke adressen die deze proef in totaal mag; leeg bij credits.",
"format": "int32"
},
"gebruikt": {
"type": [
"integer",
"null"
],
"description": "Unieke adressen die al gebruikt zijn; leeg bij credits.",
"format": "int32"
},
"resterend": {
"type": "integer",
"description": "Wat er nog kan: adressen in de proef, of credits op het account.",
"format": "int32"
},
"verlooptOp": {
"type": [
"string",
"null"
],
"description": "Wanneer een proefsleutel zonder account vervalt.",
"format": "date-time"
}
},
"additionalProperties": false,
"description": "Het tegoed van een proefsleutel of van een account dat een AI-assistent aanmaakte."
},
"VoorwaardeToetsInfo": {
"type": "object",
"properties": {
"tekst": {
"type": [
"string",
"null"
]
},
"waarde": {
"type": [
"string",
"null"
],
"description": "Wat deze woning heeft."
},
"voldoet": {
"type": "boolean"
}
},
"additionalProperties": false
},
"WozObjectInfo": {
"type": "object",
"properties": {
"wozobjectnummer": {
"type": [
"integer",
"null"
],
"description": "Uniek nummer van het WOZ-object in de LV-WOZ.",
"format": "int64"
},
"grondoppervlakte": {
"type": [
"integer",
"null"
],
"description": "Oppervlakte van de grond in m2, indien bekend.",
"format": "int32"
}
},
"additionalProperties": false,
"description": "Het WOZ-object zelf, los van de vastgestelde waarden per peildatum."
},
"WozWaarden": {
"type": "object",
"properties": {
"peildatum": {
"type": [
"string",
"null"
]
},
"vastgesteldeWaarde": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/woz-api-nl-woz-api-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.