Skip to content
All Posts
Quickstart

USPS v3 Address Validation in 30 Seconds

· 3 min read

The USPS v3 REST API replaced the old Web Tools XML API in January 2026. Address validation is one call — no XML parsing, no USERID registration, no SOAP envelopes.

One curl command

Validate an address
curl "https://api.revaddress.com/api/address/validate?streetAddress=1600+Pennsylvania+Ave+NW&city=Washington&state=DC&ZIPCode=20500" \
-H "X-API-Key: rv_live_your_key_here"

That returns a clean JSON response:

Response
{
"address": {
  "streetAddress": "1600 PENNSYLVANIA AVE NW",
  "city": "WASHINGTON",
  "state": "DC",
  "ZIPCode": "20500-0003"
},
"deliveryPoint": "00",
"carrierRoute": "C000",
"DPVConfirmation": "Y",
"vacant": "N"
}

DPVConfirmation: "Y" means USPS confirmed this is a real, deliverable address. No guessing.

Python and Node.js

SDK examples
from usps_v3 import USPSClient

client = USPSClient(api_key="rv_live_your_key_here")

result = client.addresses.validate(
  street_address="1600 Pennsylvania Ave NW",
  city="Washington",
  state="DC",
  zip_code="20500",
)

print(result.address.street_address)
# 1600 PENNSYLVANIA AVE NW

Both SDKs are open source: Python (PyPI) · Node.js (npm)

What you get back

FieldMeaning
DPVConfirmationY = deliverable, N = not deliverable, D = missing secondary (apt #)
carrierRouteUSPS carrier route code
deliveryPoint2-digit delivery point for barcode generation
vacantY if USPS flagged as vacant

Batch validation

Need to validate hundreds of addresses? Use the batch endpoint (Growth tier, up to 50 per call):

Batch request (up to 50 at once)
curl -X POST "https://api.revaddress.com/api/batch/validate" \
-H "X-API-Key: rv_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
  "addresses": [
    {"streetAddress": "1600 Pennsylvania Ave NW", "city": "Washington", "state": "DC"},
    {"streetAddress": "350 Fifth Avenue", "city": "New York", "state": "NY", "ZIPCode": "10118"}
  ]
}'

Next steps

Ready to migrate?

293 tests. 41 routes. USPS-approved. Flat monthly pricing.

3 SDKs (Python · Node · PHP) MIT Licensed No per-label fees