Free · No Signup v1

Sales Tax API

Free JSON API for US sales tax rate lookups. 40,000+ zip codes. No API key needed.

Base URL: https://salestaxzip.com/api/v1
4
Endpoints
40K+
Zip Codes
100/hr
Rate Limit
$0
Forever Free

Try It Live

GET /api/v1/rate/
→ https://salestaxzip.com/api/v1/rate/10001

Endpoints

GET /rate/:zip — Rate lookup by zip code

Returns the complete sales tax breakdown for a specific US zip code, including state, county, city, and local rates plus calculation examples.

Parameters
:zip 5-digit US zip code (required)
Response
// GET /api/v1/rate/10001
{
  "success": true,
  "data": {
    "zip_code": "10001",
    "city": "New York",
    "state": "NY",
    "rates": {
      "combined": 0.08875,
      "combined_pct": "8.875%",
      "state": 0.04,
      "county": 0.04875,
      "city": 0,
      "local": 0
    },
    "calculation_examples": {
      "$100_purchase": { "tax": 8.88, "total": 108.88 },
      "$1000_purchase": { "tax": 88.75, "total": 1088.75 }
    },
    "web_url": "https://salestaxzip.com/tax/10001"
  }
}
GET /state/:code — All rates for a state

Returns aggregate statistics (average, min, max rates) plus up to 500 zip codes with full rate breakdowns for a given state.

Parameters
:code 2-letter state code (e.g., CA, NY, TX) (required)
Example
// GET /api/v1/state/CA
{
  "success": true,
  "data": {
    "state": "CA",
    "summary": {
      "average_rate": 0.08662,
      "min_rate": 0.0725,
      "max_rate": 0.1075,
      "jurisdiction_count": 2636
    },
    "zip_codes": [/* up to 500 entries */]
  }
}
GET /city/:state/:city — Rates for a city

Returns all zip codes within a city with individual rates and aggregate statistics.

Parameters
:state2-letter state code (required)
:cityCity name, URL-encoded (required)
Example
// GET /api/v1/city/TX/Austin
{
  "data": {
    "city": "Austin", "state": "TX",
    "summary": { "average_rate": 0.0825, "zip_count": 47 },
    "zip_codes": [/* all zip codes in Austin */]
  }
}
GET /reverse — Reverse tax calculator

Given a total price (including tax), calculates the original pre-tax price and the tax amount.

Query Parameters
totalTotal price including tax (required)
zip5-digit zip code (required)
Example
// GET /api/v1/reverse?total=108.50&zip=10001
{
  "data": {
    "total_price": 108.50,
    "pre_tax_price": 99.68,
    "tax_amount": 8.82,
    "tax_rate_pct": "8.875%",
    "formula": "Pre-tax = 108.5 ÷ 1.08875 = 99.68"
  }
}

Code Examples

# Get tax rate for a zip code
curl https://salestaxzip.com/api/v1/rate/10001

# Get all rates in California
curl https://salestaxzip.com/api/v1/state/CA

# Reverse calculate pre-tax price
curl "https://salestaxzip.com/api/v1/reverse?total=108.50&zip=10001"

Response Codes

Code Status Description
200 OK Successful request with data
400 Bad Request Invalid parameters (wrong zip format, missing params)
404 Not Found No data for the requested zip/state/city
429 Rate Limited Exceeded 100 requests/hour — wait and retry

FAQ

Is the API free?

Yes. The API is completely free with no signup, no API key, and no credit card. The free tier allows 100 requests per hour, which covers most development and small-scale production use cases.

Do I need authentication?

No. Just make GET requests. The API is fully open — no API keys, tokens, or headers required. CORS is enabled for browser-based requests.

How fresh is the data?

Tax rates are sourced from official state and local government sources and updated monthly. The current dataset reflects January 2026 rates. Responses are cached for 1 hour.

Can I use this in production?

Yes, for estimation purposes. The API runs on Cloudflare's global edge network with sub-50ms latency worldwide. For tax compliance, always verify rates with official state sources or a certified tax provider.

Is there a higher rate limit?

Contact us at support@salestaxzip.com for higher limits. We can accommodate enterprise use cases.