This page lays out some of the technical differences between our service and Google Maps's geocoding API, and hopefully helps make the transition to using our service as easy as possible.
Before we dive in ...
It is important to note that you can glaldy use our geocoding API
and Google's.
Many customers use both, first trying our service, and then only using Google if they are unhappy with our response. In this way they can typically
cut their Google spend by 90+ percent.
Read our guide.
Technical differences in API request and response
Please 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 follow the steps laid out in our guide to 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 our 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. Separately we also provide a _type and _category value in the components portion of the result. |
Other major differences
Built with Open Data
Because we use open data you're able to do much more with the geocoding results.
You can
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 the results 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.
Read our detailed look at
the benefits of open data.
Pricing
You can see our prices
on our pricing page, and here's detailed comparison of
Google maps geocoding pricing versus OpenCage, but beyond the fact that we are a much more affordable option, you should also note that
our entire pricing model is different.
We win by being
a stable, long-term partners for our clients, not by running a meter when they suddenly need a bit more.
One more thing ...
many customers tell us they like
our approach to privacy, and that they aren't excited about sharing even more data with Google.
We agree!