Skip to content
← Docs / API Reference

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.

Free now
  • 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.

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.

Higher-volume access
  • Managed throughput
  • Enterprise onboarding
  • Licensing-dependent workflows

Use account setup and support when label volume, routing depth, or licensing needs exceed the default path.

Address validation, ZIP+4 city/state lookup, and rate shopping work free — no API key needed. Add an API key when you move into tracking, labels, request-access pickup, batch validation, or BYOK.

Authentication

Free Tier

No API key required. IP-rate-limited: 30 req/10s. Address validation, rates, locations, service standards.

Protected

X-API-Key: rv_live_...
Labels, tracking, pickup, batch validation.

Rate Limits

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
Response
← Enter an address and click Validate

Quick Start Examples

The four most common first requests. Hit the live API immediately.

POST /api/address/validate
Address validation — free tier, no key needed
FREE
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"}'
POST /api/rates
Rate shopping across all USPS mail classes
FREE
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}'
POST /api/batch/validate
Up to 50 addresses in one request
Growth+
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"}]}'
GET /api/tracking/:number
Tracking status with normalized categories when USPS provides events
Starter+
curl -s "https://api.revaddress.com/api/tracking/9400111899223456789012" \
  -H "X-API-Key: rv_live_your_key_here"

Addresses

Free Tier

US address validation and ZIP lookup. Free tier — no API key needed.

Rates

Free Tier

Domestic 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 Tier

USPS 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_required401Add X-API-Key header
invalid_api_key401Check that you're using the right live or free-evaluation key for this environment
api_key_revoked401Generate a new key
rate_limit_exceeded429YesCheck retryAfter in response, back off
monthly_limit_exceeded429Next monthUpgrade plan at /pricing
free_tier_rate_limit429YesSlow down or get a free API key
tier_required403Upgrade plan (batch requires Growth+)
usps_validation_error422NoFix input address data
usps_auth_failed401YesToken auto-refreshes — retry once
payment_token_unavailable503YesRetry after a few seconds
batch_too_large400NoSplit into batches of ≤50

SDKs

Python v1.0.0
pip install usps-v3
Node.js v1.0.0
npm install usps-v3
PHP v1.0.0
composer require revaddress/usps-v3-php