Sales Tax API

This API currently only supports the United States. We are working on adding sales tax information from other countries, so please stay tuned!

The Sales Tax API provides provides accurate and detailed sales tax breakdowns for every ZIP code, city and state in the United States.

/v1/salestax

HTTP GET

Returns one or more sales tax breakdowns by ZIP code according to the specified parameters. Each breakdown includes the state sales tax (if any), county sales tax (if any), city sales tax (if any), and any additional special sales taxes. All tax values are presented in decimals (e.g. 0.1 means 10% tax).

Parameters

Exactly one of the following must be set: zip_code or (city + state)

zip_code (optional) - valid US ZIP code.

city (optional) - city name.

state (optional) - state name.

Headers

X-Api-Key (required) - API Key associated with your account.

Sample Request URL

Live Demo!

https://api.api-ninjas.com/v1/salestax?zip_code=

Sample Response

[
  {
    "zip_code": "90210",
    "total_rate": "0.102500",
    "state_rate": "0.060000",
    "city_rate": "0.007500",
    "county_rate": "0.002500",
    "additional_rate": "0.032500"
  }
]

import requests

zip_code = '90210'
api_url = 'https://api.api-ninjas.com/v1/salestax?zip_code={}'.format(zip_code)
response = requests.get(api_url, headers={'X-Api-Key': 'YOUR_API_KEY'})
if response.status_code == requests.codes.ok:
    print(response.text)
else:
    print("Error:", response.status_code, response.text)
var zip_code = '90210'
$.ajax({
    method: 'GET',
    url: 'https://api.api-ninjas.com/v1/salestax?zip_code=' + zip_code,
    headers: { 'X-Api-Key': 'YOUR_API_KEY'},
    contentType: 'application/json',
    success: function(result) {
        console.log(result);
    },
    error: function ajaxError(jqXHR) {
        console.error('Error: ', jqXHR.responseText);
    }
});
const request = require('request');
var zip_code = '90210';
request.get({
  url: 'https://api.api-ninjas.com/v1/salestax?zip_code=' + zip_code,
  headers: {
    'X-Api-Key': 'YOUR_API_KEY'
  },
}, function(error, response, body) {
  if(error) return console.error('Request failed:', error);
  else if(response.statusCode != 200) return console.error('Error:', response.statusCode, body.toString('utf8'));
  else console.log(body)
});
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.ObjectMapper;

URL url = new URL("https://api.api-ninjas.com/v1/salestax?zip_code=90210");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("accept", "application/json");
InputStream responseStream = connection.getInputStream();
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(responseStream);
System.out.println(root.path("fact").asText());
let zip_code = "90210".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: "https://api.api-ninjas.com/v1/salestax?zip_code="+zip_code!)!
var request = URLRequest(url: url)
request.setValue("YOUR_API_KEY", forHTTPHeaderField: "X-Api-Key")
let task = URLSession.shared.dataTask(with: request) {(data, response, error) in
    guard let data = data else { return }
    print(String(data: data, encoding: .utf8)!)
}
task.resume()
If your programming language is not listed in the Code Example above, you can still make API calls by using a HTTP request library written in your programming language and following the above documentation.