Documentation

Learn how our sales tax data can help power your application.

Introduction

By providing as little as a zip code, we can determine the sales tax rates for your customers in their specific geographical area. In most states, sales tax rates change many times throughout the year. Our service provides you with a method to get this information quickly and easily and with no maintenance. The ZipTax team is dedicated to providing you with the critical up-to-date information you need so you can focus on the important parts of your business.

Our Zip-Tax.com API is designed to allow programmers to submit a request to our servers from a website or application and retrieve response data from our databases. The format of the response can be returned as JSON or XML. Simply pass the desired format as part of the request. Zip-Tax.com works by submitting geographic information such as city, state, and zip code from your application or website. This data is used determine the correct sales tax information matching the provided location. Our service then returns that information to your application or website.

Getting Started

The Zip-Tax.com sales tax API uses standard Representational State Transfer (REST) principles for maximum flexibility with a wide range of program languages.

To get started, simply follow this documentation to build a reuqest using the Zip-Tax.com Request URL, parse the API Response to validate the response codes, and use the API results in your application.

 For questions or comments about this documentation, please contact us at support@zip-tax.com.

API Subscription Types

Core Level API

The general Zip-Tax.com sales tax API allows jurisdiction lookups using any combination of zip code, city, and state. This API level does not provide full address level lookup and only provides county data via response. For full address level lookups, please see the Geo API section below. Note when using this method, multiple response values may be returned where multiple tax jurisdictions match the query inputs.

Geo Level API (address level)

The GEO API version of Zip-Tax.com allows queries with full address lookup. This method returns only a single response with the corresponding sales tax jurisdiction data. This is the recommended subscription type for use with our API.

Request

The API request URL is used to form your request to the API from your application.

The base request URL consists of three parts.

SubdomainActionVersion
api.zip-tax.com/request/v40

HTTP Request Base URL Example

curl --header "Accept:application/json" https://api.zip-tax.com/request/v40

Core Plan Level API Request

Query Parameters

ParameterRequired?Description
keyyesYour API key
postalcodeyesU.S. jurisdiction postal code (zip code)
stateoptionaltwo letter state code i.e. CA = California
cityoptionalfull city name
formatoptionalDefault = json or specify xml

Core Plan Request Example

curl --header "Accept:application/json" https://api.zip-tax.com/request/v40?key=1234567890&postalcode=90264

Geo Plan Level API Request

The Geo API requires an active GEO subscription. The API supports valid U.S addresses passed in as a single parameter, or split into multiple address parameters.

 Note: The address parameter takes precedence. If present, the values of street, city, postalcode, and state are ignored.

Query Parameters

ParameterRequired?Description
keyyesYour API key
addressyesFull U.S. street level address

  Note: Geo API customer may also use query parameters from the General API section.

Geo Plan Request Example

curl --header "Accept:application/json" https://api.zip-tax.com/request/v40?
key=1234567890&address=1111%20S%20Figueroa%20St,%20Los%20Angeles,%20CA%2090015

Response Results

NameDescriptionVersion
geoPostalCode Requested postal codeall
geoCityCityall
geoCountyCountyall
geoStateStateall
taxSalesTotal sales taxall
taxUseTotal use taxall
txbServiceTaxable service (values: null,Y,N,L)all
txbFreightTaxable freight (values: null,Y,N)all
stateSalesTaxPortion of total sales tax from the state levelv20+ only
stateUseTaxPortion of total use tax from the state levelv20+ only
citySalesTaxCePortion of total sales tax from the city levelv20+ only
cityUseTaxPortion of total use tax from the city levelv20+ only
cityTaxCodeApplicable city tax codev20+ only
countySalesTaxPortion of total sales tax from the county levelv20+ only
countyUseTaxPortion of total use tax from the county levelv20+ only
countyTaxCodeApplicable county tax code v20+ only
districtSalesTaxPortion of total sales tax from the district levelv20+ only
districtUseTaxPortion of total use tax from the district levelv20+ only
district1CodeDistrict 1 tax codev40+ only
district1SalesTaxPortion of total sales tax from district 1 levelv40+ only
district1UseTaxPortion of total use tax from district 1 level v40+ only
district2CodeDistrict 2 tax code v40+ only
district2SalesTaxPortion of total sales tax from district 2 level v40+ only
district2UseTaxPortion of total use tax from district 2 levelv40+ only
district3CodeDistrict 3 tax code v40+ only
district3SalesTax Portion of total sales tax from district 3 level v40+ only
district3UseTax Portion of total use tax from district 3 level v40+ only
district4CodeDistrict 4 tax code v40+ only
district4SalesTax Portion of total sales tax from district 4 levelv40+ only
district4UseTaxPortion of total use tax from district 4 levelv40+ only
district5Code District 5 tax codev40+ only
district5SalesTaxPortion of total sales tax from district 5 levelv40+ only
district5UseTaxPortion of total use tax from district 5 level v40+ only
originDestinationLocation where a sale is taxed origin/destination (values: null,D,O)v40+ only

Sample JSON Response

{  
  "version": "v40",  
   "rCode": 100,  
   "results": [    
       {
          "geoPostalCode": "90264",      
          "geoCity": "MALIBU",      
          "geoCounty": "LOS ANGELES",      
          "geoState": "CA",      
          "taxSales": 0.095,      
          "taxUse": 0.095,      
          "txbService": "N",      
          "txbFreight": "N",      
          "stateSalesTax": 0.06,      
          "stateUseTax": 0.06,      
          "citySalesTax": 0,      
          "cityUseTax": 0,      
          "cityTaxCode": "",      
          "countySalesTax": 0.0025,      
          "countyUseTax": 0.0025,      
          "countyTaxCode": "19",      
          "districtSalesTax": 0.0325,    
          "districtUseTax": 0.0325,      
          "district1Code": "218",      
          "district1SalesTax": 0,      
          "district1UseTax": 0,      
          "district2Code": "594",      
          "district2SalesTax": 0.0225,      
          "district2UseTax": 0.0225,      
          "district3Code": "",      
          "district3SalesTax": 0,      
          "district3UseTax": 0,      
          "district4Code": "19",      
          "district4SalesTax": 0.01,      
          "district4UseTax": 0.01,      
          "district5Code": "",      
          "district5SalesTax": 0,      
          "district5UseTax": 0,      
          "originDestination": "D"    
       }  
   ]
}

Response Codes

The Zip-Tax.com API returns the following response codes based on request results.

CodeReasonDescription
100SUCCESSSuccessful API Requet
101INVALID_KEYKey format is not valid
102INVALID_STATEState format is not valid
103INVALID_CITY City format is not valid
104INVALID_POSTAL_CODEPostal code format is not valid
105INVALID_FORMATQuery string format is not valid
106API_ERRORApi error
107FEATURE_NOT_ENABLEDRequested feature or version not enabled
108REQUEST_LIMIT_METApi request limit met
109ADDRESS_INCOMPLETEMissing address parameters
110NO_RESULTQuery returned no result set

Support

For questions or comments please contact us via email at: support@zip.tax