wozapidocs

Clients

Dunne wrappers rond hetzelfde endpoint, in drie talen. Broncode op github.com/WozApi/wozapi-clients, MIT-licentie.

Uitgangspunten

Alle drie de clients volgen dezelfde regels, zodat je bij het overstappen van taal niets opnieuw hoeft te leren:

TaalBestandPakketnaam (gereserveerd)
Python 3.9+python/wozapi
Node.js 18+node/wozapi
.NET 6+dotnet/WozApi.Client

Python

from wozapi import WozApi, WozApiError

client = WozApi("jouw-api-key")

try:
    adres = client.adres("Spuistraat 36C, 1012 TT Amsterdam")
    for woz in adres["woz"]:
        print(woz["peildatum"], woz["vastgesteldeWaarde"])
except WozApiError as fout:
    print(fout.status, fout.bericht)

Node.js

import { WozApi, WozApiError } from 'wozapi';

const client = new WozApi('jouw-api-key');

try {
  const adres = await client.adres('Spuistraat 36C, 1012 TT Amsterdam');
  for (const woz of adres.woz) {
    console.log(woz.peildatum, woz.vastgesteldeWaarde);
  }
} catch (fout) {
  if (fout instanceof WozApiError) console.error(fout.status, fout.bericht);
  else throw fout;
}

.NET

De client neemt een HttpClient mee in plaats van er zelf een te maken: een eigen HttpClient per instantie is de klassieke bron van socket-uitputting in langlopende processen. Gebruik in ASP.NET dus IHttpClientFactory.

using WozApi.Client;

var client = new WozApiClient(httpClient, "jouw-api-key");

try
{
    using var adres = await client.AdresAsync("Spuistraat 36C, 1012 TT Amsterdam");
    foreach (var woz in adres.RootElement.GetProperty("woz").EnumerateArray())
    {
        Console.WriteLine($"{woz.GetProperty("peildatum").GetString()}: " +
                          $"{woz.GetProperty("vastgesteldeWaarde").GetInt32()}");
    }
}
catch (WozApiException fout)
{
    Console.Error.WriteLine($"{fout.Status}: {fout.Bericht}");
}

Methoden

Dezelfde vier in elke taal, met de naamgevingsconventie van die taal.

EndpointPythonNode.js.NET
/Api/Adresadres()adres()AdresAsync()
/Api/Nummeraanduiding/{id}nummeraanduiding()nummeraanduiding()NummeraanduidingAsync()
/Api/AdresseerbaarObject/{id}adresseerbaar_object()adresseerbaarObject()AdresseerbaarObjectAsync()
/Api/Creditscredits()credits()CreditsAsync()

Elke methode neemt geometrie als optionele parameter om perceelgrenzen als GeoJSON mee te sturen. Standaard uit, want dat maakt de respons fors groter.

Liever geen code?

De Excel-wizard vult een bestand met adressen in één keer aan met WOZ-waarde, peildatum en oppervlakte per rij. Zonder account en zonder API-sleutel, tot 10.000 rijen per upload.