Tax API

Sales tax rates. Property tax medians. On the place you already look up.

Try itcountry=US

Example response/postal/28202?country=US&deep=true
{
  "postal": "28202",
  "city": "Charlotte",
  "city_local": null,
  "district": "37119",
  "district_name": "Mecklenburg",
  "district_name_local": null,
  "state": "NC",
  "state_name": "North Carolina",
  "state_name_local": null,
  "country": "US",
  "country_name": "United States",
  "latitude": 35.227271,
  "longitude": -80.844194,
  "timezone": "America/New_York",
  
}

1M requests · $20/mo. Get started

What comes back.

deep.tax

Levy name (VAT, GST, Sales tax). Null when unavailable or no levy is named

deep.tax_rate

Reference rate in percent: 7.9 means 7.9%. Country is national, state is the subdivision reference, and ZIP is combined. Do not add geographic scopes

deep.tax_rate_state

ZIP only. State piece of the combined rate, percent. Null when unavailable or not applicable

deep.tax_rate_county

ZIP only. County piece of the combined rate, percent. Null when unavailable or not applicable

deep.tax_rate_city

ZIP only. City piece of the combined rate, percent. Null when unavailable or not applicable

deep.tax_rate_special

ZIP only. Special district piece of the combined rate, percent. Null when unavailable or not applicable

deep.property_tax.annual_median

Median annual amount in currency. Dollars adjusted to the final year of period

deep.property_tax.currency

USD

deep.property_tax.period

Observation period, such as 2020-2024

1

Find the sales tax rate

Country, state, or US ZIP. A percentage at the scope you choose, with local components where available.

2

Compare property taxes

US ZIP or county. Median annual property tax for owner-occupied homes, in dollars.

3

Keep the context

Property estimates carry currency and period. Rates and amounts keep their own units. Missing values stay null.

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/postal/28202?country=US&deep=true" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Parse-Version: 2.0.0"
// Example response · 200
{
  "postal": "28202",
  "city": "Charlotte",
  "city_local": null,
  "district": "37119",
  "district_name": "Mecklenburg",
  "district_name_local": null,
  "state": "NC",
  "state_name": "North Carolina",
  "state_name_local": null,
  "country": "US",
  "country_name": "United States",
  "latitude": 35.227271,
  "longitude": -80.844194,
  "timezone": "America/New_York",
  "deep": {
    "elevation": 245,
    "elevation_ft": 804,
    "population": 17653,
    "population_period": null,
    "area": 4.68,
    "land_area": 4.67,
    "water_area": 0.01,
    "currency": "USD",
    "tax": "Sales tax",
    "tax_rate": 8.25,
    "tax_rate_state": 4.75,
    "tax_rate_county": 2,
    "tax_rate_city": null,
    "tax_rate_special": 1.5,
    "property_tax": {
      "annual_median": 3346,
      "currency": "USD",
      "period": "2020-2024"
    },
    "neighbors": [
      "28280",
      "28282",
      "28244",
      "28204",
      "28203",
      "28206",
      "28207",
      "28274"
    ],
    "metros": [
      {
        "code": "16740",
        "name": "Charlotte-Concord-Gastonia, NC-SC",
        "type": "metropolitan",
        "share": 1,
        "residential_share": 1,
        "business_share": 1,
        "other_share": 1
      }
    ]
  }
}

API referenceSDKsKeys and authentication

Every response field

Response fields

deep.taxstring or null
Levy name (VAT, GST, Sales tax). Null when unavailable or no levy is named
deep.tax_ratenumber or null
Reference rate in percent: 7.9 means 7.9%. Country is national, state is the subdivision reference, and ZIP is combined. Do not add geographic scopes
deep.tax_rate_statenumber or null
ZIP only. State piece of the combined rate, percent. Null when unavailable or not applicable
deep.tax_rate_countynumber or null
ZIP only. County piece of the combined rate, percent. Null when unavailable or not applicable
deep.tax_rate_citynumber or null
ZIP only. City piece of the combined rate, percent. Null when unavailable or not applicable
deep.tax_rate_specialnumber or null
ZIP only. Special district piece of the combined rate, percent. Null when unavailable or not applicable
deep.property_taxobject or null
Median annual real-estate tax payable on owner-occupied housing, in US dollars adjusted to the final year of period. Available US ZIP-area and county estimates only. Not a percentage or an individual property bill. Null when missing, censored or unsupported.
deep.property_tax.annual_medianinteger
Median annual amount in currency. Dollars adjusted to the final year of period
deep.property_tax.periodstring
Observation period, such as 2020-2024

QUESTIONS

When do I use which lookup?
Country for the standard national rate. State for a state or province reference. A US ZIP for a combined local reference. Choose the geographic scope you need; do not add rates across these lookups.
Is there a separate tax endpoint?
No. Add deep=true on a paid place lookup. Country, state, and US postal detail carry sales tax references. US postal and county detail also carry property-tax medians where published. These are part of the place profile without a separate tax meter.
What do tax and tax_rate mean?
deep.tax names the levy, such as Sales tax, VAT, or GST. deep.tax_rate is a percentage: 7.9 means 7.9%. US ZIP detail can include state, county, city, and special components already included in the combined rate.
What do zero and null mean?
0 is a known zero rate for the reported scope. null means the value is unavailable or does not apply at that scope. The US country record has null because there is no national sales tax; state and local taxes can still apply.
Is a ZIP rate exact for every address?
A ZIP can span more than one tax jurisdiction, so the rate at an exact address can differ. The returned rate is a ZIP-level reference. Local components are included when available.
Which US states are covered?
All 50 states, plus DC. Missing component rates return null; a missing component does not mean zero.
What does property_tax describe?
deep.property_tax.annual_median is the median annual real-estate tax payable on owner-occupied housing in that US ZIP area or county. currency is USD; period gives the observation years. Dollars are adjusted to the final year of that period. It is not a percentage or an individual property bill.
Where are property-tax medians available?
US ZIP-area and county estimates cover the 50 states plus DC, with values where a usable estimate is published. Use /postal/{code}?country=US&deep=true or /district/{code}?country=US&deep=true on a paid plan. Missing, censored, and unsupported estimates return property_tax: null.
Can I use the median to estimate one property bill?
It provides regional context for comparing places. A particular property bill depends on its assessment, exemptions, and local rules. The regional median is not that bill, and dividing it by a median home value does not produce a median effective tax rate.
Where do VAT number checks belong?
Use /vat to validate a VAT number and request a live registration check with deep. A VAT rate and a VAT registration answer different questions.
Where do import duties belong?
Use /tariff for US import duties by HTS code. Origin, effective dates, and conditions belong to that lookup.
Can I calculate an order?
This is a location reference. It does not determine product taxability, exemptions, nexus, the tax owed on an order, or filing requirements.

Check a VAT number or look up import duties with their own lookups.