> This page is for version v6.0 (default).
> For other versions, use one of these documentation indexes:
> - v6.0 (default): https://docs.zip.tax/v-6-0/llms.txt
> - v5.0: https://docs.zip.tax/v-5-0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.zip.tax/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.zip.tax/_mcp/server.

# Get Tax Rates

GET https://api.zip-tax.com/request/v60

**Every request locates the applicable jurisdiction(s) with one of three parameter sets.** Send the parameters from a single set. When parameters from more than one set are present, the most precise set wins: `address`, then `lat`/`lng`, then `postalcode`.

**Option 1 (recommended) — `address`.** Geocodes the street address to a single rooftop-level jurisdiction and applies unincorporated-area and special-district adjustments. This is the preferred method and the one to use for calculating tax.

**Option 2 (alternative) — `lat` and `lng`.** Resolves the single jurisdiction containing a geographic point. Use it when you already have verified coordinates and want to skip geocoding. Both parameters are required; one on its own is not a coordinate lookup.

**Option 3 (general use only, not an accurate rate method) — `postalcode`, plus optional `state` (or `stateCode`), `county`, and `city`.** Returns every rate that overlaps the ZIP, with no door-level accuracy. The optional parameters only narrow that list; they do not resolve a single jurisdiction. Do not use this set to calculate tax on a transaction. A postal-code lookup (no `address` and no `lat`/`lng`) also returns the legacy v5.0-style response body (`version`, `rCode`, `results`) rather than the structured object documented below.

Options 1 and 2 are geocoded lookups and require a current plan with geocoding; without it the request returns response code 107. A request that supplies none of the three sets returns response code 104.

Walkthroughs with full request and response samples: [By Address](/guides/rest-api/by-address), [By Lat / Lng](/guides/rest-api/by-lat-lng), [By Postal Code](/guides/rest-api/by-postal-code).

Reference: https://docs.zip.tax/api-reference/tax-rates/get-tax-rates-v-60

## Authentication

- `X-API-KEY` header (required) — API Key authentication via header

## Request

### Query parameters

- `key` (string, optional) — API key that authenticates the request and resolves the account's plan, entitlements, and rate limits. Supply it either as this query parameter or the X-API-KEY request header. A missing, malformed, or unknown key returns response code 101.
- `format` (enum, optional, default: json) — Serialization format of the response body. 'json' (default) returns a JSON object; 'xml' returns the same data as an XML document.
  - Allowed values: `json`, `xml`
- `countryCode` (enum, optional, default: USA) — Country of the lookup: 'USA' (default), 'CAN', or a US territory (ASM, GUM, MNP, PRI, VIR). 'CAN' requires the Canadian rates (rate_loc_can) entitlement; otherwise the request returns response code 112. US territories are looked up via the USA path and require no additional entitlement.
  - Allowed values: `USA`, `CAN`, `PRI`, `ASM`, `GUM`, `MNP`, `VIR`
- `postalcode` (string, optional) — 5-digit US ZIP code to look up. When supplied on its own the response may contain rates for multiple overlapping jurisdictions. An invalid format returns response code 104.
- `address` (string, optional) — Street address to geocode to a single rooftop-level jurisdiction. Geocoding requires the geo_enabled entitlement; an incomplete or ungeocodable address returns response code 109.
- `state` (string, optional) — State name or two-letter abbreviation. Used with city or postal code to disambiguate the location. An invalid format returns response code 102.
- `stateCode` (string, optional) — Two-letter state code (e.g. CA). Alternative to 'state' for supplying the state as a code rather than a name.
- `city` (string, optional) — City name used together with state to narrow the lookup when no street address is supplied. An invalid format returns response code 103.
- `county` (string, optional) — County name used to refine the lookup when supplied without a street address.
- `lat` (double, optional) — Latitude of a geographic point. When both lat and lng are supplied the API resolves the single jurisdiction containing that point (coordinate lookup).
- `lng` (double, optional) — Longitude of a geographic point. When both lat and lng are supplied the API resolves the single jurisdiction containing that point (coordinate lookup).
- `adjustment` (enum, optional, default: auto) — Sourcing/unincorporated-area handling. Defaults to 'auto', which applies the appropriate sourcing adjustment on geo (address) lookups in unincorporated areas. The values 'origin' and 'destination' are accepted but currently do not change the resolved result.
  - Allowed values: `auto`, `origin`, `destination`
