Где найти базу городов как у Airbnb?
Много работаю с такими системами, вариантов много
На самом деле предложу свои 3 варианта: 
1) download.geonames.org/export/dump
2) wiki.openstreetmap.org/wiki/Nominatim это nominatim.openstreetmap.org но тама тоже лимиты, но с применением прокси все решаемо, также можно свой собственный номинатим реализовать но нужен крутой серв и время)))
Я первый раз через прокси всю землю собрал - все точки на карте которые имеют страны - мне нужны были координаты стран именно, чтобы потом скормить их гугломапсу уже)
3) Гугломапс - но лимит 2500 запросов в сутки, но есть варианты) Например парсить не через геокодер, а через АПИ мест https://developers.google.com/places/web-service/search
Можно скармливать точку и узнавать её адрес, если ввести номер карты то бесплатно уже не 2500 запросов а 150 000 - а это уже нормально, можно иметь 5-6 аккаунтов на карты родственников и будете счастливы) (у меня лимит полтора ляма в сутки)
Если вы хотите реализовать на сайте выпадающий список с подсказками то не изобретайте велосипед и ставьте подсказки гугл мапс - причем как пользователю добавляющему инфу, так и тому кто ищет - и данных храните . в БД и будет вам счастье, тама при подсказках можно настроить что позволять вводить, например тока адреса, тока города - покопайтесь внимательно https://developers.google.com/maps/documentation/j...
И также если введете кредитку то будет до 150 000 запросов в сутки - а этого даже если вы делаете Airbnb то на первый год работы вам хватит, а за это время и БД наберете и денег на платные пакеты
https://www.wikidata.org/ - там есть интерфейс для доступа https://query.wikidata.org/ 
Но это язык - https://ru.wikipedia.org/wiki/SPARQL
wikidata - проект для доступа ко всей базе знаний вики. Очень мощная штука.. Можно кучу всего спарсить.
Для примера парсил базу из городов на разных языках с их гео координатами.