API Reference
Static reference for the USPS workflows RevAddress supports today: addresses, rates, service standards, locations, tracking, label workflows, BYOK, and admin diagnostics.
Base URL: https://api.revaddress.com
How to evaluate and expand
Use the free tier to validate and extract real addresses, resolve ZIP+4, compare rates, and test service-standard or location lookups. Add an API key when you are ready for tracking routes, label workflows, batch operations, BYOK, and pickup request access.
- Address validation + extract
- ZIP+4 + city/state lookup
- Domestic + international rate shopping
- Service standards, shipping options, and locations
Use the free tier to prove the integration with live USPS-backed responses before you commit to protected workflow access. No API key required.
- Tracking route access
- Labels + batch validation
- Dashboard + BYOK
- Pickup request access
Protected workflows unlock after signup and plan/account setup, with public claim depth still gated by route-specific proof.
- Managed throughput
- Enterprise onboarding
- Licensing-dependent workflows
Use account setup and support when label volume, routing depth, or licensing needs exceed the default path.
Authentication
No API key required. IP-rate-limited: 30 req/10s. Address validation, rates, locations, service standards.
X-API-Key: rv_live_...
Labels, tracking, pickup, batch validation.
Starter 120/min · Growth 300/min · Pro 600/min. Headers: X-RateLimit-Limit, -Remaining, -Reset.
Try it live
Hit the real USPS API right now. No API key, no signup — free tier, live data, ZIP+4 precision, and guided missing-unit recovery.
Smart mode by default← Enter an address and click Validate
Quick Start Examples
The four most common first requests. Hit the live API immediately.
/api/address/validate curl -s "https://api.revaddress.com/api/address/validate" \
-H "Content-Type: application/json" \
-d '{"streetAddress":"228 Park Ave S PMB 101842","city":"New York","state":"NY","ZIPCode":"10003"}' /api/rates curl -s "https://api.revaddress.com/api/rates" \
-H "Content-Type: application/json" \
-d '{"originZIPCode":"10003","destinationZIPCode":"90210","weight":2.5,"length":12,"width":9,"height":2}' /api/batch/validate curl -s "https://api.revaddress.com/api/batch/validate" \
-H "X-API-Key: rv_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"addresses":[{"streetAddress":"228 Park Ave S","city":"New York","state":"NY","ZIPCode":"10003"},{"streetAddress":"1600 Pennsylvania Ave NW","city":"Washington","state":"DC","ZIPCode":"20500"}]}' /api/tracking/:number curl -s "https://api.revaddress.com/api/tracking/9400111899223456789012" \ -H "X-API-Key: rv_live_your_key_here"
Addresses
Free TierUS address validation and ZIP lookup. Free tier — no API key needed.
Rates
Free TierDomestic and international shipping rate quotes. Free tier.
Tracking
USPS tracking route access with normalized status data. API key required; broader public claim strength still waits on deeper scan-backed proof.
Labels
Managed label workflows with download and void support for protected accounts.
Workflows
Durable label creation workflows with explicit charge approval and status polling.
Pickup
Pickup availability and scheduling routes for protected accounts. Treat this as request-access / limited rollout until its own live proof lane closes.
Locations & Standards
Free TierUSPS drop-off locations and delivery time standards. Free tier.
Admin Diagnostics
Admin-only diagnostics for protected operator use.
BYOK
Bring your own USPS Developer Portal credentials. AES-GCM encrypted at rest.
Account
Self-service usage and key management. Scoped to your API key.
Error Reference
All errors return a consistent JSON shape with machine-readable codes.
{
"error": "usps_auth_failed",
"message": "OAuth token expired or invalid",
"status": 401,
"code": "AUTH_EXPIRED",
"retryable": true
} | Error Code | HTTP Status | Retryable | Action |
|---|---|---|---|
| api_key_required | 401 | — | Add X-API-Key header |
| invalid_api_key | 401 | — | Check that you're using the right live or free-evaluation key for this environment |
| api_key_revoked | 401 | — | Generate a new key |
| rate_limit_exceeded | 429 | Yes | Check retryAfter in response, back off |
| monthly_limit_exceeded | 429 | Next month | Upgrade plan at /pricing |
| free_tier_rate_limit | 429 | Yes | Slow down or get a free API key |
| tier_required | 403 | — | Upgrade plan (batch requires Growth+) |
| usps_validation_error | 422 | No | Fix input address data |
| usps_auth_failed | 401 | Yes | Token auto-refreshes — retry once |
| payment_token_unavailable | 503 | Yes | Retry after a few seconds |
| batch_too_large | 400 | No | Split into batches of ≤50 |