- `sat_item_total` (double, optional) — Single-article item total in dollars, used for Tennessee Single Article Tax (SAT) calculation on TN address lookups. Note: the v6.0 response does not currently return a SAT breakdown object; the SAT detail (satTaxDetail) is available in the v5.0 response.
- `historical` (string, optional) — Historical period to price the lookup against, formatted YYYYMM (6 digits, e.g. 202401). Returns the rates that were in effect for that month. Requires historical data to be enabled; an invalid format returns response code 111.
- `taxabilityCode` (string, optional) — Product Taxability Information Code (TIC). When supplied, the response includes a productDetail object describing the rate rules that apply to that product category in the resolved jurisdiction. Accepts numeric standard TIC codes (e.g., 20010) or alphanumeric override codes (e.g., CIR00001). Requires the product_rates entitlement for standard codes.
- `addressDetailExtended` (boolean, optional, default: false) — When true, returns a full geocoding object in the response broken into address parts (street, city, postal code, etc.). Defaults to false.
- `shippingExtended` (boolean, optional, default: false) — When true, returns a detailed shipping object to help navigate collection complexity. The GENERAL_RULE value will be one of: EXEMPT, EXEMPT_WHEN_SEPARATELY_STATED, ITEM_SPECIFIC, CONDITIONAL, or TAXABLE. For EXEMPT_WHEN_SEPARATELY_STATED, the response includes a boolean flag, and a natural-language description is included for clarity. Defaults to false.

## Response

### 200

OK

- `addressDetail` (V60AddressDetail, required) — Normalized and geocoded address details used for the lookup.
- `metadata` (V60Metadata, required) — Versioning and response-code metadata for the request.
- `service` (V60Service, required) — Whether services/labor are taxable in the resolved jurisdiction.
- `shipping` (V60Shipping, required) — Whether freight/shipping is taxable in the resolved jurisdiction.
- `sourcingRules` (V60OriginDestination, required) — Sourcing model (origin- vs destination-based) that applies to the resolved location.
- `baseRates` (list of V60BaseRate, optional) — Component tax rates broken out by jurisdiction level (state/county/city/district) and tax type (sales/use). Sum the relevant components to obtain a combined rate.
- `productDetail` (V60ProductDetail, optional) — Product-specific tax rules. Present only when a taxabilityCode is supplied on the request and the account carries the product_rates entitlement.
- `taxSummaries` (list of V60TaxSummary, optional) — Aggregated sales and use tax rates for the location, summarizing the base rate components.

## Errors

### 401 Get Tax Rates V60request Unauthorized Error

Unauthorized

- `detail` (string, optional) — A human-readable explanation specific to this occurrence of the problem.
- `errors` (list of ErrorDetail, optional) — List of individual error details
- `instance` (string, optional) — A URI reference that identifies the specific occurrence of the problem.
- `status` (long, optional) — HTTP status code
- `title` (string, optional) — A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
- `type` (string, optional, default: about:blank) — A URI reference to human-readable documentation for the error.

### 403 Get Tax Rates V60request Forbidden Error

Forbidden

- `detail` (string, optional) — A human-readable explanation specific to this occurrence of the problem.
- `errors` (list of ErrorDetail, optional) — List of individual error details
- `instance` (string, optional) — A URI reference that identifies the specific occurrence of the problem.
- `status` (long, optional) — HTTP status code
- `title` (string, optional) — A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
- `type` (string, optional, default: about:blank) — A URI reference to human-readable documentation for the error.

### 405 Get Tax Rates V60request Method Not Allowed Error

Method Not Allowed

- `detail` (string, optional) — A human-readable explanation specific to this occurrence of the problem.
- `errors` (list of ErrorDetail, optional) — List of individual error details
- `instance` (string, optional) — A URI reference that identifies the specific occurrence of the problem.
- `status` (long, optional) — HTTP status code
- `title` (string, optional) — A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
- `type` (string, optional, default: about:blank) — A URI reference to human-readable documentation for the error.

### 422 Get Tax Rates V60request Unprocessable Entity Error

Unprocessable Entity

- `detail` (string, optional) — A human-readable explanation specific to this occurrence of the problem.
- `errors` (list of ErrorDetail, optional) — List of individual error details
- `instance` (string, optional) — A URI reference that identifies the specific occurrence of the problem.
- `status` (long, optional) — HTTP status code
- `title` (string, optional) — A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
- `type` (string, optional, default: about:blank) — A URI reference to human-readable documentation for the error.

