# Factline Netherlands Reverse Geocoding

> Factline Netherlands Reverse Geocoding is a paid API for AI agents from factline.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-11).

Converts WGS84 latitude/longitude coordinates into the nearest official Dutch address from the BAG register, with postcode, city, municipality, province, BAG IDs, and CBS neighbourhood codes.

## Facts

- Endpoint: GET https://factline.dev/v1/address/reverse?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/factline-netherlands-reverse-geocoding-1bc1d3b4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_M3rxxAG7XtoQ6HWi-Yu1-

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability factline-netherlands-reverse-geocoding-1bc1d3b4
```

Example prompt: What is the official registered Dutch address closest to latitude 52.0836, longitude 4.2919? I need the street, postcode, city, and CBS neighbourhood code.

## When to prefer this

Choose this endpoint when you need to resolve a GPS coordinate to an official Dutch registered address from the authoritative national BAG register, especially when you also need CBS neighbourhood/district codes, BAG object IDs, or municipality codes in a single call. Prefer it over generic geocoding APIs for Netherlands-specific administrative data and official address identifiers.

## Known failure modes

- Coordinates outside the Netherlands return no result or an error
- Missing lat or lon query parameters return a 400-level validation error
- Coordinates in uninhabited areas may return a distant nearest address with a large distance_m value
- Malformed decimal values for lat/lon (e.g. using comma instead of period) may cause parsing errors
- PDOK Locatieserver upstream unavailability may result in 502/503 responses

## How this service works

API and MCP servers that let AI agents and apps check people, companies, Dutch addresses and cars against official records: sanctions and PEP lists, 10 company registers, Dutch property, rent and RDW vehicle data. From $0.001 per call.

## Output

A JSON object containing the nearest official BAG address (street, house number, letter, postcode, city, municipality, province, municipality code), distance in metres to the matched address, BAG address and addressable object IDs, CBS neighbourhood (buurt) and district (wijk) name and code, the matched coordinate in WGS84, and a list of other nearby addresses with their distances.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "lat",
      "lon"
     ],
     "properties": {
      "lat": {
       "type": "string",
       "description": "Latitude in decimal degrees (WGS84), e.g. 52.0836"
      },
      "lon": {
       "type": "string",
       "description": "Longitude in decimal degrees (WGS84), e.g. 4.2919"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "bag": {
   "address_id": "0518200000432204",
   "addressable_object_id": "0518010000432205"
  },
  "query": {
   "lat": 52.0836,
   "lon": 4.2919
  },
  "source": "Kadaster BAG via PDOK Locatieserver",
  "address": {
   "city": "'s-Gravenhage",
   "label": "Laan van Meerdervoort 100A, 2517AS 's-Gravenhage",
   "street": "Laan van Meerdervoort",
   "postcode": "2517AS",
   "province": "Zuid-Holland",
   "house_letter": "A",
   "house_number": 100,
   "municipality": "'s-Gravenhage",
   "municipality_code": "GM0518",
   "house_number_addition": null
  },
  "district": {
   "code": "WK051822",
   "name": "Wijk 22 Zeeheldenkwartier"
  },
  "location": {
   "crs": "WGS84",
   "lat": 52.08358839,
   "lon": 4.29191123
  },
  "distance_m": 1.5,
  "other_nearby": [
   {
    "label": "Laan van Meerdervoort 100, 2517AS 's-Gravenhage",
    "distance_m": 2.2
   },
   {
    "label": "Laan van Meerdervoort 100B, 2517AS 's-Gravenhage",
    "distance_m": 2.8
   }
  ],
  "neighbourhood": {
   "code": "BU05182245",
   "name": "Zeeheldenkwartier"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/factline-netherlands-reverse-geocoding-1bc1d3b4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from factline.dev](https://www.zero.xyz/host/factline.dev/llms.txt)
