UPS API for address validation

Is anyone using the UPS API for address validation in Epicor? We are getting dinged $16 for every incorrect address and looking for options.

Thank you

Not the UPS API, but we built a data directive that hits the Google Maps API to retrieve/store latitude and longitude on addresses. You could do the same thing in a customization layer to flag the address as validated when entered and build logic around that. Or validate when trying to ship through method/data directives. If you’re frequently shipping to the same addresses you could even check a UD table of known good addresses first to save on the number of calls (we do this).

Thanks for the information Jason. Do you currently pay for the Google Maps API?

I’ve integrated 3rd-party address verification API’s into .Net applications and have had good luck with SmartyStreets API (

I would run all your current addresses through this API and then isolate/fix the invalid addresses. For all newly entered addresses, I would integrate the API into the Epicor/application so you have everything current as its processed.

We’re grandfathered in from a time when there were free requests up to a quota (which we never exceed). Current pricing model is $5/1000 requests. Geocoding API Usage and Billing  |  Google for Developers

It works for our purposes (getting approximate latitude/longitude from an address to form a sales heat map), but keep in mind that this isn’t true shipping address verification. It does, however, return a nicely formatted address in the response which could be presented to the user if it doesn’t match the original. Is it an actual address? Yes. Can you ship there? Maybe.

One thing I will say that it does exceptionally well though is returning a decent result even when you give it complete garbage. The underlying algorithms are the same ones that power Google Maps, so it handles typos, weird formatting, and common mistakes to return a best guess result, which is almost always what you meant to enter.

1 Like

This is great information, thanks Jason!