Skip to content
Free tier live · 1,000 calls/month · no credit card

The USPS API
you wish existed.

Every address your business runs on — standardized, geocoded, and confirmed deliverable on your own USPS license — through one clean API, with rates, tracking, and labels behind the same key. Flat monthly price. First call in minutes. A free key that does real work today.

XML Web Tools

410 Gone

Deprecated Jan 25

RevAddress v3

200 OK · 42ms

JSON over HTTPS · api.revaddress.com

No credit card. 1,000 calls/month on the free tier. Why Web Tools died →

api.revaddress.com
200 OK • 42ms
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"
}
DPV ConfirmedResidentialZIP+4 Resolved

What you send

11 Wall St., New York, N.Y., 10005

What comes back

11 WALL ST, NEW YORK, NY, 10005

MATCH-74.01078, 40.70711TRACT 000700MEDIAN INCOME $151,250

One row from the sample donor file — standardized, street-level geocoded, income-enriched in the same pass. Run your file →

01Resilience

Every request gets an answer

DPV verification when the USPS lane is up. Census standardization — clearly labeled — when it isn't. Your integration never sees a raw upstream fault.

USPS DPVyour key · verified record
GET /api/address/validate
// USPS DPV — authoritative delivery-point record
{
  "streetAddress": "1600 PENNSYLVANIA AVE NW",
  "ZIPCode":       "20500",
  "ZIPPlus4":      "0005",
  "DPVConfirmation": "Y",
  "resolution":    "deliverable_exact"
}
Census referenceautomatic fallback · no key
GET /api/address/validate
// Census standardization — automatic fallback, labeled
{
  "streetAddress": "2214 SE MORRISON ST",
  "city":          "PORTLAND",
  "coordinates":   { "lat": 45.5169, "lng": -122.6434 },
  "resolution":    "standardized_unverified",
  "degraded":      true
}

Both shapes captured from the live API. Degraded responses carry degraded: true and an explicit notice — never a silent swap.

02Live demo

Try it — validate any address

No signup. No API key. Free tier, live responses.

api.revaddress.com

Free tier: Census standardization, geocoding, and address extract. Connect your USPS license for DPV, ZIP+4, and rates. Get an API key for higher limits.

03Why RevAddress

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.

04Migration

Migrate in three steps

Replace your USPS Web Tools XML integration with a modern REST API. Most developers ship within an hour.

1

Get your API key

Sign up free — no credit card needed. Standardize and geocode immediately; connect your USPS Developer Portal app for DPV and rates on your license.

2

Install the SDK

pip install usps-v3 or npm install usps-v3. Replace secure.shippingapis.com XML calls with typed REST methods.

3

Ship

Validate addresses, compare rates, and create labels on your USPS license. Add tracking, batch validation, and intelligence when you need them.

05Quickstart

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"
}

06Get started

Your first call is five minutes away.

A free key standardizes and geocodes 1,000 addresses a month — today, no card. Connect your USPS license when you want DPV and rates; go flat-rate when you outgrow free.

Built on the official USPS v3 endpoints. Never a scrape.