Every few weeks somebody sends me a spreadsheet of 4,000 businesses pulled off a map and asks why the campaign got eleven replies. The spreadsheet is usually fine. The problem is that they thought the spreadsheet was the finish line, and it is closer to the starting gun.

Map data is genuinely the best free source of local business leads in existence. It is public, it is current, and unlike a purchased list it is maintained by the businesses themselves, because a wrong address costs them walk-in customers. But a map listing is a pointer, not a contact. Here is how to get it, and more importantly what to do in the ninety minutes after you have it.

What a map listing actually contains

Before choosing a method, it helps to know exactly what you are extracting.

FieldPresent?Useful for
Business nameAlwaysMatching and deduplication
CategoryAlwaysSegmenting the pitch
Address and areaAlwaysTerritory, timezone, local angle
Phone numberNearly alwaysCalling and WhatsApp, after validation
WebsiteOften, not alwaysEverything else you need
Rating and review countUsuallyNeed signals and openers
Opening hoursUsuallyTiming, and spotting a new business
Email addressNeverThe thing you actually wanted

That last row is the single most important fact in this article. There is no email field in a map listing. If a scraper hands you emails, it went and crawled the websites afterwards. That step is separate, it is where the real work is, and it is where cheap tools quietly stop.

The corollary is cheerful. A listing with no website is not a dead lead, it is a specific pitch. A plumber with 60 reviews and no website has told you their problem out loud.

Method 1: By hand

Search the category and the city, open each listing, copy the fields into a sheet.

It is free, it is compliant with everything, and it takes about four minutes per business including the website check. That is roughly seven hours per hundred leads.

Do this exactly once, for twenty businesses, before you automate anything. You will learn what a good record looks like in your niche, and you will find the filter that matters to you. In trades, mine turned out to be review count under thirty combined with a website that has no booking form. Then never do it by hand again.

Method 2: A browser extension over the results page

This is the sweet spot for most people, and it gets misdescribed as "scraping Google Maps" when it is nothing of the sort. You load the results page yourself, in your own browser, signed in as yourself, and an extension reads the businesses already rendered on your screen and structures them.

The distinction matters, and not only legally. Reading the page in front of you is stable, it respects rate limits by construction because you can only scroll so fast, and it does not depend on an undocumented internal endpoint that changes without notice. Tools built on the second approach break roughly quarterly, always on a Monday.

A capture extension worth using does four things beyond extraction:

  • Confidence scoring per field, so you can see which records it is guessing about.
  • Pagination crawling, so a 40 page directory does not need 40 clicks.
  • Deduplication on sync, against everything already in your pipeline.
  • A stop that actually stops, mid-crawl, without leaving half a batch behind.

Our own capture and sync extension works on any business directory rather than only maps, which matters more than it sounds: trade association member lists and "best of the city" roundups are lower competition and higher intent, because somebody has already filtered them for you.

Method 3: Query the map data at request time

The scaled version skips the browser and asks for "this category, this radius, right now". This is what lead discovery means when a platform offers it: results stream in as they are found, already deduplicated, with the website crawl for contact details happening automatically behind each one.

Two things to check before you trust any tool that claims this.

  1. Is it live, or a cached database wearing a search box? Ask when the record was last refreshed. If the answer is a date rather than "just now", you have bought a list with extra steps, and it decays at roughly 25% a year like every other list.
  2. Does it stop at the listing, or go on to the website? The listing is the cheap part. Crawling the site for an email, a contact page, social profiles and the technology in use is what turns a row into a lead.

The part everyone skips: turning a listing into a lead

Here is the actual pipeline. Step one is the only one most people finish.

1. Extract the listing. Name, category, address, phone, website, reviews.

2. Crawl the website. This is where the email lives, along with the signals worth having. Is there a booking form? Is there a contact page? Do they publish an address? Are there social profiles? When was the copyright line last updated? A site whose footer still says 2021 is telling you something.

3. Verify before you send. Both channels, both checks. Email gets a syntax, domain and mailbox check, because a list that is 15% dead produces 150 bounces per thousand sends and inbox providers start filtering at around 2%. Phone numbers get normalised to E.164 and checked for an actual account before you spend a WhatsApp credit. The long version of why this is not optional is in the email bounce rate guide.

4. Deduplicate against your own history, not just within the batch. The fastest way to look like a spammer to a real human is to send them a second cold opener eight weeks after the first.

5. Score on need, not size. This step moves reply rates more than any subject line ever will. A business with a visible gap is a business whose first line writes itself.

Signal on the listingWhat it lets you open with
No website"You are the only roofer here without a site, and you still have 60 reviews"
Website, no booking form"You are taking bookings by phone while your competitors take them at 11pm"
Under 20 reviews, open 2+ years"Your reviews are excellent and there are not many of them yet"
Opened in the last 6 months"Congratulations on opening. Here is how the first year usually goes"
Rating under 4.0Handle carefully, or skip. Nobody wants a stranger naming their weak spot

What map data can never give you

Be clear-eyed about the ceiling. It will stop you buying something that promises past it.

  • No decision-maker name. The listing is the business, not the person. For a five person trade business the owner reads the general address and that is fine. For a 200 person company it is not, and map data is the wrong source entirely.
  • No email, as established. Anything you get came from the website crawl.
  • No intent data. Reviews and hours are need signals, not buying signals. Nobody is in-market today because they are on a map.
  • No firmographics beyond the visible. Headcount, revenue and tech stack come from the site or from somewhere else.

If your buyer is an enterprise job title, map harvesting is not your channel and no tool will make it one. If your buyer is a local business owner, it is the best channel there is.

A realistic first run

Pick one category and one city. Harvest it. Expect 50 to 250 contactable records. Crawl the websites, verify everything, and throw away whatever you could not verify rather than "trying it anyway". You will be left with perhaps 120 businesses.

Segment those into three groups by the gap you found, write three different opening lines, and send across a week rather than an afternoon. If the niche is right, that produces meetings. If it produces nothing, you have learned that in five days with an intact sender reputation, which is the entire point of not sending 4,000.

The spreadsheet was never the finish line. It was the map, which is fitting.

Everything above is one workflow inside Leads Ranger: describe the businesses you want, watch them arrive verified and scored, and start the sequence from the same screen. The free plan runs real harvests, so you can test a niche before deciding whether any of this is worth paying for. See also how to find local business leads without buying lists and where to find small business leads.