Now cross-verifying against the Dutch BAG registry

Stop shipping to addresses that don't exist.

One API call returns a clear verdict on any address — valid, correctable, or invalid — with a confidence score and the standardized result. No more guessing at raw geocoder output.

No credit card. 1,000 checks every month, free forever.

POST /v1/validate live demo
Waiting
confidence
Standardized
Waiting for an address
Type above or pick an example.
idle
Valid

One verdict, not raw geocoder output

Your team gets a single decision they can act on — plus a 0–100 score to tune how strict you want to be. No parsing five different response shapes.

Correctable

Multi-provider routing, authoritative sources

Every request is routed across multiple geocoders and cross-verified against official registries — including BAG for the Netherlands — so a typo becomes a fix, not a failure.

Invalid

Autocomplete and validation in one API

Catch bad addresses at the keystroke, then confirm them at submit. One integration, one bill, one set of credits — instead of two vendors.

Three moving parts. One of them is yours.

STEP 01

Send an address

Free-form string or structured fields, from checkout, signup, or a CRM backfill.

STEP 02

We query and cross-verify

Multiple providers answer in parallel; authoritative registries break the tie and set the score.

STEP 03

You get a verdict

Verdict, confidence, standardized address, and the provider trail behind the decision.

curl -s https://geoverdict.com/v1/validate \
  -H "Authorization: Bearer $GEOVERDICT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "Dam 1 Amsterdam", "country": "NL", "source": "checkout"}'

{"verdict":"valid","confidence":100,
 "address":{"street":"Dam","houseNumber":"1","postcode":"1012JS",
            "city":"Amsterdam","country":"NL","lat":52.373,"lng":4.894},
 "components":{"street":"match","houseNumber":"match","city":"match"},
 "provider":"bag","reasons":[]}

Pay for checks, not seats

One credit = one external provider lookup; cached answers are free. Monthly, cancel anytime via the Stripe billing portal. Need more mid-month? Add a credit pack without changing plan.

Free
€0/month
1,000 credits
Start free
  • No credit card required
  • BAG (NL) authority data
  • Validation + autocomplete
  • Community support
Starter
€29/month
10,000 credits
Choose Starter
  • Everything in Free
  • All providers
  • Confidence thresholds
  • 3 projects
Scale
€299/month
250,000 credits
Choose Scale
  • Everything in Growth
  • SLA & priority support
  • SSO
Need more mid-month? Extra credit packs from €90 / 50,000 in your dashboard — they stack on any plan and never expire while your subscription is active.

Subscribe with the same email you use for your API key and your plan upgrades automatically within a minute of checkout.

Built for the people who get paged at 2am

Routing

Cost, balanced, or accurate

Pick a strategy per account or per request. Cheap checks for autocomplete, full cross-verification at checkout — with circuit breakers, per-provider timeouts, and a full routing trace.

Thresholds

Configurable confidence gates

Every provider result is re-scored against your input: fuzzy street and city matching, house-number normalization, postcode checks. Decide what score auto-accepts and what gets blocked.

Observability

Provider trails and API logs

See exactly which providers answered, what they said, and why the verdict landed where it did — segmented per app or flow with the source tag.

Compliance

EU data residency

Requests processed and stored in the EU (Western Europe), with retention you control. Authoritative Dutch BAG data via PDOK built in.

Performance

Fast enough for every keystroke

Edge-served with response caching, so autocomplete stays snappy and cached answers never cost a credit.

Onboarding

No credit card to start

1,000 checks a month on the free tier, forever. Upgrade when the volume shows up.

Quickstart

Two endpoints do the real work: /v1/validate for the verdict, /v1/autocomplete for suggestions at the keystroke. Get a key below, then:

curl -s https://geoverdict.com/v1/autocomplete \
  -H "Authorization: Bearer $GEOVERDICT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "Kalverstraat 92 Amst", "country": "NL", "limit": 5}'

The optional source tag (body field or ?source= URL param) segments stats and logs per app or flow in your dashboard. Billing is in credits: 1 credit per external provider lookup, cached answers are free.

Every bad address is a refund waiting to happen.

Start with 1,000 free checks a month — we email you a 6-digit code, your key is shown once and stored hashed. Wire it into checkout in an afternoon.

Save this key now — it will not be shown again.