You could try SmartyStreets' autocomplete API. I work at SmartyStreets and helped to write it. You can try it on the homepage. I see you have addresses outside the USA, and SmartyStreets autocomplete is currently US-only, but maybe it'll still be helpful. However, SmartyStreets does offer other services such as verification for international addresses.
Technically it accepts a "prefix" (can be just a street address) and will suggest up to 10 city/state combinations. From there, you would proceed to verify the validity of the address using LiveAddress API to fill out the ZIP code and such.
None of the other answers yet given actually do this, and all of them will actually return invalid results, so always make sure to verify it before you're done. Just note that only a handful of countries actually have data to validate a street address at the delivery point level (like a house, or business), some do street, most do at least city/region granularity.