Guides

Limitations of the USPS API for address validation

by

Radar Team

on

February 20, 2025

The USPS API

The USPS API is a suite of several APIs, including an address standardization API, a ZIP code lookup API, and a city/state lookup API. To power these APIs, the United States Postal Service (USPS) maintains a database of over 160 million mailable addresses in the United States, updated monthly.

The USPS address standardization API fixes typos and formatting issues, returning normalized addresses that match the USPS's standard format. The USPS ZIP code lookup API returns the ZIP+4 code for a specific address, and the city/state lookup API returns the city and state for a specific ZIP code.

Accurate address data is critical for e-commerce, logistics, and other industries. Missing, misspelled, or incorrectly formatted addresses can mean failed deliveries, incomplete orders, poor user experiences, and more. On the other hand, address autocomplete, autofill, and validation can mean seamless user experiences and higher conversion rates.

Limitations of the USPS API

While authoritative, the USPS APIs can be challenging for developers to access and use. Additionally, the USPS APIs can only be used for shipping and mailing services, not bulk address validation or data enrichment. Finally, the USPS APIs lack complementary APIs like forward geocoding, reverse geocoding, and address autocomplete. For that reason, alternatives from Radar, Smarty, Loqate, Google Maps, and others have become popular.

The Radar address validation API

Like the USPS API, Radar's address validation API also fixes typos and formatting issues, returning normalized addresses.

Unlike the USPS API, the Radar address validation API supports the US and Canada. You can call the API directly, or you can call it through our open-source SDKs for iOS, Android, JavaScript, React Native, and more. The API is developer-friendly and fast, and it's part of Radar Maps Platform, which also supports forward geocoding, reverse geocoding, IP geocoding, address autocomplete, places search, routing, base maps, and more.

For example, here's a sample API request:

curl "https://api.radar.io/v1/addresses/validate?countryCode=US&stateCode=NY&city=New%20York&number=841&postalCode=10003&street=Broadway&unit=Fl%7" \
 -H "Authorization: prj_live_pk_..."

And here's a sample API response:

{
 "meta": {
   "code": 200
 },
 "address": {
   "addressLabel": "841 BROADWAY FL 7",
   "unit": "FL 7",
   "number": "841",
   "street": "BROADWAY",
   "city": "NEW YORK",
   "stateCode": "NY",
   "postalCode": "10003",
   "plus4": "4704",
   "county": "NEW YORK",
   "countryCode": "US",
   "formattedAddress": "841 BROADWAY FL 7, NEW YORK, NY 10003-4704 US",
   "metadata": {
     "recordType": "H",
     "propertyType": "commercial"
   }
 },
 "result": {
   "verificationStatus": "verified"
 }
}

Or, on iOS, in Swift:

Radar.validateAddress(
   address: address
) { (status: RadarStatus, address: RadarAddress?, result: ValidationResult) in
   // do something with validation result and address
}

On Android, in Kotlin:

Radar.validateAddress(address) { status, address, result ->
   // do something with validation result and address
}

The response will include a properly formatted, structured address, including street, number, unit, city, state, country, postal code (ZIP+4 in the US), and full address string.

In addition, the response will indicate whether the address is a street address, post office box (PO box), rural route, high-rise, firm, or general delivery address.

Finally, the response will include a validation result that indicates whether the address is verified (matches a complete and unique address), partially verified or ambiguous (partially matches or matches multiple addresses), or unverified (does not match).

Developers can use the validation result and structured address to show a suggested address and correct or autofill end user address input.

For example, Michaels switched address validation in their checkout flow to Radar:

Michaels checkout form
Michaels checkout form

Address autocomplete vs. address validation

Address autocomplete is an important complement to address validation. With Radar's address autocomplete API and UI kit, you can show "address typeahead" experiences to help end users search for addresses or fill out address forms faster.

For example, DICK'S Sporting Goods uses Radar's address autocomplete UI kit in their checkout flow:

DICK's Sporting Goods checkout form
DICK'S Sporting Goods checkout form

Other address verification alternatives

Smarty, Google Maps, and Loqate also offer popular alternatives to the USPS API and Radar's address validation API.

Radar is the all-in-one, cost-effective alternative. Our address validation API is part of our broader Maps Platform, which also supports forward and reverse geocoding, IP geocoding, address autocomplete, places search, routing, base maps, and more. Our Maps Platform is also complemented by our industry-leading geofencing platform, which supports geofencing, trip tracking, and place visit detection. All of these are also useful for logistics, e-commerce, and retail apps and websites that may need address verification.

Radar is up to 90% cheaper than alternatives, with address validation pricing that starts at $2 per 1K API calls, address autocomplete pricing that starts at $0.50 per 1K API calls, and volume discounts available.

To learn more, check out our docs, get started for free, or talk to sales.

It's time to build

See what Radar’s location and geofencingsolutions can do for your business.