Google Maps Place API
Get one place from its name, address, place ID or a Google Maps link: address, phone, website, opening hours, rating, review count, categories and coordinates.
- 1 credit per call
- Failed calls are free
- Updated
- googlemaps.place
{ "name": "Empire State Building", "rating": 4.7, "review_count": 130259, "address": "20 W 34th St., New York, NY 10001", "cid": "15074921902713971043", "feature_id": "0x89c259a9b3117469:0xd134e199a405a163", "lat": 40.7484405, "lng": -73.98566439999999, "maps_url": "https://www.google.com/maps/place/?q=place_id:ChIJaXQRs6lZwokRY6EFpJnhNNE", "place_id": "ChIJaXQRs6lZwokRY6EFpJnhNNE", "website": "https://www.esbnyc.com/", "hours": [ { "day": "Monday", "hours": "10 AM–10 PM" }, { "day": "Tuesday", "hours": "10 AM–10 PM" } ], "types": [ "Observation deck", "Historical landmark" ]}
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| query | string | one of | The place's name and address, or its place ID, CID or feature ID from a search result. | Empire State Building New York |
| url | string | one of | A Google Maps link to the place, including short maps.app.goo.gl links. | |
| country | string | no | Two-letter country code, such as us or gb. | |
| lang | string | no | Language for names and labels, such as en or en-US. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| name | string | The place's name on Google Maps. | Empire State Building |
| address | string | The place's address as Google Maps shows it. | 20 W 34th St., New York, NY 10001 |
| rating | number | The place's average star rating. | 4.7 |
| review_count | integer | How many reviews the place has. | 130,259 |
| website | string | The website the place links to. | https://www.esbnyc.com/ |
| lat | number | The place's latitude. | 40.75 |
| lng | number | The place's longitude. | -73.99 |
| place_id | string | Google's place ID for this place. | ChIJaXQRs6lZwokRY6EFpJnhNNE |
| cid | string | Google Maps' numeric ID (CID) for the place. | 15074921902713971043 |
| feature_id | string | Google Maps' feature ID for the place; the reviews endpoint accepts it. | 0x89c259a9b3117469:0xd134e199a405a163 |
| hours | array | Opening hours, one entry per day. | 7 records |
| hours[].day | string | The day of the week. | Monday |
| hours[].hours | string | Opening hours on that day. | 10 AM–10 PM |
| maps_url | string | A link to the place on Google Maps. | https://www.google.com/maps/place/?q=place_id:ChIJaXQRs6lZwokRY… |
| types | array | The categories Google Maps lists for the place. | Observation deck, Historical landmark, Historical place museum |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "googlemaps.place", "input": { "query": "Empire State Building New York" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "googlemaps.place", "input": { "query": "Empire State Building New York" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "googlemaps.place", "input": { "query": "Empire State Building New York" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
With Upscrape, look up the Empire State Building on Google Maps and tell me its address, opening hours, rating and how many reviews it has.
More from the Google Maps API
The same data from other platforms
Google Maps Place API FAQ
The short answers. The docs have the long ones.
How much does the Google Maps Place API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Every input is optional; the input fields below list what each one does.
Do I need a Google Maps login?
No. It reads public Google Maps data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds googlemaps.place, checks its price and runs it with the same credits as the REST API.
Your first Google Maps call is free.
Up to 100 free credits to start, no card needed.