### 429 Get Tax Rates V60request Too Many Requests Error

Too Many Requests

- `detail` (string, optional) — A human-readable explanation specific to this occurrence of the problem.
- `errors` (list of ErrorDetail, optional) — List of individual error details
- `instance` (string, optional) — A URI reference that identifies the specific occurrence of the problem.
- `status` (long, optional) — HTTP status code
- `title` (string, optional) — A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
- `type` (string, optional, default: about:blank) — A URI reference to human-readable documentation for the error.

### 500 Get Tax Rates V60request Internal Server Error

Internal Server Error

- `detail` (string, optional) — A human-readable explanation specific to this occurrence of the problem.
- `errors` (list of ErrorDetail, optional) — List of individual error details
- `instance` (string, optional) — A URI reference that identifies the specific occurrence of the problem.
- `status` (long, optional) — HTTP status code
- `title` (string, optional) — A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
- `type` (string, optional, default: about:blank) — A URI reference to human-readable documentation for the error.

## Types

### V60AddressDetail

- `normalizedAddress` (string, required) — Standardized address returned by the geocoder, or empty when the location was not geocoded (e.g. postal-code-only lookups).
- `incorporated` (enum, required) — Whether the location falls within incorporated city limits, as the string 'true' or 'false'.
  - Allowed values: `true`, `false`
- `geoLat` (float, required) — Latitude of the geocoded location, or 0 when the location was not geocoded.
- `geoLng` (float, required) — Longitude of the geocoded location, or 0 when the location was not geocoded.
- `address` (V60AddressComponents, optional) — Extended address components from the geocoder. Present only when addressDetailExtended=true is supplied on a geocoded (address or lat/lng) lookup. Available for both USA and Canadian lookups.

### V60Metadata

- `response` (V60ResponseInfo, required) — Response-code detail: numeric code, symbolic name, human-readable message, and a URL to the response schema definition.
- `version` (string, required) — Schema version of the response payload.

### V60Service

- `adjustmentType` (string, required) — Service taxation classification. Currently always 'SERVICE_TAXABLE'.
- `description` (string, required) — Human-readable explanation of the service taxability determination.
- `taxable` (enum, required) — Whether services/labor are taxable in this jurisdiction. 'Y' = the service is fully taxable and must be separately stated on the invoice; 'N' = the service is not taxable and must be separately stated on the invoice; 'L' = the service is not taxable, but the labor portion is taxable and both must be separately stated on the invoice.
  - Allowed values: `Y`, `N`, `L`

### V60Shipping

- `adjustmentType` (string, required) — Freight taxation classification. Currently always 'FREIGHT_TAXABLE'.
- `description` (string, required) — Human-readable explanation of the freight/shipping taxability determination.
- `taxable` (enum, required) — Whether freight/shipping is taxable in this jurisdiction. 'Y' = taxable, 'N' = not taxable.
  - Allowed values: `Y`, `N`
- `shippingExtended` (V60ShippingExtended, optional) — Extended state-level shipping rule detail. Present only when shippingExtended=true is supplied on the request.

### V60OriginDestination

- `adjustmentType` (string, required) — Sourcing ruleset name. Currently always 'ORIGIN_DESTINATION'.
- `description` (string, required) — Human-readable description of the sourcing model applied (e.g. 'Destination Based Taxation').
- `value` (enum, required) — Sourcing basis for the location: 'O' = origin-based (ship-from rate), 'D' = destination-based (ship-to rate).
  - Allowed values: `O`, `D`

### V60BaseRate

- `jurDescription` (string, required) — Human-readable label combining the jurisdiction and tax type (e.g. 'US State Sales Tax').
- `jurName` (string, required) — Name or code of the jurisdiction: state alpha code, county/city name, or district label (e.g. 'CA', 'ORANGE', 'Local District: 37').
- `jurType` (enum, required) — Jurisdiction level combined with the tax kind (sales vs use) this component represents.
  - Allowed values: `US_STATE_SALES_TAX`, `US_STATE_USE_TAX`, `US_COUNTY_SALES_TAX`, `US_COUNTY_USE_TAX`, `US_CITY_SALES_TAX`, `US_CITY_USE_TAX`, `US_DISTRICT_SALES_TAX`, `US_DISTRICT_USE_TAX`
