[GIS] use the Google Geocoding API to parse and standardize address data

addressaddress-parsinggeocodinggoogle-maps-api

I need to parse single-field addresses into multiple fields such as address number, street name, street type, etc. Esri has the Standardize Addresses tool in the Geocoding Tools toolbox, but I am curious if anything similar is possible with Google's API. It looks like it is wonderful at geocoding and reverse geocoding, but I haven't found any info on standardizing input addresses. I understand that for commercial purposes I would need to pay for some sort of licensing, but first I want to know if it is possible in the first place.

Best Answer

Google's Terms of Use does not permit commercial (esp. automated) use of the data. Yes, Google appears to parse single-line street addresses and geocodes them, but it is not appropriate for commercial purposes as Mapperz has noted.

Also, standardizing addresses will be a bit of a bugger with Google's API. Google Maps is an address approximation service, not a standardization or verification service.

For example, have you ever done street view by a house on the edge of town, or out in the suburbs, even in rural areas? Often, it will only show the street name and say "Address is approximate" -- if you had that house's actual address and typed it in Google Maps, it would probably adjust the address to the incorrect location. This happened to me yesterday near a city/county border. The mailing address I had was correct but Google got the wrong city and placed me about a mile away from the delivery point. Oops?

Fortunately that wasn't for commercial use (I only needed directions), but if you need reliable data, even their commercial license doesn't provide actual verification. You're probably looking for something like a CASS-Certified service to standardize and geocode addresses. Such a service is authorized by the USPS to correct and "fill out" address data so it is in a standard format, and must pass rigorous quality tests every so often.

I work with one such provider called SmartyStreets. We service US Street Address API which doesn't have any restrictions against commercial usage. You can reference this other GIS question to investigate its performance and capabilities, or see our website.

And I'll let you in on a little secret: while it doesn't yet appear that we parse single-line addresses, we actually do (as of this week). Submit an entire address in the "street 1" field through our API and you'll get a CASS-Certified result.

Related Question