# AstraNL Dutch Vehicle Registration Check

> AstraNL Dutch Vehicle Registration Check is a paid API for AI agents from verify.astranl.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-12).

Looks up a Dutch licence plate in open registers and returns vehicle facts plus flags such as insurance status and APK (MOT) expiry

## Facts

- Endpoint: GET https://verify.astranl.com/v1/nl-vehicle-check?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/astranl-dutch-vehicle-registration-check-fbae12a9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_gSrSVwiBDa0Bbpvdod2o-

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 astranl-dutch-vehicle-registration-check-fbae12a9
```

Example prompt: Can you check the Dutch licence plate H-123-DD for me — I want to know if it's WAM-insured, when the APK expires, and whether it has any flags in the open register?

## When to prefer this

Choose this endpoint when you need to verify the status of a Dutch-registered vehicle by kenteken (licence plate) and require a cryptographically signed, tamper-proof receipt alongside the result. It is specifically suited for Netherlands WAM insurance checks, APK (MOT) expiry lookups, and open-register flag checks. Prefer it over generic web scraping when you need structured, verifiable data with an audit trail, and when per-call micropayment via x402/USDC is acceptable.

## Known failure modes

- Plate not found in register — found: false returned with no facts
- Invalid kenteken format (not 6 alphanumeric characters) — request rejected or empty result
- Payment failure via x402 — 402 Payment Required with no data returned
- Rate limiting or upstream register unavailability — 5xx error
- Plate exists but register data is incomplete — some fact fields may be absent

## How this service works

The Crossing moves look, claim, release, mark and check are free and need no account. The other paths are paid per call over x402, USDC on Base. Operator AstraNL, KvK 88449335.

## Output

A JSON object containing: the kenteken queried, a facts object with fields such as merk (make), handelsbenaming (trade name), wam_verzekerd (WAM insurance status), and vervaldatum_apk (APK expiry date); a flags array listing any issues found in open registers; a boolean found indicating whether the plate was located; a status string such as NO_FLAGS_IN_OPEN_REGISTER; and a cryptographically signed receipt containing a result SHA-256 hash, a base64 signature, and the signer's public key for tamper-proof verification.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "kenteken"
     ],
     "properties": {
      "kenteken": {
       "type": "string",
       "description": "Dutch licence plate, 6 characters, dashes optional"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "vehicle",
  "result": {
   "facts": {
    "merk": "PEUGEOT",
    "wam_verzekerd": "Ja",
    "handelsbenaming": "108",
    "vervaldatum_apk": "20271231"
   },
   "flags": [],
   "found": true,
   "status": "NO_FLAGS_IN_OPEN_REGISTER",
   "kenteken": "H123DD"
  },
  "receipt": {
   "signature": "base64",
   "result_sha256": "hex",
   "signer_pubkey": "base64"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/astranl-dutch-vehicle-registration-check-fbae12a9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from verify.astranl.com](https://www.zero.xyz/host/verify.astranl.com/llms.txt)
