Address Verification Guide

This guide outlines EasyPost's Address Verification services, including background information on general AVS and a tutorial on verifying addresses using the EasyPost API.

For an introduction to EasyPost's API, refer to the Getting Started Guide.


Verification Process

Address verification uses the Address object in combination with the Verifications object. Verification is only performed when the verify, verify_strict, or verify_carrier parameters are specified.

When these parameters are included in the Address creation request, the response includes associated zip4 or delivery attributes:

  • zip4: Available for U.S. addresses; verifies the Zip+4 code.
  • delivery: Checks full address deliverability and may apply minor corrections to spelling or formatting.
  • carrier: Returned when using verify_carrier; indicates carrier-grade verification performed by UPS or FedEx.

Verification results appear in the Verifications object of the returned Address. Possible responses include:

  • success: The address was successfully verified.
  • errors: Indicates a verification failure, with one or more error messages provided.
  • details: Additional data related to the verification, such as the longitude and latitude of the address.

Street Name Abbreviation Behavior

As of August 25, 2025, EasyPost no longer abbreviates street names when verifying addresses through USPS. Abbreviation is applied only when the validated street1 field exceeds 40 characters. This change does not affect address verification performed through other carriers.


International AVS

International address verification uses similar objects and responses, but zip4 is not supported for non-U.S. addresses.

Note: International AVS is a premium stand-alone service that must be enabled before use. For more information about enabling international AVS, contact an EasyPost representative.


Verifying an Address

POST /addresses
1curl -X POST https://api.easypost.com/v2/addresses \
2  -u "EASYPOST_API_KEY": \
3  -H 'Content-Type: application/json' \
4  -d '{
5    "address": {
6      "street1": "000 unknown street",
7      "city": "Not A City",
8      "state": "ZZ",
9      "zip": "00001",
10      "country": "US",
11      "email": "test@example.com",
12      "phone": "5555555555"
13    },
14    "verify": true
15  }'

Strict-Verifying an Address

POST /addresses
1curl -X POST https://api.easypost.com/v2/addresses \
2  -u "EASYPOST_API_KEY": \
3  -H 'Content-Type: application/json' \
4  -d '{
5    "address": {
6      "street1": "000 unknown street",
7      "city": "Not A City",
8      "state": "ZZ",
9      "zip": "00001",
10      "country": "US",
11      "email": "test@example.com",
12      "phone": "5555555555"
13    },
14    "verify_strict": true
15  }'

Verify an Existing Address

POST /addresses/:id/verify
1curl -X GET https://api.easypost.com/v2/addresses/adr_.../verify \
2  -u "EASYPOST_API_KEY":

Additional Resources