GET /country · /state · /postal

Tax API

Pass the place you have. Country, state, or a US ZIP. Same two keys.

Combined local. You have a US ZIP. This is checkout.

Try itcountry=US

tax

Levy name (VAT, GST, Sales tax). Null when that layer levies none

tax_rate

Rate as a percent. Country is the national levy. State is the subdivision base. ZIP is the highest combined rate in that code

tax_rate_state

ZIP only. State piece of the combined rate, percent. Null when that level does not apply

tax_rate_county

ZIP only. County piece of the combined rate, percent. Null when that level does not apply

tax_rate_city

ZIP only. City piece of the combined rate, percent. Null when that level does not apply

tax_rate_special

ZIP only. Special district piece of the combined rate, percent. Null when that level does not apply

1

Country

National levy. You have a country. VAT in Germany. Empty in the US. Prices and invoices.

2

State

Subdivision base. You have a state or province. Colorado is 2.9. Ontario is HST 13.

3

ZIP

Combined local. You have a US ZIP. Milwaukee 53202 is 7.9. That is checkout.

One pair of fields.

On three lookups. Every plan.

3
lookups
28
US ZIP states sourced

Look up the place you have. /country, /state, or /postal. tax and tax_rate ride the record. No extra param. No extra call.

Country is the national levy. Use it for prices and invoices. The US has none.

State is the subdivision base. Use it when you have a state or province, not a ZIP.

A US ZIP is the combined local rate, highest in that code, with the pieces next to it. Use it for checkout. California and Texas stay empty until those files land.

RESPONSE

$ curl "https://api.parseapi.com/country/de" \
  -H "X-API-Key: YOUR_API_KEY"

// 200 · ~34ms US · ~123ms worldwide
{
  "country": "DE",
  "name": "Germany",
  "tax": "VAT",
  "tax_rate": 19,
  "tax_id_format": "DE999999999"
}

Response fields

tax
Levy name (VAT, GST, Sales tax). Null when that layer levies none
tax_rate
Rate as a percent. Country is the national levy. State is the subdivision base. ZIP is the highest combined rate in that code
tax_rate_state
ZIP only. State piece of the combined rate, percent. Null when that level does not apply
tax_rate_county
ZIP only. County piece of the combined rate, percent. Null when that level does not apply
tax_rate_city
ZIP only. City piece of the combined rate, percent. Null when that level does not apply
tax_rate_special
ZIP only. Special district piece of the combined rate, percent. Null when that level does not apply

QUESTIONS

When do I use which?
Country for the national levy, prices and invoices. State for the subdivision base. A US ZIP for the combined local rate, checkout.
Is this its own endpoint?
No. tax and tax_rate live on /country, /state, and US ZIPs on /postal. The place you have is the call.
What is tax_rate?
A percent. Country is the national levy. State is the subdivision base. A ZIP is the highest combined rate in that code, with the pieces next to it.
What about the US?
No national sales tax. /country/us ships tax empty. Use a ZIP for checkout, or a state for the base rate.
Why the highest ZIP rate?
A ZIP can span more than one jurisdiction. Under-collecting is the failure. We ship the high one.
Which ZIP states?
28 from official state files. Oregon, Montana, New Hampshire, and Delaware ship 0. California and Texas are empty until those files land.
Is this a VAT number check?
No. That is /vat. This is the rate on a place.
Can I calculate an order?
No. This is a rate lookup. Not product taxability, not nexus, not a filing engine.

SPEED

How long a lookup takes.

US

34ms

EU

59ms

APAC

147ms

LatAm

21ms

ME

124ms

See live status →

Coverage

One pair of fields on three lookups. Pick the grain that matches what you have. There is no separate /tax call.

  • /countryCountryPrices, invoicesNational levy. VAT, GST. US is empty. No national sales tax.
  • /stateStateBase rateSubdivision base. US states, Canadian provinces. Not what a US checkout charges.
  • /postalZIPCheckoutHighest combined rate in the ZIP. 28 states sourced. CA and TX empty.