Start gratis met 200 credits - geen creditcard nodig
Terug naar blog Gids

Postcode en huisnummer in Excel met ApiCheck (inclusief coördinaten)

Verrijk eenvoudig je Excel-bestand met coördinaten (lat/lon) op basis van postcode en huisnummer via de ApiCheck API en Node.js-script.

Mark 23 januari 2023 2 min leestijd
Postcode en huisnummer in Excel met ApiCheck (inclusief coördinaten)

Heb je een Excel-bestand met postcodes en huisnummers en wil je hier GPS-coördinaten aan toevoegen? Met een eenvoudig Node.js-script en de ApiCheck API doe je dat volledig automatisch.

Wat heb je nodig?

  • Node.js geïnstalleerd op je computer
  • Een ApiCheck API-sleutel (gratis account aanmaken)
  • Je Excel-bestand opgeslagen als CSV

CSV voorbereiden

Sla je Excel-bestand op als CSV (gescheiden door lijstscheidingstekens). Zorg dat de kolommen de volgende namen hebben:

Kolomnaam Beschrijving
Postcode Nederlandse postcode (bijv. 1092CX)
Huisnummer Huisnummer (bijv. 12)
Toevoeging Optioneel: toevoeging (bijv. A)

Installeer de dependencies

mkdir adres-verrijker && cd adres-verrijker
npm init -y
npm install fast-csv request

Het script: index.js

const fs = require('fs');
const csv = require('fast-csv');
const request = require('request');

const API_KEY = 'JOUW_API_KEY_HIER';
const INPUT_FILE = 'adressen.csv';
const OUTPUT_FILE = 'adressen_met_coordinaten.csv';

const rows = [];

fs.createReadStream(INPUT_FILE)
  .pipe(csv.parse({ headers: true }))
  .on('data', row => rows.push(row))
  .on('end', () => processRows(rows));

async function processRows(rows) {
  const results = [];

  for (const row of rows) {
    const { Postcode, Huisnummer, Toevoeging } = row;

    const url = `https://api.apicheck.nl/lookup/v1/address/nl` +
      `?postalcode=${Postcode}&number=${Huisnummer}` +
      `${Toevoeging ? `&numberAddition=${Toevoeging}` : ''}`;

    const data = await fetchAddress(url, API_KEY);

    results.push({
      ...row,
      Straat: data?.street || '',
      Stad: data?.city || '',
      Latitude: data?.location?.coordinates?.latitude || '',
      Longitude: data?.location?.coordinates?.longitude || '',
    });

    // Korte pauze om rate limiting te voorkomen
    await new Promise(resolve => setTimeout(resolve, 50));
  }

  csv.writeToPath(OUTPUT_FILE, results, { headers: true })
    .on('finish', () => console.log(`Klaar! Resultaten opgeslagen in ${OUTPUT_FILE}`));
}

function fetchAddress(url, apiKey) {
  return new Promise((resolve) => {
    request({ url, headers: { 'X-api-key': apiKey }, json: true },
      (err, res, body) => resolve(err ? null : body)
    );
  });
}

Script uitvoeren

node index.js

Het script verwerkt alle rijen en schrijft een nieuw CSV-bestand met de extra kolommen Straat, Stad, Latitude en Longitude.

Resultaat openen in Excel

Open het output CSV-bestand in Excel. Je hebt nu voor elk adres de GPS-coördinaten (WGS 84) beschikbaar — direct te gebruiken voor kaartvisualisatie, routeplanning of geografische analyses.

Werken met grote bestanden

Verwerk je duizenden adressen? Vergroot dan de pauze tussen aanroepen (setTimeout) of gebruik een API-sleutel met hogere rate limits. Neem contact op via support@apicheck.nl voor enterprise-opties.