Откуда парсить города и регионы?
Думаю DaData
Вы неправильно решаете задачу. Большинство типовых задач нужно решать от кого-то к себе, а не от себя кому-то.
Вот возьмете вы базу, а за актуальностью кто будет следить? Один вам вариант уже предложили, вполне неплохо.