Hey everyone, just a word of warning here in case you’re building an app that relies on real addresses; Google maps, while awesome, does not validate addresses. That means that addresses “checked” by google maps or it’s geocoding api are not guaranteed to be real. The official bubble documentation is currently a tad misleading on this point (see where it says Address: A geographic address. With this option, the input automatically validates the address with Google Maps).
That’s a bit surprising for folks so I’ll unpack that furthur.
From the smartystreets documentation:
There’s no validation performed on the address you enter. Here’s an example of what can happen because Google Maps is excluding the parsing-standardizing-validating process.
Knole Lane in Dennis, Massachusetts, is a cozy little place with lots of trees. So let’s say you plug an address like, say,
15 Knole Lane, Dennis, Massachusettsinto Google maps, it will show you this location:
So Google gave you a map. That’s what they do. What they didn’t do is give you an accurate or reliable map. Give that location a closer look; Google drops the pin next to a house that’s very clearly on Croft Path, not on Knole Lane; and on the Knole side of the property, it’s all just a bunch of those trees we mentioned. So, the address doesn’t really exist. But Google Maps still gave you directions to it .
Now, you may still be thinking, “Maybe they’re off a little bit, but they probably still gave us something close to the address, right?” If you are, you are unfortunately mistaken. 15 Knole Lane is not a valid address.
The Service Objects documentation says this about Google’s gecoding API:
Google Maps does not verify if an address is deliverable. The primary purpose of the Geocoding API is to return coordinate information. At its best it can locate an individual residential home or a commercial building. Other times it is an address estimator . However, not all addresses are for single building locations.
If you want to get really into the weeds see the second half of this answer here but I think you get the idea. If deliverability is the utmost concern use a service like lob, or smartystreets. There are plugins for the first one.