What I'm working on:

I'm building an app that is mostly related to geodata. I consider having a lazy filing database, so it will be filling while the users add new cities to their profiles. I'm looking for a few geo services that can provide geo services for that purpose.

What I'm looking for:

  • autocomplete (search city by name)
  • nearby search (search city by lat/long)
  • get full details of the city (name, country, popularity/importance etc)

What I have already checked:

  • Geonames (not bad solution, but data structure is not accurate, autocomplete/nearby-search works not so good)
  • Google Maps (it's ok, but there is not enough data of the city, so I can't even get some fields like popularity or importance)


Mostly I consider a free solution (for a start), but it's ok to have a paid solution if the price is ok.


According to the last suggestions, I got the point:

if you want to have a free solution - do it yourself (prepare your own geo server)

Actually it's ok for me, but I consider to have it in the future, but for now, I'm looking for a fast solution (already hosted search engine), so I don't need to play with that on my side.

So what are the best search engines to start with (without hosting it locally)?

  • "there is not enough data of the city"? which city? – Mapperz Oct 28 '19 at 15:28
  • @Mapperz there are just no fields that can say how important a city is (for example population or importance etc). But maybe I missed some approach on how to get more info about city according to "google place id". – Andrew Andreev Oct 28 '19 at 15:41
  • Overpass API {OSM} has population stackoverflow.com/questions/11484574/… – Mapperz Oct 28 '19 at 16:06
  • @Mapperz thx, but I'm not sure its what I'm looking for. As I got Overpass API is just a service that allows downloading geodata according to some query, but it's not useful as autocomplete and nearby search service, isn't it? – Andrew Andreev Oct 28 '19 at 16:27
  • You can download the whole OSM Planet file and run the api locally and you can retrieve as much as you want. wiki.openstreetmap.org/wiki/Overpass_API/Installation – Mapperz Oct 28 '19 at 16:39

Take a look at the Pelias Geocoder

Pelias supports autocomplete as well as reverse geocoding. For "coarse" reverse geocoding, when you are looking to find which city contains a lat/lon coordinate, it uses the full polygon geometry of the city.

Data returned from Pelias includes "parent" records, such as country, region (states in the USA), and other information.

The city information mainly comes from the wonderful Who's on First gazetteer. Who's on First contains poplularity and population info as well as translations in many languages and lots of concordances to other datasets like Wikpedia, Wikidata, Natural Earth, and Geonames.

Both Pelias and Who's on First were originally created at Mapzen. After Mapzen's shut down in 2017 they have been under continuous development independently by most of the original authors/developers.

You can get started with Pelias reasonably quickly with the pelias/docker repository's default configurations.

Additionally, there are commercial providers for global instances of Pelias such as Geocode Earth.

Full disclaimer: I am one of the core maintainers of Pelias and co-founder of Geocode Earth

  • thanks, I will take it into account when we will move to the stage of creating our own geo server. But, for now, I would like to consider already hosted search engines, so I can keep my focus on developing. Geocode Earth looks ok but it's too expensive for us for now :( – Andrew Andreev Oct 29 '19 at 10:47
  • @orangejulias, can you tell me how I can use Wikidata with pelias through whosonfirst? – Devils Dream Oct 30 '19 at 10:36
  • 1
    @DevilsDream at this time Pelias doesn't currently display Wikidata IDs directly in its results, however it will be added in the future. For now, you can use any WOF ID returned by Pelias to fetch the appropriate WOF document which does have the Wikidata ID. I described the process of doing that in another answer: gis.stackexchange.com/questions/335815/… In that case the goal was to fetch polygon data, but it would be similar for concordances. – orangejulius Oct 30 '19 at 18:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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