# Scrape Google Maps for leads with an agent

How an agent builds a local lead list from Google Maps: search, details, website, email. The steps, a prompt to paste and what to check first.

## Summary

Local businesses are easy to describe and hard to list. You know you want every dentist in Lyon or every roofer near Austin. Google Maps knows who they are. Turning that into a clean list with a phone number, a website and an email is where the hours go.

An agent can do the work in four steps. This post walks through them, says what the agent needs to start, and gives a prompt you can paste.

## The four steps

1. Search. Query Google Maps for one business type in one place. The result is a list of places with names and addresses.
2. Details. For each place, fetch the phone number, website, rating and review count.
3. Website. Open the website, or use the domain, to confirm the business is real and to find a contact page.
4. Email. Look up a work email for the owner or manager, then check that it is deliverable.

Each step is a separate call, and each can use a different provider. That is where a catalog helps. The agent searches for the job in plain words, such as search Google Maps, and picks an endpoint that fits.

The [local leads from Google Maps recipe](https://looot.ai/recipes/local-leads-from-google-maps) covers the first two steps and lists the providers it can use for each. For the email step, see [the MCP pages for email finders](https://looot.ai/mcp).

## What the agent needs

- A narrow query: one business type, one city. Broad queries return noise.
- A place to keep rows. A spreadsheet works. A database you own works better, because you can run the job again without duplicates.
- A budget. Each call costs something, so set a limit and a rule to show the price first.
- A rule for what counts as a lead, such as has a website and a rating above a threshold you choose.

That third item matters more than it seems. Running a list of a few hundred places through four steps adds up. Ask the agent to run ten places first and report the cost per row.

Warning: Check the terms of the data source before you scrape at scale. Terms, local rules and the way you use contact data differ by site and country. This is not legal advice. If the list is for outreach, check the rules that apply to the people you will contact.

## Why a small run first

Ten rows tell you three things. Whether the search returns the right kind of business. Whether the website step finds real sites. And what a finished row costs. If any answer is bad, you have spent very little and can change the prompt.

Look at the rows yourself. Open five websites. Read five emails. Agents are confident, and a wrong match looks the same as a right one in a table.

## Keeping the list useful

A list goes stale. Businesses close, move or change numbers. Store the fetch date on each row so you know how old it is. Use the place's name and address as a natural key, so a second run updates a row instead of adding a copy.

If you want the list to live in a proper table with notes and a dashboard, read [build your own CRM with an agent and Supabase](https://looot.ai/blog/build-your-own-crm-with-an-agent-and-supabase). The same prompt pattern applies.

For background on how the agent reaches these providers through one connection, see [what is an MCP server](https://looot.ai/blog/what-is-an-mcp-server).

[Open the Google Maps recipe](https://looot.ai/recipes/local-leads-from-google-maps)

## Questions

### Can an AI agent scrape Google Maps?

An agent can run a Google Maps search through a data provider, fetch place details and pass the results to the next step. Check the data source's terms before scraping at scale.

### What is the best Google map scraper?

It depends on your job, volume and budget. Several providers cover Google Maps. An agent can compare what each returns and costs on a small run before you choose.

### How do I scrape Google Maps for emails?

Google Maps returns names, phones and websites. To get an email, use the website or domain in a separate email lookup, then verify the address.

### How many places should I scrape in a first run?

Start with about ten. You see the quality of the results and the cost per row before committing to a larger batch.

### Is it legal to scrape Google Maps?

We cannot answer that. It depends on the source's terms, where you are and how you use the data. Read the terms and check local rules, and get advice if the stakes are high.

### Where should I store scraped Google Maps leads?

A spreadsheet works for a one-off. A database you control is better for repeat runs, because it supports updates without duplicates.

## For agents

### Prompt for a Google Maps lead list

```text
Use looot to build a lead list. Business type: [type]. Location: [city]. Step 1: search Google Maps and list the places. Step 2: for each place get phone, website, rating and review count. Step 3: keep only places with a website. Step 4: find a work email for the owner or manager and verify it. Run the first 10 places only and show me the cost per row before you continue. Store one row per place with name, phone, website, email, rating, source, endpoint and cost. Do not overwrite any column I edit. Stop if the total goes over [budget]. End with a ranked call list.
```
