How to Verify an Address (and Why)

Overview

Address verification is understandably important for your customers and your shippers, but did you know address verification is also important for sales tax? Address verification is important for sales tax because, in many states, applicable sales tax jurisdictions frequently change from one side of a street to another. This is why street addresses are so important for proper sales tax jurisdiction assignment (zip codes alone are insufficient).

CAUTION: The interwebs are littered with low quality Zip Code to Tax Rate downloadable data tables intended to attract google search queries. These downloadable data tables should be avoided.

Downloadable Zip Code to Tax Rate data tables are frequently inaccurate and insufficient for proper tax jurisdiction assignment. In some cases, the website distributing those downloads will require you to provide an email address to access the download (which is intentionally incomplete) so the website operator can sell your contact to the highest bidding sales tax vendor looking to sell their premium data product that could actually calculate sales tax correctly.

For proper and complete sales tax calculation, at least 3 data points are required:

  1. 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.

This guide will focus on the first requirement by making a commercially reasonable "best-effort" to get the most accurate street address to ensure the most accurate assignment of applicable tax jurisdictions.

As of this writing, TaxCloud's VerifyAddress API supports address verification for United States addresses only—please do not send non-US addresses.

VerifyAddress API Required Parameters

As with all TaxCloud API operations, a valid set of API Credentials are required. You can find your API Credentials in the TaxCloud > Settings > Stores area after signing into TaxCloud.

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

{
    "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)

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

Sample Response # 2 (Verification Failed)

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

About VerifyAddress Responses

Our goal with the VerifyAddress API is not to prevent checkout if address verification fails. Rather, our goal is to try to make the customer provided address more perfect.

  • If the ErrNumber = 0 = TaxCloud found a more perfect address which should be used for subsequent Lookup API calls.

  • If the ErrNumber = [anything else] = TaxCloud could not find a more perfect address, so you should proceed with the customer provided address for subsequent Lookup API calls.

What's Next?

After verifying your customer's shipping or billing address, the next step is to actually perform a sales tax Lookup API request. You can proceed to our next guide: How to Lookup Sales Tax, or you go directly to the Lookup API documentation.

  • VerifyAddress
  • Lookup
  • AuthorizedWithCapture
  • Returned