USPS officially retired the Web Tools API on January 25, 2026. The XML endpoints at secure.shippingapis.com and production.shippingapis.com no longer respond, which means this package is non-functional for all users.
What changed:
|
Web Tools (old) |
v3 REST (new) |
| Auth |
API key in query string |
OAuth 2.0 client_credentials |
| Format |
XML |
JSON |
| Endpoint |
ShippingAPI.dll?API=Verify |
apis.usps.com/addresses/v3/address |
| Rate limit |
Effectively unlimited |
40–60 req/hour |
| Credentials |
Single user ID |
Consumer Key + Secret from developer.usps.com |
The new OAuth tokens expire hourly and requesting a new token revokes the previous one, so any migration needs to handle token caching and serialized refresh.
For anyone looking for a working Node.js alternative, I maintain an MIT-licensed SDK that wraps the new v3 endpoints:
It handles OAuth token lifecycle, endpoint mapping, and has TypeScript definitions. Source: https://github.com/revereveal/usps-v3-node
If managing USPS OAuth and rate limits isn't worth the overhead, there's also a managed proxy at https://revaddress.com that handles it behind a simple API key.
Migration guide with endpoint mapping: https://revaddress.com/blog/usps-web-tools-migration-checklist
USPS officially retired the Web Tools API on January 25, 2026. The XML endpoints at
secure.shippingapis.comandproduction.shippingapis.comno longer respond, which means this package is non-functional for all users.What changed:
client_credentialsShippingAPI.dll?API=Verifyapis.usps.com/addresses/v3/addressThe new OAuth tokens expire hourly and requesting a new token revokes the previous one, so any migration needs to handle token caching and serialized refresh.
For anyone looking for a working Node.js alternative, I maintain an MIT-licensed SDK that wraps the new v3 endpoints:
It handles OAuth token lifecycle, endpoint mapping, and has TypeScript definitions. Source: https://github.com/revereveal/usps-v3-node
If managing USPS OAuth and rate limits isn't worth the overhead, there's also a managed proxy at https://revaddress.com that handles it behind a simple API key.
Migration guide with endpoint mapping: https://revaddress.com/blog/usps-web-tools-migration-checklist