Comparison of Javascript Geocoding API

Since the changes to the pricing of Google Map’s Javascript Geocoding API, where the cost of running services using them has increased up to 14 times the previous rates, I have been playing around with alternative services such as LocationIQ and Mapbox.

LocationIQ has the simplest API to set up, and it seems to be the most bare bones in terms of documentation and examples that they provide. The costs are very reasonable, but not directly comparable to Mapbox or Google Maps API. LocationIQ uses a rate limited monthly cost approach to their pricing. There are daily, minute, and per second limits for each pricing tier. It’s a little confusing. But at least with LocationIQ there is no risk of cost overages that you could incur, your functionality will just drop until you aren’t resource limited. If you have a fairly straightforward use case, it should be a breeze to set up, but there aren’t as many prebuilt UI’s as the other 2 services in my experience. The forward geocoder is not always the most accurate, but it’s good enough. I would recommend this if you’re comfortable with coding on your own and are ok with being potentially rate limited. The free tier supports up to 300k geocodes per month with rate limiting restrictions which mean your actual potential probably usage is much lower. There is no a-la-carte plan, so the next level up is $95 / month for up to 750k geocodes per month with higher rate limits.

Mapbox has a lot of tutorials that are aimed at migrating people off of Google Maps, and it makes it very easy to integrate on to your website. The prebuilt demos are beautiful and fully functioning, so the main challenge is just figuring out how to best set everything up. Mapbox has a fairly straightforward pricing plan, but the thing I don’t like is that there aren’t billing warnings so if you have a website with temperamental traffic you could see yourself hit with a surprise bill at the end of the month if you aren’t paying attention. Another thing is that for their address autocomplete functionality costs a geocode run for every keystroke. This is a good balance for cost and ease of use. Be sure to tune the code so that it doesn’t run too frequently, or else you’ll burn thru your monthly allotment quickly. The free tier is 100k geocodes per month with additional costing $0.75/1000.

Google Maps API has the best documentation and probably the most accurate of the bunch. The downside is that Google Maps API is the most costly. Google does have a generous free tier of $200, but that can quickly be burned up by map loads and geocoding. If you have a low usage website, this is probably a very viable solution especially if you need the accuracy. Also if your budget is huge or you have some kind of enterprise deal, Google is the easiest to get set up on since there are a million tutorials and people to help you thru the API. The free tier is equivalent to 40k geocodes per month with additional costing $5/1000.

All in all I would recommend them all for different use cases. It’s great that there are so many services now, but it does make for tough technical decisions with which provider to go with. I do kind of miss the days when Google Maps API was basically free and you didn’t need an API key, but I do understand that was very noncompetitive for the market as a whole because basically you could run entire services off of the API with like basically no limits.