situs.tax Get an API key

Sales tax rates. Down to the address.

And where we cannot, the answer says so.

Portland, Oregon: 0.00%

No jurisdiction here levies a general sales tax.

Combined 0.00%

source Oregon Department of Revenue

Houston, Texas: 8.25%

Texas state 6.25%
City of Houston city 1.00%
Metropolitan Transit Authority of Harris County transit 1.00%
Combined 8.25%

source Texas Comptroller of Public Accounts

New York, New York: 8.875%

New York State state 4.000%
New York City city 4.500%
Metropolitan Commuter Transportation District transit 0.375%
Combined 8.875%

source NY State Department of Taxation and Finance, Publication 718

Detroit, Michigan: 6.00%

Michigan state 6.00%
Combined 6.00%

source Michigan Department of Treasury

Louisville, Kentucky: 6.00%

Kentucky state 6.00%
Combined 6.00%

source Kentucky Department of Revenue

The ZIP code is a floor, not an answer.

So we measured how far off it is, against real jurisdiction boundaries.

1 in 11

addresses where the ZIP-level rate is the wrong rate

+2.70

percentage points, the worst gap we found

measured 2026-11-08 How we measured it

Every answer says which rung it came from.

precision is part of every response.

address
Placed inside real jurisdiction boundaries.
zip
The ZIP code’s rate. Useful, and often not the rate.
city
A named city district, where we hold one.
county
A named county district, where we hold one.
state
The state rate alone, labelled as the last resort.

One request, and what comes back.

$ curl "https://api.situs.tax/v1/rate?address=1600+Pennsylvania+Ave+NW&state=DC" \
    -H "Authorization: Bearer situs_live_..."

{
  "rate": 0.06,
  "precision": "address",
  "coverage": "exact",
  "jurisdictions": [
    { "name": "District of Columbia", "level": "state", "rate": 0.06 }
  ],
  "as_of": "2026-11-08",
  "source": "DC Office of Tax and Revenue"
}
coverage
Is the rate the whole answer? approximate means a locality there can tax this point and we could not place the address inside it, so the rate is a floor.
as_of
Rates are versioned, never overwritten. ?date= answers for any past day.
source
The publication it came from, so a dispute goes to a document.

Priced for many small sites.

One store, one plugin install, one key. WooCommerce, Shopify and WordPress plugins are on the way.

Per month. Indicative while the numbers settle.
Plan Per month Included lookups Then, per 1,000
Free $0 1,000 —
Standard $39 10,000 1.50 USD
Scale $129 100,000 0.90 USD
Agency $349 1,000,000 0.60 USD

Test traffic is metered apart from live, so building against the API does not spend the allowance you bought.