Address Validation APIs and Plugins
Here at TaxJar, customers occasionally ask us if we support address validation through the TaxJar API or cart integrations such as WooCommerce or Magento. In order to provide the most affordable and fastest sales tax calculations, we opted to keep this out of our API in favor of lighter validation around states and zip codes. This way you have the opportunity to save money and take advantage of free or low-cost address validation APIs already on the market, usually provided by shipping services such as Shippo and carriers like UPS / USPS.
In this guide I’ll show you where to find these address verification APIs for your eCommerce website or app. I’ll also cover several plugins / extensions for handling address verification on popular eCommerce platforms.
Address Validation APIs
Shippo
Shippo provides a simple shipping API for printing labels and tracking packages with a Stripe-like developer experience. If you only need to verify addresses in the United States, Shippo provides free validation directly through the USPS database before generating a shipping label. Addresses are marked residential or commercial.
Pricing: Free
Countries: US, Australia
API Clients: Ruby, Python, Node, C#, PHP
Documentation: https://goshippo.com/docs/address-validation
Lob
Unlike the first two services I’ve mentioned, Lob provides an API for sending physical mail such as postcards, letters, and checks. Their address verification API is free for all US addresses and $0.15 per international verification. Lob also has a tutorial on how to verify addresses using their Python client.
Pricing: Free (US Only), $0.15 / per international call
Countries: US, International
API Clients: Ruby, Python, Java, Node, PHP
Documentation: https://lob.com/verification/address
UPS Developer APIs
Carriers such as UPS also provide address validation. UPS leverages the USPS database for valid addresses in the US and Puerto Rico. After signing up for a UPS account and requesting an API token, you can download the documentation along with code samples. I linked to several third-party UPS clients on GitHub below.
Pricing: Free
Countries: US
API Clients (Third Party): Ruby, Node, PHP
Documentation: https://www.ups.com/upsdeveloperkit/downloadresource?loc=en_US
SmartyStreets
Since SmartyStreets isn’t 100% free for US addresses, I decided to mention them last. However, it’s one of the best address validation APIs on the market and deserves a shoutout. If you’re looking for a CASS-Certified and highly performant solution then SmartyStreets is your best bet. They provide much more than just USPS data and cool features like autocompletion — take a look for yourself.
Pricing: 250 Lookups Free / Month
Countries: US, International
API Clients: Python, Java, C#, Go, iOS, Android
Documentation: https://smartystreets.com/docs
EasyPost
Similar to Shippo, EasyPost makes it easy to programmatically generate shipping labels and track packages across 60+ carriers. If you sign up for their shipping API, you’ll get full access to their address verification API for free. EasyPost can validate US addresses to the unit level and mark them as residential or commercial.
Pricing: $15+ / Month
Countries: US, International
API Clients: Ruby, Python, Java, Node, C#, PHP
Documentation: https://www.easypost.com/docs/api/curl#addresses
## Address Validation Plugins & Extensions
If you’re using a popular eCommerce platform like WooCommerce or Magento, you shouldn’t have to write a single line of code to validate addresses at checkout. Here’s what I usually I recommend to merchants:
Addressy (Multi-Platform)
Addressy provides an address autocomplete widget with powerful features such as fuzzy error correction and location biasing. It’s a simple JavaScript snippet you can copy and paste into any web form that requires an address. They also provide official integrations for Magento and WooCommerce (by SkyVerge listed below), with more platforms such as Shopify on the way. Thanks to its multilingual capabilities, Addressy works great for international addresses too.
Pricing: Free Magento Extension + 100 US Lookups Free / Month
Platforms: Web, Magento, Magento 2, WooCommerce
Website: https://www.addressy.com/
ShipperHQ (Multi-Platform)
The team at ShipperHQ provide a fantastic all-in-one service for all things related to shipping. Address validation is deeply integrated into their plugins and extensions beyond checkout — validation also occurs in customer address books and customers can override the validation results if incorrect. ShipperHQ is a great solution if you’re looking for accurate shipping rates among a variety of carriers and also happen to be looking for address verification.
Pricing: $50+ / Month
Platforms: Magento, Magento 2, Bigcommerce, Shopify, WooCommerce, Zoey
Website: https://shipperhq.com/
IWD UPS/USPS Address Validation (Magento)
This extension from IWD connects directly to UPS / USPS for address validation using your own UPS / USPS accounts. It’s a $99 one-time purchase, so it’s worthwhile if you’re only looking for address validation. It’s also compatible with multiple one page checkout extensions for Magento.
Pricing: $99 (Magento), $249 (Magento 2)
Platforms: Magento, Magento 2
Website: https://www.iwdagency.com/extensions/magento-ups-usps-address-validation-extension.html
SkyVerge Postcode / Address Validation (WooCommerce)
This plugin for WooCommerce validates addresses using an API provider of your choice, including:
- Addressy
- SmartyStreets (US)
- PCA Predict (UK)
- PostcodeSoftware.net (UK)
- Crafty Clicks (UK)
- Postcode.nl (NL)
Pricing: $49 (1 Site), $79 (5 Sites) + Address Validation API Costs
Platforms: WooCommerce
Website: https://woo.com/products/postcodeaddress-validation/
Wrapping Up
That covers most of the address validation APIs and plugins I’m aware of. If you find anything else interesting, leave it in the comments!