Skip to main content
Address Standardization API is live

Sales tax and VAT, calculated automatically.

GoodVat handles sales tax, VAT, and GST for online sellers — no spreadsheets, no guesswork. Plugins for Shopify, WooCommerce, and more are on the way, built on our own address standardization, geocoding, and tax APIs — open to developers today.

Accuracy
99.5%
p99 latency
10ms
Uptime SLA
99.99%
POST /v1/address/normalizeLive
Messy input (example)

781 Franklin Ave Crown Heights Brooklyn NYC NY 11216 USA

Structured components & expansions

Products

Building the infrastructure behind simple tax compliance

Address standardization, geocoding, and tax calculation — the building blocks GoodVat is assembling into one automatic tax engine, with ecommerce plugins on top. Each is also available on its own, today.

Developer experience

Integrate in minutes

One endpoint, one API key, predictable JSON. Send a messy address string, get back clean structured components you can trust.

  • Language & country aware — pass optional hints or let the model infer them.
  • Rich structured output — house, unit, road, district, city, state, and country in every response, not just the basics.
  • Fast enough for the hot path — a 10ms p99 you can call inline.
curl -X POST https://api.goodvat.com/v1/address/normalize \
  -H "Authorization: Bearer $GOODVAT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "781 Franklin Ave Crown Heights Brooklyn NYC NY 11216 USA"
  }'
const response = await fetch("https://api.goodvat.com/v1/address/normalize", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GOODVAT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    query: "781 Franklin Ave Crown Heights Brooklyn NYC NY 11216 USA",
  }),
});

const address = await response.json();
import os
import requests

response = requests.post(
    "https://api.goodvat.com/v1/address/normalize",
    headers={"Authorization": f"Bearer {os.environ['GOODVAT_API_KEY']}"},
    json={
        "query": "781 Franklin Ave Crown Heights Brooklyn NYC NY 11216 USA",
    },
)

address = response.json()
{
  "houseNumber": "781",
  "road": "Franklin Avenue",
  "suburb": "Crown Heights",
  "cityDistrict": "Brooklyn",
  "state": "NY",
  "postcode": "11216",
  "country": "USA",
  "expansions": [
    "781 franklin avenue crown heights brooklyn ny 11216 usa",
    "781 franklin avenue crown heights brooklyn new york 11216 usa"
  ]
}

Why GoodVat

Infrastructure you can build a business on

Built for the hot path

A 10ms p99 means you can call GoodVat inline on every checkout, signup, and bulk import without adding perceptible latency.

Built on real infrastructure

The same address, geocoding, and tax APIs that power the upcoming Shopify and WooCommerce plugins are open to developers today — clean REST endpoints, predictable JSON, one API key.

Serious about uptime

A 99.99% uptime SLA on a stateless, horizontally-scaled service. When your revenue depends on it, so does ours.

Honest, flat pricing

No per-request metering games or enterprise-only gates. One clear price per product, so your bill never surprises you.

FAQ

Frequently asked questions

Start with what’s live today

Get an API key and make your first standardized address in minutes. $5 a month, unlimited requests, no card games.