Referentie

API-referentie

Alle endpoints op één pagina, plus de OpenAPI-beschrijving. Zoek je uitleg met voorbeelden per taal, ga dan naar de documentatie.

openapi.yaml downloaden

OpenAPI-beschrijving

openapi.yaml versie 1.0.0 37 kB 7 paden

Genereer er een client mee, importeer hem in Postman of Insomnia, of laat je editor er typedefinities uit maken. Het bestand staat op https://locatieapi.nl/docs/openapi.yaml.

/v3/lookup/{postcode}/{number}
/v1/addresses
/v1/postcodes/{postcode}
/v1/autocomplete
/v1/reverse
/v1/bulk/lookup
/v1/validate
Ophalen
curl -sS https://locatieapi.nl/docs/openapi.yaml -o openapi.yaml

Basis

Onderdeel Waarde
Basis-URL live https://api.locatieapi.nl
Basis-URL sandbox https://sandbox.locatieapi.nl
Terugval op pad https://locatieapi.nl/api
Authenticatie X-Api-Key
Formaat application/json
Fouten in v3 application/problem+json

Endpoints

GET /v3/lookup/{postcode}/{number}

Eén adres op postcode en huisnummer. Response-compatibel met een bestaande postcode-API, zodat alleen de basis-URL wijzigt.

Parameter Type Verplicht Omschrijving
postcode string ja P6 zonder spatie, hoofdletters of kleine letters. Patroon ^[0-9]{4}[a-zA-Z]{2}$.
number integer ja Huisnummer als geheel getal. Een toevoeging in het pad geeft 400, geen 404.
200 application/json
{
  "postcode": "1021JT",
  "number": 19,
  "street": "Hamerstraat",
  "city": "Amsterdam",
  "municipality": "Amsterdam",
  "province": "Noord-Holland",
  "location": {
    "type": "Point",
    "coordinates": [4.92204151, 52.38488658]
  }
}

Uitleg met codevoorbeelden

GET /v1/addresses

Alle treffers op een postcode en huisnummer, inclusief letters en toevoegingen.

Parameter Type Verplicht Omschrijving
postcode string ja P6 zonder spatie.
number integer nee Huisnummer. Zonder nummer krijg je de hele postcode terug.
letter string nee Huisletter, één teken.
addition string nee Huisnummertoevoeging.
200 application/json
{
  "data": [
    {
      "id": "0363200012101386",
      "postcode": "1021JT",
      "number": 19,
      "letter": null,
      "addition": null,
      "street": "Hamerstraat",
      "city": "Amsterdam",
      "municipality": "Amsterdam",
      "province": "Noord-Holland",
      "location": { "type": "Point", "coordinates": [4.92204151, 52.38488658] },
      "purposes": ["woonfunctie"],
      "surface": 98,
      "constructionYear": 1930,
      "type": "verblijfsobject"
    }
  ]
}

Uitleg met codevoorbeelden

GET /v1/postcodes/{postcode}

Samenvatting per P6: straat, plaats, gemeente, provincie, zwaartepunt en aantal adressen.

Parameter Type Verplicht Omschrijving
postcode string ja P6 zonder spatie.
200 application/json
{
  "postcode": "1021JT",
  "street": "Hamerstraat",
  "city": "Amsterdam",
  "municipality": "Amsterdam",
  "province": "Noord-Holland",
  "location": { "type": "Point", "coordinates": [4.92204151, 52.38488658] },
  "addressCount": 64,
  "numberMin": 1,
  "numberMax": 121
}

Uitleg met codevoorbeelden

GET /v1/autocomplete

Type-ahead op adres, straat of plaats. Bedoeld voor een checkout of zoekveld.

Parameter Type Verplicht Omschrijving
q string ja Zoekterm, minimaal twee tekens.
type string nee address, street of city. Standaard address.
limit integer nee Aantal suggesties, 1 tot 25. Standaard 10.
200 application/json
{
  "data": [
    {
      "label": "Hamerstraat 19, 1021 JT Amsterdam",
      "type": "address",
      "postcode": "1021JT",
      "number": 19,
      "street": "Hamerstraat",
      "city": "Amsterdam"
    }
  ]
}

Uitleg met codevoorbeelden

POST /v1/bulk/lookup

Maximaal 1.000 combinaties in één verzoek. Elke regel telt als één call.

Parameter Type Verplicht Omschrijving
addresses array ja Lijst van objecten met postcode en number.
200 application/json
{
  "data": [
    {
      "postcode": "1021JT",
      "number": 19,
      "status": 200,
      "address": {
        "street": "Hamerstraat",
        "city": "Amsterdam",
        "municipality": "Amsterdam",
        "province": "Noord-Holland",
        "location": { "type": "Point", "coordinates": [4.92204151, 52.38488658] }
      }
    },
    {
      "postcode": "6545CA",
      "number": 299,
      "status": 404,
      "address": null
    }
  ]
}

Uitleg met codevoorbeelden

POST /v1/validate

Controleert een ingevoerd adres en geeft een correctievoorstel terug.

Parameter Type Verplicht Omschrijving
postcode string ja Postcode zoals ingevoerd, met of zonder spatie.
number string ja Huisnummer zoals ingevoerd, toevoeging mag erin staan.
street string nee Straatnaam zoals ingevoerd, voor de vergelijking.
city string nee Plaats zoals ingevoerd, voor de vergelijking.
200 application/json
{
  "valid": false,
  "reason": "street_mismatch",
  "suggestion": {
    "postcode": "1021JT",
    "number": 19,
    "letter": null,
    "addition": null,
    "street": "Hamerstraat",
    "city": "Amsterdam"
  }
}

Uitleg met codevoorbeelden

GET /v1/reverse

De dichtstbijzijnde adressen bij een coördinaat, met afstand in meters.

Parameter Type Verplicht Omschrijving
lat number ja Breedtegraad in WGS84.
lon number ja Lengtegraad in WGS84.
radius integer nee Zoekstraal in meters, 1 tot 1.000. Standaard 100.
200 application/json
{
  "data": [
    {
      "distance": 12,
      "postcode": "1021JT",
      "number": 19,
      "street": "Hamerstraat",
      "city": "Amsterdam",
      "location": { "type": "Point", "coordinates": [4.92204151, 52.38488658] }
    }
  ]
}

Uitleg met codevoorbeelden

Foutcodes

Status Titel Body
400 Request validation failed {"title":"Request validation failed","invalidParams":[{"name":"number","reason":"should be integer"}]}
401 Invalid API key {"title":"Invalid API key"}
404 Resource not found {"title":"Resource not found"}
429 Rate limit exceeded {"title":"Rate limit exceeded"}

Responseheaders

Header Betekenis
X-RateLimit-Limit Het aantal calls per seconde dat bij je plan hoort.
X-RateLimit-Remaining Wat er in het huidige venster van dat aantal over is.
X-RateLimit-Reset Aantal seconden tot het venster opnieuw begint.
X-Quota-Limit De maandbundel van je plan in aantal calls.
X-Quota-Remaining Wat er van die bundel over is in de lopende factuurperiode.
X-Quota-Reset Unix-tijdstip waarop de volgende factuurperiode begint.
X-Request-Id Uniek nummer per verzoek. Noem dit bij een supportvraag.
Cache-Control Bij een 200: public, max-age=86400. Adressen veranderen zelden.