Quickstart

Get your first sales tax rate back from Ziptax in under five minutes

Five minutes, five steps, one real rate. At the end of this page you’ll have an API key, a working curl call, and an SDK-based version of the same lookup in the language of your choice.

1

Create a free Ziptax account

Head to platform.zip.tax and sign up. The free tier is enough for this walkthrough and for evaluating the API.

2

Copy your API key

After signing in, open API Keys in the dashboard. Create a new key if one isn’t already there and copy the value. It looks like a long opaque string. Keep it out of client-side code and source control.

3

Make your first call

Replace YOUR_API_KEY and run this:

$curl -H "X-API-Key: YOUR_API_KEY" \
> "https://api.zip-tax.com/request/v60?address=200+Spectrum+Center+Dr+Irvine+CA"

If the key and address are valid, you’ll get a JSON response that looks like this (trimmed):

1{
2 "metadata": {
3 "version": "v60",
4 "response": { "code": 100, "name": "RESPONSE_CODE_SUCCESS" }
5 },
6 "taxSummaries": [
7 { "rate": 0.0775, "taxType": "SALES_TAX", "summaryName": "Total Base Sales Tax" }
8 ],
9 "addressDetail": {
10 "normalizedAddress": "200 Spectrum Center Dr, Irvine, CA 92618-5003, United States",
11 "geoLat": 33.65253,
12 "geoLng": -117.74794
13 }
14}

taxSummaries[0].rate is the combined sales tax rate at that address. For 200 Spectrum Center Dr it’s 7.75% at the time of writing.

Didn’t get a code: 100? Look up what the code means on the Response Codes page. 101 means the key wasn’t accepted, 109 means the address didn’t resolve.

4

Do the same call from an SDK

The REST endpoint is easy to hit from any language, but the SDKs add typed models, retries, and convenience helpers. Pick one:

1# pip install ziptax
2from ziptax import Ziptax
3
4client = Ziptax(api_key="YOUR_API_KEY")
5rate = client.by_address(
6 address="200 Spectrum Center Dr, Irvine CA"
7)
8print(rate.tax_summaries[0].rate) # 0.0775

Troubleshooting

Double-check for trailing whitespace or wrapping quotes in the header. Regenerate the key from the dashboard if in doubt. The header name is case-sensitive in some clients, so use exactly X-API-Key.

Usually a typo or a ZIP that doesn’t match the city. Try the address without the ZIP, or drop the ZIP+4 suffix if present.

If you hit code: 108, you’ve tripped the per-minute request limit. The window is 60 seconds, so wait and retry. Read the Rate Limiting guide before wiring this into a tight loop.

Both are available on Pro and Enterprise plans via the historical and countryCode=CAN parameters respectively. See the REST API guide for the full parameter list.