> This page is for version API v1.
> For other versions, use one of these documentation indexes:
> - API v3 (default): https://docs.taxcloud.com/api-v-3/llms.txt
> - API v1: https://docs.taxcloud.com/api-v-1/llms.txt

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

# Address Verification

Address validation is crucial for sales tax calculations to ensure accuracy and compliance. Tax rates vary widely based on geographical jurisdictions, item taxability, and sourcing rules. An incorrect calculation can lead to over or underpaying taxes, which may result in legal issues and financial penalties. By validating addresses, businesses can confidently apply the correct tax rates, meet their legal obligations, and maintain the trust of their customers by providing transparent and fair pricing.

TaxCloud validates street addresses through our *VerifyAddress* API. Presently, our service only supports address validation within the United States, but we plan to extend it beyond the US in the future. Hence, we kindly ask our users to refrain from sending non-US addresses for verification at this time.

For proper and complete sales tax calculation, these data points are **required**:

1. **Origin and delivery Street Address** to determine the applicable sales tax *jurisdictions*.

2. **Date of Sale** to determine the applicable sales tax *rates* for each applicable jurisdiction.

3. **Product or Service Category** to determine if any product or use-based *exemptions* are available.

## VerifyAddress API Required Parameters

A valid set of API Credentials is required. You can find your API credentials by logging into the [TaxCloud](https://app.taxcloud.com/) portal and selecting [Stores](https://app.taxcloud.com/go/stores/).

| Parameter | Description | Example |
| :---- | :---- | :---- |
| apiLoginID | Your unique 7 or 8 character API ID | XXXXXXX |
| apiKey | Your unique API KEY | XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
| Address1 | Numbered Street Address | 162 East Ave |
| Address2 | Apartment, Suite, Floor, etc. | Third Floor |
| City | City Name | Norwalk |
| State | State Name | CT |
| Zip5 | 5-digit Zip Code | 06851 |

## Sample Request

```curl
{
    "apiLoginID": "XXXXXXX",
    "apiKey": "XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "Address1": "162 East Ave",
    "Address2": "Third Floor",
    "City": "Norwalk",
    "State": "CT",
    "Zip5": "06851"
}
```

## Sample Response \# 1 (Verification Succeeded)

```curl
{
    "ErrNumber": "0",
    "ErrDescription": null,
    "Address1": "162 East Ave # 3",
    "Address2": null,
    "City": "Norwalk",
    "State": "CT",
    "Zip5": "06851",
    "Zip4": "5715"
}
```

## Sample Response \# 2 (Verification Failed)

```curl
{
  "ErrNumber": "97",
  "ErrDescription": "Address can't be verified",
  "Address1": null,
  "Address2": null,
  "City": null,
  "State": null,
  "Zip5": null,
  "Zip4": null
}
```

## About `VerifyAddress` Responses

TaxCloud will **not** prevent checkout if address verification fails. Calculations will continue based on the information received but could be inaccurate if we're missing the full address, including, street address, city or locality, state, and 9-digit postal code.

* If the *ErrNumber* \= 0 \= TaxCloud verified the address to use for future *Lookup API* calls.

* If the *ErrNumber* \= *\[anything else\]* \= TaxCloud could not verify the address, proceed with the customer-provided address for subsequent *Lookup* API calls. Verification can fail for a number of reasons \- new or updated address or misspelling.

## What's Next?

Once you have verified your customer's shipping or billing address, next is to make a sales tax *Lookup* call.