Overpass API を使用してみることができます。これは Open Street Map データを使用します。それがあなたが求めていることを正確に行うかどうかはわかりませんが、それは始まりかもしれません.
以下の呼び出しは、都市を検索します。bbox は、検索する領域を作成します。以下に作成した例では、英国のポーツマスを囲む座標を使用しています。
http://overpass.osm.rambler.ru/cgi/xapi?node[place=city][bbox=-1.150818,50.761653,-0.987396,50.851908]
これから返される結果は、いくつかの有用なデータを提供します
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2013-04-11T23:39:03Z"/>
<node id="17721995" lat="50.8065249" lon="-1.0744016">
<tag k="is_in" v="EnglaHampshire, England, UK"/>
<tag k="is_in:continent" v="Europe"/>
<tag k="is_in:country" v="United Kingdom"/>
<tag k="is_in:country_code" v="GB"/>
<tag k="is_in:county" v="Hampshire"/>
<tag k="name" v="Portsmouth"/>
<tag k="name:ru" v="Портсмут"/>
<tag k="name:sr" v="Портсмут"/>
<tag k="place" v="city"/>
<tag k="population" v="197700"/>
<tag k="url" v="http://www.visitportsmouth.co.uk"/>
</node>
</osm>
座標を国名などの他の検索機能に置き換えることは可能だと思います。
編集:
http://overpass-api.de/クエリ ベース アドレスhttp://overpass-api.de/api/ (4 コア、64 GB RAM)。
http://overpass.osm.rambler.ru/クエリ ベース アドレスhttp://overpass.osm.rambler.ru/cgi/ (8 コア、64 GB RAM)。
両方のサーバーの合計容量は、1 日あたり約 1.000.000 リクエストです。1 日あたりのクエリ数が 10.000 未満であるか、1 日あたりのデータのダウンロードが 5 GB 未満である場合は、他のユーザーの邪魔にならないと想定しても問題ありません。