Все можно, по крайней мере под ЯндексКарты. Есть у меня свой парсер, отрекламирую:
Барсик - парсер Яндекс.Карт (Справочника), 20 000 организаций в минуту + Геокодер. На запросах
А теперь опишу его алгоритм работы под вашу задачу, а вы уже, если хоте сэкономить, и самому подобное сделать, то подключается голову, руки и на зенке реализуйте:
с условием, что задается начальная область, например Россия -
http://bit.ly/2zIAUyJ,
Нет, крупную страну не рекомендую задавать, пробовал, коряво ищет в таком огромной участке.
Можно легко найти список областей, и по ним пройтись поиском. И если делать это через API, то сначала при парснге надо под каждую область узнать координаты прямоугольника вокруг границ этой области. Именно прямоугольника, то есть точных границ не получится задать, у нас всегда в поиск будут попадать части соседних областей, которые тоже чуть в этот прямоугольник влезают.
И потом уже по этому прямоугольнику запускать поиск объектов на карте. И опять столкнетесь с ошибкой, что слишком популярные элементы не все получится спарсить, ибо там лимит у яндекс карт ~500…2500 объектов отдает на 1 запрос. Тогда надо либо города отдельно парсить, либо делить область поиска на мелкие прямоугольники, и по ним проходится.
Но вот как получить все списки городов из одной области я не пробовал, под мои задачи не надо было. Максимум искал ближайший город (точнее любой населенный пункт) по заданным координатам, это там можно.
А список всех городов\областей в нужной стране искал по сайтах-справочниках.
UPD:
Материал по теме:
API поиска по организациям
API Геокодера
Ну и через фиддлер при поиске через браузер по Якартам можно увидеть пример запросов.