My Geocode Service Won't Give Me ZIP+4 Codes. Why?

ZIP+4 Code for Geocode

So you're using a geocoder service to do some reverse geocoding, and you want to get the ZIP+4 Code for an address (or perhaps some other variety of address completion). But the geocoding service you're using (read: the Google Maps Geocoding API, Bing, etc.) doesn't give it to you. You've used all the gadgets in your Batbelt, but you still can't find those elusive four digits behind a hyphen. Why is that? What can be done? Is there any hope for geocode rescue? Will these senseless riddles ever end?

Yes, but not if you keep the provider you're using.

Providers like Google don't standardize, parse, or validate addresses. All they do is take the address you give them and approximate its location on a map ( even for addresses that aren't real). But ZIP+4 Codes aren't locations; they're small delivery segments of the route mail carriers actually take as they distribute the mail, and that makes big difference.

Even though the geocodes for a physical location (say, your friend Jeff's house) never change, delivery routes do change from time to time. That means that if you want to know for sure what the exact ZIP Code of an address is (all nine digits of it), you'll need access to the USPS address database where that information is kept. And to get that, you'll need an address validation service.

The good news for you is: you can use our US Rooftop Geocoding service that has validation baked in.

First, let's talk a little bit about ZIP Codes.

What's a ZIP+4?

You may already know the answer to this question if you're trying to find a ZIP+4, but since you're reading this article, you might not. A ZIP+4 is a five-digit ZIP Code with an additional four digits attached behind a hyphen. That's the cosmetic answer. Here's the get-your-hands-dirty version.

ZIP Codes aren't shapes, boundaries, or geographical locations. They're lines. Specifically, they are the lines along which mail is distributed. A given ZIP Code will have a central hub (like a post office), and will be serviced by the good men and women of the USPS that work out of that post office. They only cover that specific territory, and those lines of delivery can change at any time, according to the needs of the USPS's infrastructure.

Download '8 Questions to Ask When Selecting A Geocoding API' Now.

Sending mail with the ZIP Code on it ensures it will arrive at the correct post office. With every additional number that is added to the back end, the accuracy gets closer and closer to the actual location the mail is headed for. Once you've filled out the full ZIP+4, you've hit a small delivery segment—such as a street, a city block, a group of apartments, or even an individual address that receives a high volume of mail. That's it. A ZIP+4 location is the place where the postman gets out of the truck with a handful of mail.

The important takeaway in all of this? In order for a provider to give you the ZIP+4, they have to have access to the USPS's mailing data—specifically, how mail is distributed within a ZIP Code. Access to that level of data is only found in the hands of either the USPS itself or companies that purchase the data from them and offer it to the public in the form of address verification services.

Note: not all USPS deliverable addresses have a ZIP+4 Code assigned to them.

ZIP+4 Codes and Geocodes

So now you know that you can get ZIP+4 Codes from an address validation service. Bonus points: the geocodes you were originally looking for usually come as part of that package—a fact we know because, well, we do it. Before any of that happens, though, an address given to us—or anyone, to be fair—is standardized (and usually parsed…at some point).

Address parsing and standardizing are kind of hard to separate. They're technically separate processes, but they're used in such an interconnected manner that they might as well be a peanut butter and jelly sandwich—you don't usually eat either on their own. The two work best together.

Here's the short version: parsing an address breaks it down into components and tries to label each one correctly; address standardization corrects formatting, spelling, and holes in the data.

A really smart parser (usually the non-regex kind) can accurately compare the partially standardized address (fixed capitalization and abbreviations, etc.) to an authoritative database, and check to see if the spelling is off or data is missing. If it's really good, it can even return information on addresses that flag as invalid, marking what parts of the address didn't match the database (like "This street doesn't exist", or "There's no '158' on this street").

That's great; you have a shiny, spiffy address that's labeled all fancy-like. But you still need that ZIP+4, and there's only one way to get it.

Address Validation and Geocodes

The long and short of it: validation means comparing an address against a database (like the USPS) to see if it's real. If there's a match in the system, it's real. If not, it may be real or it may not be, but since it isn't in the database it doesn't exist to them. Which, in turn, means that mail you send there will never make it—the postal service will fail to recognize it as an address, and will subsequently return it to you (and you won't be refunded the postage, so that's a double bummer). A real address that doesn't validate is kind of like the mathematical concept of infinity: sure it exists, but you're never going to reach it. So if you want to reach an address, it has to be in the database, and the only way to know if an address is on the list is to validate it.

Which loops us back around to the beginning. Address verification is a complicated thing. Kind of like the Force…but our explanation involves no "midichlorians." Anyway, the point is, what we do involves a lot of hard work and quality coding, the result of which processes addresses at speeds upwards of 10,000 requests a second.

Well, at least, for us; but then, we just like things to go fast.

Validation involves standardizing and parsing an address, cross referencing a database for validity and verification, and compiling complementary data like (geocodes) to provide to users. Validation also gets bonus points for providing you with the ZIP+4 Codes you've been reading this article, hoping to find.

We're not just saying all of this to toot our own horn; validation really is the best way to get ZIP+4 Codes. And the best part? You know for sure that the address is real when you validate it. The information comes back to you completed and cleaned (along with other goodies like geocoding and a toy in the box), and you get what you want wrapped up in a neat little package.


ZIP+4 Codes aren't the sort of thing that's picked up at a grocery store or ordered on Amazon. You have to find someone who knows what they're doing to get what you're looking for. So be sure you're double-checking a provider to ensure they offer this functionality as part of their service.

At Smarty (formerly SmartyStreets), we provide the geocode lookup, address validation, and the ZIP+4 cherry on top ( cream). So give us a try, or call us for more information. We can promise you that you be routed directly to a real person. And if you don't think we can meet your needs, give us a call anyway and we'll help you find what you're looking for; that way, you too can have the validation you deserve.

Download '8 Questions to Ask When Selecting A Geocoding API' Now.

The leader in location data intelligence

Ready to get started?