Almost every app that uses a mapping API needs some latitude/longitude points. If you don't already have those "geocodes," you need to find them, which usually means converting an address to a point on the earth. That's where you'll need one of the 54 geocoding APIs in our directory. This post zooms in on seven free geocoders and compares them on features, speed and limits.
For geocoder timing, we checked each API every ten minutes for a week. The address we used was the same for all geocoders. Most had only a single instance of downtime in our week of testing. Google Geocoding API and Cloudmade Geocoding API were the only two with 100% uptime.
In terms of speed, the fastest two were Bing Maps Geocode and Google Geocoding. The following is a run-down on the features and performance of all seven free geocoders.
Cloudmade Geocoding was by far the slowest in our tests. On the plus side, it's based on crowdsourced OpenStreetMap data, so you know there's nobody paying licensing fees. The RESTful service returns data as JSON with no published rate limits.
Geocoding is one of the services within the Data Science Toolkit API, which averaged about a half-second response time in our tests. However, the service is not really meant to be used directly for production. Instead, developers can install the entire unit for free on their own Amazon or VMWare instances. The resulting API is RESTful, with data returned as JSON.
The Google Geocoding was just a touch slower than Bing in our tests, putting it in second place. It's hard to believe that the original Google Maps API launched without any sort of geocoder, which seems like such a necessary mapping tool. While the service requires no API key, it does limit geocodes to 2,500 per day and require that the resulting application show data with a Google Map. The REST API returns data as JSON or XML.
The MapQuest Geocoding API is probably the most open among the fast geocoders. It's unclear whether there are limits for its geocoding API, but MapQuest wants to out-open Google on the maps side, providing unlimited maps for free. Previous statements from the company make it likely that the same is true of its geocoder. There is a batch option that allows up to 100 addresses to be geocoded at once. Like the other popular services, this is REST with JSON and XML.
OpenAddresses Geolocated Address Search API was just shy of averaging a half second per call, which makes it in the slower half of the geocoders. However, like Cloudmade, it uses crowdsourced data, which means it's the fastest of the geocoders based on free data. However, one downside to OpenAddresses is that it requires you split up your query into city, street and even address number, which makes it harder to accept input from users. Data is returned as JSON or CSV.
Yahoo PlaceFinder API is the successor to the company's previous geocoder API. While it wasn't as fast as some of the other big names in our tests, it does come with by far the highest published rate limits: 50,000 requests per day. It requires an API key and, unfortunately, the willingness to press your luck. Yahoo has not invested much in geo lately, even shutting down its Yahoo Maps. The Yahoo geocoder returns JSON, XML and serialized PHP.