Migrating from Google Maps

Overview

This page lays out some of the differences between our service and Google's geocoder and hopefully helps make the transition to using our service as easy as possible.

At a high level there are three major differences:

Built with open data

Because we use open data - see the full list of datasources - you're able to store the results as long as you like (even if you stop working with us). You can display our results on any map you like, while Google results can only be displayed on a Google map. You can use our service publicly or behind a firewall. Finally, when you come across a data problem in the data you can fix it. With proprietary services like Google all you can do is hope they eventually fix it.

We're proud to be corporate members of the OpenStreetMap Foundation and do our part to support open data and open source software .

Pricing

You can see our prices on our pricing page, but beyond the fact that we are a much more affordable option, you should also note that our entire approach to pricing is different.

Google requires a credit card at sign-up. We do not.

Our tiered usage limits are "soft" - when customers reach their limit, nothing happens; they are not charged more, everything keeps working as before. Short-term spikes are no issue. If your daily average over the course of a month is over the usage limit of your tier, we will ask you to move up from the next billing period.

We win by being stable, long-term partners for our clients, not by running a meter when they suddenly need a bit more.

Technical differences in API request and response

You should of course take a look at our API documentation for the full details (don't worry it is a single page), but here we attempt to layout some of the key conceptual differences between the two services.

Query Parameters

Both services require an API key, supplied in the key= parameter.
You will find your key in your account dashboard.

Google requires an address= parameter for forward geocoding and lat= and lon= for reverse geocoding.
We instead require q= for both forward and reverse geocoding.

See the request format documentation where you can also learn about the various optional parameters we support.

Output Formats

While Google only supports JSON and XML, we support JSON, XML, and GeoJSON.

Structured Queries

Google supports structured queries. We do not.

This is intentional, our goal is to keep the service as simple as possible for developers to comprehend and get productive with our service. Please do follow our guidelines for query formatting .

Annotations

By default we provide lot of other relevant information about the location of each result, we call these annotations. Google does not.

Address Components

Both services return different components of the location hierarchy, Google does this in a field called address_components, we do it in the components portion of the result.

The comprehensiveness and values may differ between the two services.

Learn more about components, and how we use them to create a well formatted local address string.

Location Type

Google returns the type of match in a field called location_type.

We provide a confidence score that tells you the size of the result. Seperately we also provide the _type key and value in the components portion of the result.

One more thing

One final point - many clients tell us they like our approach to privacy, and that they aren't that excited about sharing even more data with Google.

We agree!
Start your free trial

2,500 API requests per day.

No credit card required.