API documentation

Two endpoints, one key. Resolve a full US sales-tax breakdown for any address or ZIP, and power address entry with a self-hosted US address autocomplete. Base URL: https://api.taxsearcher.com

All 50 states resolve to a real state + local rate from official government sources. Autocomplete is served from ~204 million US street addresses hosted on our own infrastructure — no third-party geocoder.

Try it live no key required

Type a US address or ZIP below. Suggestions come from GET /autocomplete; picking one runs GET /tax and shows the full breakdown.

Suggestions and the resolved rate will appear here.

Authentication

Create an account, choose a plan, and copy your API key from the dashboard. Send it on every request in the X-API-Key header.

X-API-Key: stk_your_key_here

Features & plans

Each API key unlocks the capabilities included in its plan. A plan can include tax lookups, address autocomplete, or both — see pricing.

FeatureEndpointWhat it does
taxGET /taxFull sales-tax breakdown for an address or ZIP.
autocompleteGET /autocompleteUS street-address typeahead; each suggestion is ready to feed into /tax.

Calling an endpoint your plan doesn't include returns 403.

1 — Sales-tax lookup

GET /tax?address=...

curl "https://api.taxsearcher.com/tax?address=5th+Ave,+New+York,+NY+10118" \
     -H "X-API-Key: stk_your_key_here"

Optional: &refresh=true bypasses the cache and re-fetches from source.

Example response

{
  "geo": { "matched_address": "5TH AVE, NEW YORK, NY", "state": "NY", "zip_code": "10011" },
  "rate": {
    "total_rate": 0.08875,
    "summary": "Total Sales Tax = 8.875%",
    "total_percent": "8.875%",
    "breakdown": [
      { "label": "New York state", "percent": "4%" },
      { "label": "City (New York City)", "percent": "4.5%" },
      { "label": "MCTD surcharge", "percent": "0.375%" }
    ],
    "status": "resolved"
  }
}

2 — Address autocomplete

GET /autocomplete?q=...&limit=8

Pass whatever the user has typed (street, city, or ZIP). Returns ranked suggestions, each with a tax_query string you can send straight to /tax.

curl "https://api.taxsearcher.com/autocomplete?q=1600+pennsylvania&limit=5" \
     -H "X-API-Key: stk_your_key_here"

Example response

{
  "query": "1600 pennsylvania",
  "count": 1,
  "suggestions": [
    {
      "label": "1600 Pennsylvania Ave, Washington, DC 20500",
      "house": "1600", "street": "Pennsylvania Ave",
      "city": "Washington", "state": "DC", "zip": "20500",
      "lat": 38.8977, "lon": -77.0365,
      "tax_query": "1600 Pennsylvania Ave Washington DC 20500"
    }
  ]
}

Typical latency ~50 ms. Use it to build an address field, then call /tax with the chosen suggestion's tax_query.

Response codes

CodeMeaning
200Success.
401Missing or invalid API key.
403Your plan doesn't include this feature, or the key is blocked by a domain / IP restriction.
429Rate limit or a plan quota (day / week / month) exceeded.

Restrictions & limits

From your dashboard you can lock a key to specific domains (browser Origin) or server IPs, and regenerate a key up to your plan's limit. Quotas reset at the start of each day / week / month (UTC).