Is there a tool / library / plugin / API that recognizes geographic place names in their various forms (for example: "USA", "United States", "United States of America" would all map to the same object)?

I seem to run into this problem all the time. I have a file containing data about some geographic places (e.g. GDP by country) and I want to join that data to the corresponding map features (e.g. a shapefile of world countries). But the names of the places do not match up (one file says "United Kingdom", the other says "UK").

The only solution I've found so far is to go through and change the names manually, but it seems like there has to be a better solution. Any ideas?

I should also mention, I expect to be doing this for a large number of places, so a paid geocoding service like Google's would end up being very expensive. I'm hoping to find a free alternative.

1 Answer 1


You can use the OSM nominatim, here is the link for API and there are several parameters you can use to exclude fileds.



For limitless requests, it is better to download osm data of interested areas or countries and have your own web service.

  • Thanks. Was just looking at this, and it may work if I can get my own instance up an running. Though I need to run a large number of records, and they discourage bulk requests (and limit to 1 per second).
    – mgalka
    Nov 5, 2016 at 21:48
  • You can download osm data on your server and do limitless requests.
    – Shiko
    Nov 5, 2016 at 22:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.