3

I'm working on a API that will accept addresses in searches. We would like to use Google's geocoding service to normalize the addresses before submitting the search criteria to our search engine.

This caught my attention: http://code.google.com/apis/maps/documentation/geocoding/index.html#Limits

"Note: the Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions."

Does this mean we can't use the Geocoding service for this purpose? Having used libraries that access Google's geocoding service before, I know it's technically possible to do this but it sounds like a violation of the terms of service.

Are there other options for what we're trying to do?

Edit:

It turns out our company does have a license with Google to use the addresses that come back, and they will eventually be displayed on a Google Map to the end user, satisfying the terms of our agreement.

Matt
  • 22,721
  • 17
  • 71
  • 112
Nate Reed
  • 6,761
  • 12
  • 53
  • 67

3 Answers3

1

Update on this really old post:

@Cerin pointed out something important on this answer.

USPS Web Tools API are only free if you're using them to ship via USPS

So be legal.


You are correct: you can't use the Google Geocoder for address cleaning.

You can use this wrapper to access USPS's Web Tools.

Another inexpensive solution is Semaphore, but you'll have to write your own wrapper class to call the DLLs.

Brad
  • 15,361
  • 6
  • 36
  • 57
  • Using the API is SO much cleaner than using a wrapper for a web form. Plus, we've been told using the API that the USPS is pretty sensitive about how it receives requests. If the same IP address is bombing their webform, be sure they'll likely be looking into it. – bpeterson76 Oct 18 '10 at 16:31
  • @bpeterson, the sample project I referenced isn't a wrapper for a webform; it is an object-oriented wrapper for the web service. I have made my own alterations to this project to address some of its flaws, but I've yet to use it. If there is another API (other than the web service), I'm unaware of it. – Brad Oct 18 '10 at 16:41
  • Thanks. As this is a Java project we would not be able not use it. – Nate Reed Dec 04 '10 at 16:13
  • @Nate, the Semaphore I mentioned is a 32-bit DLL. You have to write your own DLL method calls, so it's not language dependent (but they do not have a 64 bit version available). You could still use the USPS API, but you'll have to write your own integration code. – Brad Dec 06 '10 at 14:06
  • 1
    FYI, USPS Web Tools API are only free if you're using them to ship via USPS, which it sounds like the OP isn't. You can't even get access to their **test** API unless you prove you run a website that ships something via USPS. – Cerin Mar 07 '14 at 18:08
1

Short answer: You can't. The terms of service seem pretty clear-cut that geocoding using their API is not in line with their terms, unless you display them on a Google Map.

If you need this for other purposes, you should consider licensing a Geocoding library and dataset(s) for your regions of interest. There are quite a few companies which sell these for commercial purposes.

Reed Copsey
  • 554,122
  • 78
  • 1,158
  • 1,373
0

The USPS has a free service to validate addresses. It's in a fairly easy-to-use API that you can curl information to and receive a valid response back. The only rub is that they're a little slow when it comes to registering, and they require you to run several tests before they'll open it up. Regardless, once you've jumped through the hoops, it does a great job. It's been keeping addresses in my app clean for quite a while now without any hiccups.

bpeterson76
  • 12,918
  • 5
  • 49
  • 82
  • 1
    It's only free if you run a website that ships products via USPS, which the OP isn't doing. – Cerin Mar 07 '14 at 18:10