TaxQuery API Overview

Caliber Technology LLC

Work Address:


Home Address:


Nexus:




Version Query Build Query Health Check

Usage

This form demonstrates how to access the Tax Query web service. It is not intended for end users, but rather for developers, to show how to use the API. The 'taxes' service URL is used to determine which taxes to withhold for an employee, given his/her workplace and home addresses.

Service URL:

http://3.213.184.41:5001/taxes
Parameters:
work_addr Employee's workplace address
home_addr Employee's residence address
nexus OptionalList of states where the employer has legal nexus.
If omitted, the work_addr state is used.
fuzzy OptionalTrue/Yes/Y/1 to request all possible jurisdictions.
Useful when only a ZIP code is available, if that ZIP overlaps multiple jurisdictions.
zero OptionalTrue/Yes/Y/1 to include PA EIT names even when the rate is 0%, for reporting purposes.
Employers should report all withheld EITs to the collection agency for the workplace EIT,
even if the workplace has a 0% rate.

Results:

A JSON object of the form:
{ "status" : <status>, "value" : <value> }
<status> is either 'ok' or 'error'.
<value> is an error message or an array of applicable tax names.

Errors:

  • Address not found (work/home)
  • Unknown state abbreviation (work/home)
  • Unknown ZIP code (work/home)
  • ZIP code does not correspond to state (work/home)
  • Unknown state abbreviation in nexus: <state>

Notes:

For precision, addresses should include at least a State and ZIP Code, and may optionally be entered in "plus code" form. For example,

3962+8Q, OH 45840
is equivalent to
1715 N Main St, Findlay OH 45840

'Nexus' means states where the employer has a physical presence, such as an office or other facility. If empty, the default is the state used in the work_addr. The nexus value should be 2-letter postal state abbreviations, delimited by a space.


An address can be just a ZIP Code, and this is sufficient for most cases. However, when ZIPs cross state, county, town, or township boundaries where taxes are involved, then supplying just a ZIP Code can be ambiguous.


If an ambiguous ZIP code is passed for an address, and fuzzy = False, the US Census Bureau's lat/lon for that ZIP is used. This will return a precise tax jurisdiction name which may not be correct, because the actual location could be in any locality that falls within the ZIP Code.


If an ambiguous ZIP code is passed for an address, and fuzzy = True, then the names of every possible jurisdiction within the ZIP are returned.

Examples:

http://3.213.184.41:5001/taxes?work_addr=102 First Ave, Aliquippa PA 15001&home_addr=10001&nexus=PA OH NY

returns

{"status":"ok","value":"{\"status\":\"ok\",\"value\":[\"PA\",\"PA Aliquippa City LST\",\"PA Unemployment\",\"PA Unemployment Employee\",\"PA Aliquippa City EIT Nonresident\"]}"}

http://3.213.184.41:5001/taxes?work_addr=15001&home_addr=15001&fuzzy=True

returns

{"status":"ok","value":"{\"status\":\"ok\",\"value\":[\"PA Hanover Twp (Beaver) EIT\",\"PA Hanover Twp (Beaver) LST\",\"PA Unemployment\",\"PA\",\"PA Unemployment Employee\"]}"}