The USPS API
you wish existed.
Validation, rates, tracking, and address intelligence — behind one JSON REST surface. Free tier, flat pricing, SDKs for Python, Node, and PHP.
XML Web Tools
410 Gone
Deprecated Jan 25
RevAddress v3
200 OK · 42ms
JSON, live from api.revaddress.com
No credit card. 1,000 calls/month on the free tier. Why Web Tools died →
GET /api/address/validate
// Response — exact match
{
"streetAddress": "1600 PENNSYLVANIA AVE NW",
"city": "WASHINGTON",
"state": "DC",
"ZIPCode": "20500",
"ZIPPlus4": "0005",
"DPVConfirmation": "Y",
"deliveryPoint": "99",
"business": "N",
"vacant": "N"
} Two curl commands. Real API. Real USPS responses.
Try it — validate any address
No signup. No API key. Free tier, live USPS responses.
Raw JSON
Free tier: validation, rates, ZIP+4, and address extract. Get an API key for higher limits.
Flat pricing, no per-lookup surcharges
SmartyStreets charges per lookup. EasyPost adds per-label fees. RevAddress is a flat monthly rate — your 1,000th validation costs the same as your first: $0.
See the full comparison →Drop-in SDKs
Open-source Python, Node.js, and PHP SDKs. Install, pass your API key, call validate(). Replace XML endpoints with REST in one afternoon.
Your keys, our infrastructure
Bring your own USPS Developer Portal credentials. We handle OAuth token lifecycle, rate limits, and encrypted storage. Your data stays yours, AES-GCM encrypted at rest.
Migrate in three steps
Replace your USPS Web Tools XML integration with a modern REST API. Most developers ship within an hour.
Get your API key
Sign up free — no credit card needed. Start calling validation and rate endpoints immediately.
Install the SDK
pip install usps-v3 or npm install usps-v3. Replace secure.shippingapis.com XML calls with typed REST methods.
Ship
Validate addresses, compare rates, and create labels. Add tracking, batch validation, and BYOK when you need them.
Working USPS validation in under 60 seconds
cURL first — switch to Python, Node, or PHP with one click. Same shape, same response, drop-in SDKs.
# Validate an address (free tier)
curl "https://api.revaddress.com/api/address/validate\
?streetAddress=1600+Pennsylvania+Ave&city=Washington&state=DC&ZIPCode=20500" \
# 200 OK — 42ms
{
"streetAddress": "1600 PENNSYLVANIA AVE NW",
"ZIPCode": "20500",
"DPVConfirmation": "Y"
} Start shipping in 5 minutes
Free tier for validation and rates. Flat monthly pricing when you need more.
Works against the official USPS v3 endpoint. Not a scrape.