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
| Field | Meaning |
|---|---|
DPVConfirmation | Y = deliverable, N = not deliverable, D = missing secondary (apt #) |
carrierRoute | USPS carrier route code |
deliveryPoint | 2-digit delivery point for barcode generation |
vacant | Y 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
- Batch validation tutorial — validate 50 addresses in one call
- Full API reference — all 41 endpoints
- Interactive API docs — try requests live in the browser
- Rate limit guide — understand the 60/hr USPS cap and how we handle it
- Migration guide — converting from Web Tools XML
- Get your API key — free to start, no credit card required
Ready to migrate?
293 tests. 41 routes. USPS-approved. Flat monthly pricing.
3 SDKs (Python · Node · PHP) | MIT Licensed | No per-label fees