- `rate` (float, required) — Tax rate for this jurisdiction/tax-type component, as a decimal fraction (e.g. 0.0625 = 6.25%).
- `jurTaxCode` (string, optional) — FIPS-like tax code for the jurisdiction (state, county, city, or district). For Texas city components this is the TAID published for the city that contains the address. Null when the jurisdiction has no associated code.

### V60ProductDetail

- `taxabilityCode` (V60TaxabilityCode, required) — Resolved taxability code details and the product rate rules that apply in this jurisdiction.

### V60TaxSummary

- `rate` (float, required) — Aggregated tax rate for this summary line, as a decimal fraction (e.g. 0.0775 = 7.75%).
- `summaryName` (string, required) — Human-readable name of the summary grouping (e.g. 'Sales Tax').
- `taxType` (enum, required) — Tax kind this summary aggregates: 'SALES_TAX' or 'USE_TAX'.
  - Allowed values: `SALES_TAX`, `USE_TAX`
- `displayRates` (list of V60DisplayRate, optional) — Per-line rate breakdown displayed under this summary.

### ErrorDetail

- `location` (string, optional) — Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'
- `message` (string, optional) — Error message text
- `value` (any, optional) — The value at the given location

### V60AddressComponents

- `countryCode` (string, required) — ISO-3 country code of the geocoded location (e.g. USA, CAN).
- `countryName` (string, required) — Full country name of the geocoded location (e.g. United States, Canada).
- `stateCode` (string, required) — State or province code (e.g. CA, ON).
- `state` (string, required) — Full state or province name.
- `county` (string, required) — County name, when available.
- `city` (string, required) — City name.
- `street` (string, required) — Street name.
- `postalCode` (string, required) — Full postal code (ZIP+4 for US addresses when available; full Canadian postal code for Canadian addresses).
- `houseNumber` (string, required) — House/street number, when available.

### V60ResponseInfo

- `code` (long, required) — Numeric status code (100 = success)
- `definition` (string, required) — URL to the response schema
- `message` (string, required) — Human-readable summary
- `name` (string, required) — Symbolic status name

### V60ShippingExtended

- `description` (string, required) — Human-readable description of the shipping taxability rule.
- `exemptWhenSeparatelyStated` (string, required) — Whether shipping is exempt when separately stated on the invoice, as the string 'true' or 'false'.
- `rule` (string, required) — General shipping-taxability rule for the state: one of EXEMPT, EXEMPT_WHEN_SEPARATELY_STATED, ITEM_SPECIFIC, CONDITIONAL, or TAXABLE.
- `stateCode` (string, required) — Two-letter state code the shipping rule applies to.
- `stateName` (string, required) — Full state name the shipping rule applies to.

### V60TaxabilityCode

- `countyFIPS` (string, required) — County FIPS code resolved for the request location.
- `id` (string, required) — Taxability Information Code (TIC) supplied on the request.
- `label` (string, required) — Longer description of the TIC.
- `rateActionCode` (enum, required) — Outcome of the TIC lookup: T00 (valid TIC, rules listed), T01 (valid TIC, no applicable rate rules), T02 (invalid TIC), T03 (invalid TIC format).
  - Allowed values: `T00`, `T01`, `T02`, `T03`
- `rateActionMessage` (string, required) — Human-readable explanation of the rateActionCode.
- `stateFIPS` (string, required) — State FIPS code resolved for the request location.
- `title` (string, required) — Short title of the TIC.
- `rateRules` (list of V60RateRule, optional) — Product rate rules that apply to this TIC in the resolved jurisdiction, filtered to rules active on the current date.
- `specialRules` (V60SpecialRules, optional) — Special tax rules that apply to this TIC beside its rate rules. Present only when one applies (today, meal tax on TICs 41000 and 41041).

### V60DisplayRate

- `name` (string, required) — Label for this display rate line (e.g. the jurisdiction name).
- `rate` (float, required) — Rate for this display line, as a decimal fraction.

### V60RateRule

