Skip to navigation

Get Tax Rates (v5.0)

Deprecated
View as Markdown

Returns comprehensive tax rates with geocoding support, multi-district breakdown, and Tennessee Single Article Tax calculations. Supports both USA and Canada.

Authentication

X-API-KEYstring
API Key authentication via header

Query parameters

keystringOptional10-100 characters

API key that authenticates the request and resolves the account’s plan, entitlements, and rate limits. Supply it either as this query parameter or the X-API-KEY request header. A missing, malformed, or unknown key returns response code 101.

formatenumOptionalDefaults to json

Serialization format of the response body. ‘json’ (default) returns a JSON object; ‘xml’ returns the same data as an XML document.

Allowed values:
countryCodeenumOptionalDefaults to USA

Country of the lookup: ‘USA’ (default), ‘CAN’, or a US territory (ASM, GUM, MNP, PRI, VIR). ‘CAN’ requires the Canadian rates (rate_loc_can) entitlement; otherwise the request returns response code 112. US territories are looked up via the USA path and require no additional entitlement.

postalcodestringOptionalformat: "^[0-9]{5}$"=5 characters

5-digit US ZIP code to look up. When supplied on its own the response may contain multiple results, one per overlapping jurisdiction. An invalid format returns response code 104.

addressstringOptional<=100 characters

Street address to geocode to a single rooftop-level jurisdiction. Geocoding requires the geo_enabled entitlement; an incomplete or ungeocodable address returns response code 109.

statestringOptional<=50 characters

State name or two-letter abbreviation. Used with city or postal code to disambiguate the location. An invalid format returns response code 102.

stateCodestringOptionalformat: "^[A-Z]{2}$"=2 characters

Two-letter state code (e.g. CA). Alternative to ‘state’ for supplying the state as a code rather than a name.

citystringOptional<=50 characters
City name used together with state to narrow the lookup when no street address is supplied. An invalid format returns response code 103.
countystringOptional<=50 characters
County name used to refine the lookup when supplied without a street address.
latdoubleOptional-90-90

Latitude of a geographic point, from -90 to 90. Send it together with lng: when both are supplied the API resolves the single jurisdiction containing that point (coordinate lookup). A lat without lng, or a lat that is not a number from -90 to 90, returns response code 105 unless the request carries an address, which takes precedence over coordinates.

lngdoubleOptional-180-180

Longitude of a geographic point, from -180 to 180. Send it together with lat: when both are supplied the API resolves the single jurisdiction containing that point (coordinate lookup). A lng without lat, or a lng that is not a number from -180 to 180, returns response code 105 unless the request carries an address, which takes precedence over coordinates.

adjustmentstringOptional<=100 characters

Unincorporated-area handling. Only the value ‘auto’ has an effect: on geo (address) lookups in unincorporated areas it applies the appropriate sourcing adjustment. No default is applied when omitted, and no other value (including ‘origin’/‘destination’) changes the result.

sat_item_totaldoubleOptional>=0

Single-article item price in dollars. Tennessee: returns the single article tax breakdown on address lookups. Arizona: when the city has a single-item rate (ADOR), returns the reduced city rate’s effect in satTaxDetail.singleItemRules on address and lat/lng lookups. Florida: county surtax capped at the first $5,000 of the item (s. 212.054(2)(b)1, F.S.), returned the same way. Requires a geo-enabled key. Tennessee’s satTaxDetail holds the local tax on the first $1,600 of the item ($300 in Hamblen County outside Morristown, $375 in Hancock County) and the 2.75% state single article tax on the part from $1,600 to $3,200.

historicalstringOptionalformat: "^[0-9]{6}$"

Historical period to price the lookup against, formatted YYYYMM (6 digits, e.g. 202401). Returns the rates that were in effect for that month. Requires historical data to be enabled; an invalid format returns response code 111.

Response

OK
addressDetailobject
Normalized and geocoded address details used for the lookup.
rCodelong

Numeric status of the request. 100 = success; 101 = invalid/unknown API key; 102 = invalid state; 103 = invalid city; 104 = invalid postal code; 105 = invalid query string; 106 = unknown API error; 107 = feature/version not enabled for the plan; 108 = request rate limit exceeded; 109 = missing/incomplete/invalid address; 110 = valid request but no result found; 111 = invalid historical parameter; 112 = Canadian (international) rates not enabled; 113 = product rate rules not enabled.

versionstring

Schema version of the response payload (e.g. ‘v50’).

resultslist of objectsOptional

Tax rate results for the request, each with a full state/county/city/district breakdown and sourcing model. Empty when no rate is found (response code 110).

satTaxDetailobjectOptional

Single article tax breakdown. Present when sat_item_total is supplied by a geo-enabled key on an address lookup in Tennessee (Tennessee Single Article Tax), or on an address or lat/lng lookup where a single-item rule changes the item’s tax (singleItemRules): an Arizona city with a single-item rate past its threshold, or a Florida item past the $5,000 county surtax cap.

Errors

422
Get Tax Rates V50request Unprocessable Entity Error
429
Get Tax Rates V50request Too Many Requests Error
500
Get Tax Rates V50request Internal Server Error