I\'m trying to make a request to the Google Places API, using the following url: https://maps.googleapis.com/maps/api/place/search/xml?location=37.77264,-122.409915&radi
The Places API is distinct from the maps API. Please enable Places API separately on your API console
NOTE: - I had implemented it in Android APP.
I was facing the same problem with this API..
Most of the solutions/ suggestions available on net are regarding the wrong key.
But how to get the appropriate key? very little help is there regarding this.
The sole reason behind it in my case was wrong KEY.
I was using my Android Key (The one we use for google Maps)
to access google places
, that's why it was giving me ACCESS DENIED response.
After Struggling for some hours I noticed in Google API Documentation somewhere there was a screenshot how to create KEY
in that I noticed they key they were using was in "Key for browser apps (with referers)"
whereas the one I was using was in "Key for Android apps (with certificates)"
.....
and to get the respective key We need to create a Browser Key.
They key I was using initially was
The required key is
to get the required key :- just click on "Browser Key"
and click again the input it askes for regarding some url is not a mandatory field
For further detail how to use it in ANDROID refer this link
"Places API"
from API ConsoleMy situation was that I had the API turned on, I generated the API key but I had also added some IP addresses to limit where the API requests were coming from. However, if you're developing locally, you shouldn't set any IP address because the IP address could be from your router (192.168.1.120) or from the ISP (238.382.33.298) or whatever so there's no good way to limit the API requests by IP address.
When you are developing locally, set it to blank.
When you are deploying to production or some other development server that has a constant IP address, set it to whatever the IP address of the server is.
Maybe you should Add "&sensor=true /false " on the end of the Url which you are sending.
I've had a similar issue, fixed it and discovered a few things that may be useful in troubleshooting this
Hope it helps some of you guys
In my case, it was the HTTPS instead of HTTP as well as a range that was to small.