- `effectiveDt` (long, optional) — Date the rule takes effect, in YYYYMMDD format; null when not specified.
- `effectiveTaxRate` (float, optional) — Decimal tax rate that applies to this product in this jurisdiction; null when not specified.
- `exemptOver` (float, optional) — Amounts above this dollar value are exempt; null when not specified.
- `exemptUnder` (float, optional) — Line-item exemption threshold; amounts below this dollar value are exempt; null when not specified.
- `expiresDt` (long, optional) — Date the rule expires, in YYYYMMDD format; null means the rule is still in effect.
- `isDestinationTaxType` (boolean, optional) — Whether the rule follows destination-based sourcing; null when not specified.
- `isFoodDrug` (boolean, optional) — Hint indicating the product falls under food/drug category classification; null when not specified.
- `jurTaxCode` (string, optional) — Code identifying the jurisdiction the rule applies to: a FIPS-like code (state, county, or city), or a conditional jurisdiction code of the form 36:XX-#### or 36:XX-L#### (NY ST-100.3 codes for location-resolved school district / city / county rules; the code is specific to the form part the TIC is sourced from); null when not specified.
- `perVolumeTaxRate` (float, optional) — Per-volume tax rate for volume-based TIC overrides (e.g., $0.05/mL); null when not applicable.
- `perVolumeUnit` (string, optional) — Unit of measurement for perVolumeTaxRate (e.g., mL); null when not applicable.
- `percentTaxable` (float, optional) — Fraction of the sale that is taxable (for example, 0.5 means half-exempt); null when not specified.
- `rateCapPerUnit` (float, optional) — Maximum tax rate cap per unit for capped TIC overrides (e.g., $0.30/cigar); null when not applicable.
- `taxablePortionOver` (float, optional) — Only the amount over this threshold is taxed; null when not specified.

### V60SpecialRules

- `mealTax` (V60MealTax, optional) — Meal tax on prepared food. Present only when taxabilityCode is 41000 or 41041.

### V60MealTax

- `combinedMealRate` (float, optional) — Sum of the returned components' rates, as a decimal. Excludes ordinary sales tax; a component with replacesStateRate true stands in for the state sales tax component rather than adding to it. null when no component applies.
- `reasonCodes` (list of enum, optional) — Qualifications of the result. LOCATION_NOT_RESOLVED and RULES_NOT_LOADED mean meal tax could not be evaluated, so an empty rules array is not a finding of no meal tax. STATE_NOT_COVERED: the dataset has no meal-tax rules for the state, which is not a finding that the state has none. UNMAPPED_SCOPES_IN_STATE: some of the state's meal-tax districts could not be evaluated for a location.
  - Allowed values: `LOCATION_NOT_RESOLVED`, `RULES_NOT_LOADED`, `STATE_NOT_COVERED`, `UNMAPPED_SCOPES_IN_STATE`
- `rules` (list of V60MealTaxRule, optional) — Meal-tax components that apply at the location, widest jurisdiction first. Empty if none.

### V60MealTaxRule

- `componentType` (enum, required) — ADD_ON is levied on top of sales tax. STATE_SPECIAL_TOTAL is a state meals rate that replaces the state sales tax component. OCCUPATION_TAX is a seller-side levy that may itself enter the sales tax base.
  - Allowed values: `ADD_ON`, `STATE_SPECIAL_TOTAL`, `OCCUPATION_TAX`
- `jurisdictionCode` (string, required) — Geography code the location matched: state FIPS, state + county FIPS, Census place GEOID (7 digits), or Census county subdivision GEOID (10 digits, Massachusetts and Vermont towns).
- `jurisdictionName` (string, required) — Levying jurisdiction's name.
- `jurisdictionType` (string, required) — Levying jurisdiction level, e.g. STATE, COUNTY, INDEPENDENT_CITY, MUNICIPALITY, SPECIAL_DISTRICT.
- `rate` (float, required) — Component rate as a decimal (0.01 = 1%).
- `replacesStateRate` (boolean, required) — True when this component replaces the state sales tax component instead of adding to it.
- `sourcingBasis` (string, required) — How the levy is sourced (e.g. SELLER_LOCATION, DESTINATION); independent of the ordinary sourcingRules.
- `taxName` (string, required) — Name of the tax program.
- `effectiveDt` (long, optional) — First day the component applies, YYYYMMDD; null when not recorded.
- `expiresDt` (long, optional) — Last day the component applies, YYYYMMDD; null when open-ended.

## Examples

**Response**

