DEV Community

Ken-Mutisya
Ken-Mutisya

Posted on

"Turning Google Maps Into a Clean Local Lead List, With Emails"

Every local sales motion starts with the same question: who are all the businesses of type X in city Y, and how do I reach them. Google Maps already knows the answer. The trick is getting it out as structured rows instead of a page you scroll forever.

What one place actually contains

A single Google Maps place is far richer than the pin suggests. For each business you can pull:

{
  "name": "Bright Smile Dental",
  "address": "123 Main St, Austin, TX 78701",
  "phone": "+1 512 555 0100",
  "website": "https://brightsmileaustin.com",
  "rating": 4.7,
  "reviews": 312,
  "hours": { "mon": "9-5", "tue": "9-5" },
  "priceRange": "$$"
}
Enter fullscreen mode Exit fullscreen mode

Two things make this a lead list rather than a directory dump. First, the phone and website are on almost every business, so the rows are actually reachable. Second, the rating and review count let you rank by traction, so you call the busy, established places first.

The missing piece: email

Maps gives you a website but not an email, and email is what most outreach tools want. So the last step is a light enrichment pass: take the website from each place, fetch the home and contact pages, and pull the first address plus any obvious contact name.

const html = await (await fetch(place.website)).text();
const email = html.match(/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/i)?.[0] ?? null;
Enter fullscreen mode Exit fullscreen mode

Run that only for places that have a website and you convert a map of pins into a spreadsheet of name, phone, website, email, rating, and reviews, ready to import.

Query or URL in, rows out

You drive it two ways: a search string like "dentists in Austin" to sweep a whole category in a city, or a specific place URL when you already know the business. Either way you get one clean row per place, and the enrichment is optional so you only pay for emails when you want them.

I packaged the whole flow, Maps parsing plus the website email enrichment, here: https://apify.com/scrapemint/google-maps-scraper

And counting. It is one of a set of lead tools I have been writing up one at a time.

Top comments (0)