You can use the adwords keyword tool and just specify that you only want keywords from a particular country.
With google adwords. There also many databases in semrush such as american, english, french, german, italian, australian, russian, spanish, brasilian.
dont know about cities but you can select countrys in the google adwords tool if you click on (Advanced Options and Filters) just below the box where you type your keyword
google adwords tool >> want more? >> google insight for search.. the parameters will give you your needs