```json
{
  "addressDetail": {
    "normalizedAddress": "200 Spectrum Center Dr, Irvine, CA 92618-5003, United States",
    "incorporated": "true",
    "geoLat": 33.65253,
    "geoLng": -117.74794,
    "address": {
      "countryCode": "USA",
      "countryName": "United States",
      "stateCode": "CA",
      "state": "California",
      "county": "Orange",
      "city": "Irvine",
      "street": "Spectrum Center Dr",
      "postalCode": "92618-5003",
      "houseNumber": "200"
    }
  },
  "metadata": {
    "response": {
      "code": 100,
      "definition": "http://api.zip-tax.com/request/v60/schema",
      "message": "Successful API Request.",
      "name": "RESPONSE_CODE_SUCCESS"
    },
    "version": "v60"
  },
  "service": {
    "adjustmentType": "SERVICE_TAXABLE",
    "description": "Services non-taxable",
    "taxable": "N"
  },
  "shipping": {
    "adjustmentType": "FREIGHT_TAXABLE",
    "description": "Freight non-taxable",
    "taxable": "N",
    "shippingExtended": {
      "description": "Separately stated common-carrier or USPS shipping is generally exempt if not above actual cost. Handling is taxable, and seller-delivered charges are often taxable.",
      "exemptWhenSeparatelyStated": "True",
      "rule": "CONDITIONAL",
      "stateCode": "CA",
      "stateName": "California"
    }
  },
  "sourcingRules": {
    "adjustmentType": "ORIGIN_DESTINATION",
    "description": "Destination Based Taxation",
    "value": "D"
  },
  "baseRates": [
    {
      "jurDescription": "US State Sales Tax",
      "jurName": "CA",
      "jurType": "US_STATE_SALES_TAX",
      "rate": 0.0725,
      "jurTaxCode": "06"
    },
    {
      "jurDescription": "US State Use Tax",
      "jurName": "CA",
      "jurType": "US_STATE_USE_TAX",
      "rate": 0.0725,
      "jurTaxCode": "06"
    },
    {
      "jurDescription": "US County Sales Tax",
      "jurName": "ORANGE",
      "jurType": "US_COUNTY_SALES_TAX",
      "rate": 0.005,
      "jurTaxCode": "30"
    },
    {
      "jurDescription": "US County Use Tax",
      "jurName": "ORANGE",
      "jurType": "US_COUNTY_USE_TAX",
      "rate": 0.005,
      "jurTaxCode": "30"
    },
    {
      "jurDescription": "US City Sales Tax",
      "jurName": "IRVINE",
      "jurType": "US_CITY_SALES_TAX",
      "rate": 0,
      "jurTaxCode": null
    },
    {
      "jurDescription": "US City Use Tax",
      "jurName": "IRVINE",
      "jurType": "US_CITY_USE_TAX",
      "rate": 0,
      "jurTaxCode": null
    }
  ],
  "taxSummaries": [
    {
      "rate": 0.0775,
      "summaryName": "Total Base Sales Tax",
      "taxType": "SALES_TAX",
      "displayRates": [
        {
          "name": "Total Rate",
          "rate": 0.0775
        }
      ]
    },
    {
      "rate": 0.0775,
      "summaryName": "Total Base Use Tax",
      "taxType": "USE_TAX",
      "displayRates": [
        {
          "name": "Total Rate",
          "rate": 0.0775
        }
      ]
    }
  ]
}
```

**SDK Code**

```python
import requests

url = "https://api.zip-tax.com/request/v60"

querystring = {"address":"200 Spectrum Center Dr Irvine CA","key":"your-api-key"}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.zip-tax.com/request/v60?address=200+Spectrum+Center+Dr+Irvine+CA&key=your-api-key';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.zip-tax.com/request/v60?address=200+Spectrum+Center+Dr+Irvine+CA&key=your-api-key"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.zip-tax.com/request/v60?address=200+Spectrum+Center+Dr+Irvine+CA&key=your-api-key")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.zip-tax.com/request/v60?address=200+Spectrum+Center+Dr+Irvine+CA&key=your-api-key")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.zip-tax.com/request/v60?address=200+Spectrum+Center+Dr+Irvine+CA&key=your-api-key');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.zip-tax.com/request/v60?address=200+Spectrum+Center+Dr+Irvine+CA&key=your-api-key");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.zip-tax.com/request/v60?address=200+Spectrum+Center+Dr+Irvine+CA&key=your-api-key")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```