Guides · API

Bulk Dutch address enrichment API

Bulk enrichment of up to 10 Netherlands addresses per call (0.0015 USDC per address): official BAG address and coordinates, CBS neighbourhood, liveability percentile, crime per 1,000 residents vs national, postcode average home value, and optionally the registered energy label. Unfound addresses are flagged, not charged extra. For daily real estate, relocation, CRM and lead-enrichment pipelines.

0.015 USDC per call · GET /v1/batch/addresses · free preview at /v1/batch/addresses/preview

Parameters

NameRequiredDescription
addressesyes1 to 10 Dutch addresses separated by ';', each 'postcode house_number' or free text, e.g. '3511LX 1; 2517AS 100'
includenoOptional: 'energy_label' adds the registered energy label per address

Example request

curl "https://factline.dev/v1/batch/addresses?addresses=3511LX+1%3B+2517AS+100"
# 402 Payment Required: pay with an x402 client (USDC on Base), or send
# Authorization: Bearer <your Factline API key>

Example response

{
  "count": 2,
  "found": 2,
  "results": [
    {
      "input": "3511LX 1",
      "ok": true,
      "address": {
        "label": "Visschersplein 1, 3511LX Utrecht",
        "postcode": "3511LX",
        "house_number": 1,
        "city": "Utrecht",
        "municipality": "Utrecht",
        "province": "Utrecht",
        "lat": 52.08962098,
        "lon": 5.11909785,
        "bag_object_id": "0344010000001876"
      },
      "neighbourhood": {
        "code": "BU03440612",
        "name": "Lange Elisabethstraat, Mariaplaats en omgeving",
        "residents": 1790
      },
      "liveability": {
        "year": 2024,
        "percentile": 89,
        "physical": 23,
        "nuisance_safety": 3,
        "social": 8,
        "amenities": 99
      },
      "crime": {
        "year": 2025,
        "per_1000_residents": 539.7,
        "national_per_1000_residents": 44.8,
        "vs_national": 12.05
      },
      "postcode_avg_home_value": {
        "year": 2023,
        "value": 537000
      }
    },
    {
      "input": "2517AS 100",
      "ok": true,
      "address": {
        "label": "Laan van Meerdervoort 100, 2517AS 's-Gravenhage",
        "postcode": "2517AS",
        "house_number": 100,
        "city": "'s-Gravenhage",
        "municipality": "'s-Gravenhage",
        "province": "Zuid-Holland",
        "lat": 52.08359668,
        "lon": 4.29193161,
        "bag_object_id": "0518010001775699"
      },
      "neighbourhood": {
        "code": "BU05182245",
        "name": "Zeeheldenkwartier",
        "residents": 12920
      },
      "liveability": {
        "year": 2024,
        "percentile": 91,
        "physical": 32,
        "nuisance_safety": 8,
        "social": 2,
        "amenities": 99
      },
      "crime": {
        "year": 2025,
        "per_1000_residents": 62,
        "national_per_1000_residents": 44.8,
        "vs_national": 1.38
      },
      "postcode_avg_home_value": {
        "year": 2023,
        "value": 513000
      }
    }
  ],
  "explain": {
    "liveability": "Leefbaarometer percentile vs all Dutch areas (higher is better).",
    "crime": "Police-registered crime per 1,000 residents in the CBS neighbourhood; busy centres score high because visitors are not residents.",
    "postcode_avg_home_value": "Average WOZ value of homes in the 4-digit postcode area, CBS."
  },
  "source": "Kadaster BAG (PDOK), CBS, Politie, Leefbaaro
  ...

Use it from an AI agent

Agents with an x402 wallet call the URL directly and pay per request. Assistants that speak MCP connect to https://factline.dev/mcp. Full reference: docs, OpenAPI, llms.txt. Businesses: API keys with a free trial.

Questions

How much does the Bulk Dutch address enrichment cost?

0.015 USDC per call, paid per request with x402 (no account), or included in a Factline API key plan with a free trial. Calls that fail are not charged.

Can I try it for free?

Yes: GET /v1/batch/addresses/preview with the same parameters validates your input and shows what the paid answer contains, at no cost.

Where does the data come from?

Official public registers and open data, named with their licence in every response (source field) and at /.well-known/x402-license-provenance.

Related checks

Dutch address report API · Compare Dutch addresses API · Dutch neighbourhood statistics API · Dutch address verification API · Reverse geocoding API for the Netherlands · Dutch energy label API