But can we do the same sans api key ?
Yes, well at-least for the geocoding and reverse geocoding service.
All you have to do is to ping : https://maps.google.com/maps?q="location name"
example https://maps.google.com/maps?q=washington or https://maps.google.com/maps?q=new+york
see how i replace spaces with + in the url.
To use it locally request data in json format, something like https://maps.google.com/maps?q="location name"&output=json
All you have to do is parse it for the required fields and there you have it,your data with no api key. Don't we love free stuff !!