PandInfo.nl

Aanmelden voor de API is nog niet open. Wil je hem gebruiken? Mail klantenservice@pandinfo.nl, dan laten we het je weten zodra je kunt beginnen.

Voorbeelden

curl -H "Authorization: Bearer $PANDINFO_SLEUTEL" \
  "https://pandinfo.nl/api/v1/adres?adres=Museumstraat+1,+Amsterdam&onderdelen=samenvatting,waarde"
import os
import requests

antwoord = requests.get(
    "https://pandinfo.nl/api/v1/adres",
    params={"adres": "Museumstraat 1, Amsterdam", "onderdelen": "samenvatting,waarde"},
    headers={"Authorization": f"Bearer {os.environ['PANDINFO_SLEUTEL']}"},
    timeout=30,
)
if antwoord.status_code in (429, 503):
    wacht = int(antwoord.headers.get("Retry-After", "5"))
    # probeer het na `wacht` seconden opnieuw
antwoord.raise_for_status()
gegevens = antwoord.json()
for licht in gegevens["onderdelen"]["samenvatting"]["stoplicht"]:
    print(licht["thema"], licht["status"], licht["tekst"])
// Alleen op je server: de sleutel hoort nooit in de browser.
const url = new URL("https://pandinfo.nl/api/v1/adres");
url.searchParams.set("adres", "Museumstraat 1, Amsterdam");
url.searchParams.set("onderdelen", "samenvatting,waarde");

const antwoord = await fetch(url, {
  headers: { Authorization: `Bearer ${process.env.PANDINFO_SLEUTEL}` },
  signal: AbortSignal.timeout(30000),
});
const gegevens = await antwoord.json();
if (!antwoord.ok) throw new Error(gegevens.fout.melding);
console.log(gegevens.onderdelen.waarde.waarde.verkoop);
<?php
$url = "https://pandinfo.nl/api/v1/adres?" . http_build_query([
    "adres" => "Museumstraat 1, Amsterdam",
    "onderdelen" => "samenvatting,waarde",
]);
$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("PANDINFO_SLEUTEL")],
]);
$gegevens = json_decode(curl_exec($ch), true);

Een stoplicht op je woningpagina

const kleuren = { groen: "#2e7d32", oranje: "#e08600", rood: "#c62828", onbekend: "#b8bec8" };
const html = gegevens.onderdelen.samenvatting.stoplicht
  .map(l => `<li><span style="color:${kleuren[l.status]}">●</span> <b>${l.thema}</b>: ${l.tekst}</li>`)
  .join("");