Google Maps places
Search Google Maps for places matching a query and get back name, address, rating, review count, phone, website, and coordinates.
What a call costs
Billed on actual usage, minimum $0.0020 per call, capped at $6.00 per call.
a price before every call. failed calls are never charged.
When to use it
Use when you need local businesses or points of interest, lead lists for a city or area, or place details like ratings and contact info.
Inputs
Google Maps places takes 34 fields, 1 of them required. Anything you leave out falls back to the tool's own default.
| Field | Type | Required | What it does |
|---|---|---|---|
| searchStringsArray | array of string | yes | What to search for, e.g. "coffee shop" or a category |
| city | string | optional | City to search in, e.g. Pittsburgh. Do not put the state or country here, they have their own fields. |
| state | string | optional | State or region. Mostly useful for US addresses. |
| county | string | optional | County, regional district or departement, depending on the country. |
| website | string | optional | Keep only places that have a website, or only those that do not. COSTS EXTRA: $0.001 per place, as one search filter. |
| language | string | optional | |
| placeIds | array of string | optional | Google place IDs, in the form ChIJreV9aqYWdkgROM_boL6YbwA. One place, and one billed place, per ID. |
| maxImages | integer | optional | Additional images per place. 0 returns none, 99999 returns all. COSTS EXTRA: $0.0005 per image, plus $0.002 per place for the detail page images force open. |
| startUrls | array of object | optional | Google Maps URLs to scrape directly instead of searching. Place, search-results, cid and goo.gl/maps links all work. Each entry is an object with a url. Max 300 places per search URL. |
| maxReviews | integer | optional | Reviews per place. 0 returns none, 99999 returns all. PERSONAL DATA: each review carries its author unless you set scrapeReviewsPersonalData false. COSTS EXTRA: $0.0005 per review, plus $0.002 per place for the detail page reviews force open. A large number here cannot push the bill past this call's ceiling, it just means fewer places come back. |
| postalCode | string | optional | One postal code to search in. Combine it with countryCode, never with city. |
| countryCode | string | optional | Two-letter country to search in, e.g. us, gb, de. These five location fields are more reliable than packing everything into locationQuery. |
| reviewsSort | string | optional | Order reviews are collected in. The actor uses newest when you leave it out. |
| maxQuestions | integer | optional | Questions and answers per place. 0 returns only the first pair, 999 returns all. PERSONAL DATA: the answers carry the asker's and the answerer's names. COSTS EXTRA: $0.002 per place. |
| locationQuery | string | optional | Where to search, e.g. "Berlin, Germany" |
| reviewsOrigin | string | optional | Take reviews from every source Google shows, or from Google only. |
| scrapeContacts | boolean | optional | Also extract contact details. Billed extra at $0.002 per place. |
| searchMatching | string | optional | How strictly a place name must match the search term. only_exact returns just exact-name matches. The actor matches loosely when you leave it out. COSTS EXTRA: every search filter you set bills $0.001 per place on top of the place. |
| reviewsStartDate | string | optional | Only reviews posted after this date. Absolute (2026-05-03, or ISO with a time, always read as UTC) or relative (8 days, 3 months). Needs reviewsSort newest. |
| skipClosedPlaces | boolean | optional | |
| customGeolocation | object | optional | GeoJSON geometry defining the exact search area, for when the location fields are too coarse. Coordinate order is longitude then latitude. |
| includeWebResults | boolean | optional | Add the Web results block from the bottom of each place listing. COSTS EXTRA: $0.002 per place. |
| placeMinimumStars | string | optional | |
| scrapeDirectories | boolean | optional | Also return the businesses located inside a place, e.g. the shops in a mall. Needs scrapePlaceDetailPage. COSTS EXTRA: $0.002 per place. |
| scrapeOrderOnline | boolean | optional | Add a restaurant's Order online delivery and pickup providers, with fees and estimated times. COSTS EXTRA: $0.002 per place. |
| scrapeImageAuthors | boolean | optional | Add the author name to each image. One extra lookup per image, so noticeably slower. |
| categoryFilterWords | array of string | optional | Keep only places in these Google Maps categories. Places that categorise themselves differently are dropped, so list synonyms as well. COSTS EXTRA: $0.001 per place, as one search filter. |
| reviewsFilterString | string | optional | Only reviews containing these keywords. |
| scrapePlaceDetailPage | boolean | optional | Open each place's own page for the deeper fields: opening hours, popular times, review distribution, questions, people also search, hotel data. Slower, and COSTS EXTRA: $0.002 per place. |
| allPlacesNoSearchAction | string | optional | Return every place visible in the map area of a startUrls link, instead of running the search terms. Can find far more places than a search would, so keep maxCrawledPlacesPerSearch at a number you want to pay for. |
| maxCrawledPlacesPerSearch | integer | optional | Maximum places per search string |
| scrapeReviewsPersonalData | boolean | optional | PERSONAL DATA, and the actor leaves this ON. Decides whether each review carries the reviewer's id, name, profile URL and photo, plus the review's own URL. Set it false to get the text, rating and date without the person. The review id comes back either way. Only does anything when maxReviews is set. |
| scrapeSocialMediaProfiles | object | optional | Enrich the social profiles found on a place's website with follower counts, description, post counts and verification status. Needs scrapeContacts on. COSTS EXTRA: $0.008 per profile enriched, whichever platforms you pick. |
| scrapeTableReservationProvider | boolean | optional | For restaurants with a Reserve a table button, add the reservation provider's name, address, email and phone. COSTS EXTRA: $0.002 per place. |
How to call it
Connect once and your agent can reach Google Maps places the same way it reaches everything else in the catalog. Add Goro as an MCP connector, or paste the setup line into an agent that reads skills.
MCP
Add this server in Claude, Claude Code, or any MCP client.
https://mcp.usegoro.ai/mcp
Skill
One line in your agent's chat. It sets itself up.
set up https://usegoro.ai/SKILL.mdOr plain HTTP
POST /v1/run
{
"endpoint": "maps.places",
"input": {
"language": "en",
"scrapeContacts": false,
"skipClosedPlaces": false,
"searchStringsArray": [
"<searchStringsArray>"
],
"maxCrawledPlacesPerSearch": 20
}
}Related tools
More from maps and places, or browse the full tool catalog.
Further reading: Lead generation with AI agents: a step-by-step playbook
Run Google Maps places from your agent.
One balance for every tool in the catalog. Start with Build, $25 of credit for $19 a month.
Get started