# Google Maps for your AI agent: every business in a city, with its reviews

RouterGrowth gives an agent Google Maps through one MCP server: the businesses for a category and a place with name, address, phone, website, rating and review count, then the recent reviews for any of them, from Google Maps or Yelp. It is how local lead lists get built, and each call is paid on its own.

HTML page: https://www.routergrowth.com/tools/google-maps

## What your agent can do

| Capability | What it returns | Providers | From | Status |
|---|---|---|---|---|
| [`local.places`](https://www.routergrowth.com/catalog/local.places) | Businesses on Google Maps for a query and location: name, category, address, phone, website, rating and review count. | DataForSEO, Apify | $0.0035 per search | live |
| [`reviews.search`](https://www.routergrowth.com/catalog/reviews.search) | Recent reviews for a place on Google Maps or Yelp: rating, text, author, date and the owner's reply, plus the place's overall score. | Apify | $0.0043 per result | live |

## Ask it like this

- List 150 dental clinics in Austin with their website, phone and rating, and flag the ones under 4 stars. (`local.places`)
- Read the last 20 reviews for each of these restaurants and tell me the complaint that repeats. (`reviews.search`)
- Build a list of roofers in Phoenix without a website and give me their phone numbers. (`local.places`)

## Connect

MCP server: `https://api.routergrowth.com/mcp` (OAuth, or an API key header).

```bash
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
```

```bash
npm install -g routergrowth && routergrowth setup
routergrowth run -c local.places -i '{"query": "dental clinic", "location": "Austin, Texas", "limit": 20}'
```

```bash
curl -X POST https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{"capability": "local.places", "input": {"query": "dental clinic", "location": "Austin, Texas", "limit": 20}}'
```

## Worth knowing

- **Places first, reviews second.** A place search returns the listing data. Reviews are a second call per place, priced per review returned, so read them only for the places you keep.
- **The owner's reply is in there.** Each review comes with its rating, text, author, date and the owner's reply when there is one, which tells you who is paying attention.
- **From a listing to a person.** The listing gives the domain. The same key finds the owner and a work email from it.

## Questions

### Is there a Google Maps MCP server?

RouterGrowth is an MCP server with Google Maps place search and reviews as tools. It needs no Google Cloud project or Places API key of your own.

### Can I scrape Google Maps for leads?

Yes. local.places returns the businesses for a query and a location with phone and website, and the local business workflows carry that list through to a sent email.

### Does it return Google reviews?

Yes. reviews.search returns recent reviews for a place on Google Maps or Yelp, with rating, text, author, date and the owner's reply, plus the overall score.

### How many places can I get for one search?

A search returns a page of results for the query and location. For a whole city the agent runs the category across neighbourhoods and removes duplicates.

## Related

- Workflow: [Reach dental clinics in Austin with weak reviews](https://www.routergrowth.com/workflows/local-dental-austin.md)
- Workflow: [Reach restaurant owners in Chicago with recent bad reviews](https://www.routergrowth.com/workflows/local-restaurants-chicago.md)
- Guide: [Local lead generation with Google Maps listings and reviews](https://www.routergrowth.com/use-cases/local-lead-generation.md)
