Slim zoeken
Eén invoerveld dat probeert te herkennen wat je intypt: postcode, adres of coördinaten.
Nog geen response.
Test hieronder alle belangrijke endpoints direct via de browser. Deze demo laat niet alleen de JSON-response zien, maar ook hoe de API in echte toepassingen gebruikt kan worden: slimme zoekvelden, kaartweergave, bulk-opvragingen en codevoorbeelden.
Alle belangrijke flows van PostcodeConnect in één overzicht.
Eén invoerveld dat probeert te herkennen wat je intypt: postcode, adres of coördinaten.
Nog geen response.
Zoek een exact adres op basis van postcode + huisnummer, of vraag alle adressen binnen één postcode op.
Nog geen response.
Typ een straat en huisnummer zoals een eindgebruiker dat zou doen. De demo zoekt eerst straten, laadt daarna huisnummers en vult vervolgens postcode en plaats automatisch aan.
Nog geen response.
Vraag beschikbare huisnummers op voor een specifieke straat en plaats.
Nog geen response.
Zoek een exact adres op via straatnaam, woonplaats en huisnummernotatie.
Nog geen response.
Reverse geocoding: geef latitude en longitude mee en ontvang het dichtstbijzijnde adres.
Nog geen response.
Haal adressen op uit een woonplaats en filter optioneel op buurt. Je ontvangt alle adressen van de opgegeven woonplaats.
Nog geen response.
Zoek beschikbare woonplaatsen op met optionele zoekterm en paginatie.
Nog geen response.
Vraag buurten en wijken op binnen een woonplaats, inclusief polygonen op kaart.
geometry_wkt worden direct op de kaart gezet.Nog geen response.
Maak een benaderde polygon van alle adrespunten binnen een volledige postcode of viercijferig postcodegebied en projecteer die direct op de kaart.
Nog geen response.
Teken een polygon of rechthoek van maximaal 5 x 5 km op de kaart en zoek adressen binnen het geselecteerde gebied. De huidige resultaten kun je direct als CSV exporteren in de browser.
Nog geen response.
Stel handmatig een request samen en voer deze direct uit via de proxy.
Nog geen response.
Laat zien hoe bulk-opvraging en eenvoudige export eruitzien voor zakelijke use-cases.
Nog geen response.
Roep de API aan via je eigen api-proxy.php op je eigen server.
Zo blijft de API-key buiten de browser en kan je zelf extra beveiliging toevoegen, zoals rate limiting,
IP-restricties, origin-checks of logging.
action en queryparameters door naar https://api.postcodeconnect.nl,
voegt de Authorization: Bearer header server-side toe en retourneert daarna de upstream response. Je kan dit
bestand op je eigen hosting plaatsen en naar wens uitbreiden of vergrendelen.
<?php
declare(strict_types=1);
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Headers: Content-Type, X-Requested-With');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Cache-Control: no-store');
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
http_response_code(204);
exit;
}
// Het adres van de API
$BASE_API = 'https://api.postcodeconnect.nl';
$API_KEY = ''; // Vul hier je API-Key in
// -----------------------------
// action verplicht
// -----------------------------
$action = $_GET['action'] ?? '';
if ($action === '') {
http_response_code(400);
echo json_encode(['ok'=>false,'error'=>'missing_action']);
exit;
}
// -----------------------------
// Querystring opnieuw bouwen
// -----------------------------
$params = $_GET;
unset($params['action']);
$queryString = http_build_query($params);
// Upstream URL bouwen
$upstreamUrl = rtrim($BASE_API, '/') . '/' . $action;
if ($queryString !== '') {
$upstreamUrl .= '?' . $queryString;
}
// -----------------------------
// cURL
// -----------------------------
$ch = curl_init($upstreamUrl);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Accept: application/json',
"Authorization: Bearer {$API_KEY}",
'X-Forwarded-For: ' . ($_SERVER['REMOTE_ADDR'] ?? '0.0.0.0'),
],
CURLOPT_TIMEOUT => 15,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
]);
$response = curl_exec($ch);
$status = (int)curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
$error = curl_error($ch);
curl_close($ch);
if ($response === false || $status === 0) {
http_response_code(502);
echo json_encode([
'ok'=>false,
'error'=>'upstream_failed',
'detail'=>$error ?: 'timeout'
]);
exit;
}
http_response_code($status);
echo $response;
Laat direct zien hoe een integratie eruitziet in JavaScript, PHP of cURL.