How to Scrape Google Maps and Find Business Owners with Claude Code
A Step-by-Step Guide on How to Find Business Leads and Owner Emails From Google Maps with Claude Code
Blogby JanFebruary 19, 2026

Google Maps lists over 200 million businesses across roughly 4,000 categories. Plumbers, dental practices, yoga studios, auto repair shops, restaurants, nail salons, accounting firms. The vast majority of these businesses do not have a LinkedIn company page. Their founders are not posting thought leadership content. They are not showing up in Apollo or ZoomInfo. For anyone selling to local and small businesses, this creates an odd situation where your best prospects are completely invisible to the tools most B2B teams rely on.
Google Maps is where these businesses live online, and scraping Google Maps is how you find them at scale. But here is what most guides do not tell you: getting the business listing data is the easy part. The hard part is turning a list of business names, addresses, and phone numbers into something your sales team can actually use. That means finding the owner's name, getting a verified email address, and doing it reliably across thousands of listings. Claude Code makes this full pipeline possible because it can handle every step in sequence: scrape the listings, extract website data, identify the owner with AI, and run email verification, all in one session.
This guide covers the entire process of scraping Google Maps with Claude Code, from initial search to a campaign-ready list of business owners with verified contact information.
Who Needs Google Maps Data?
Before getting into the how, it is worth being specific about who benefits from this approach.
If you sell to enterprise SaaS companies, you do not need Google Maps scraping. LinkedIn and traditional B2B databases have you covered. But there is a large universe of businesses that sell to the kinds of companies that live on Google Maps, not on LinkedIn.
SaaS companies targeting SMBs are the most obvious fit. If you sell POS systems, booking software, inventory management, insurance products, or any tool designed for small businesses, your total addressable market is on Google Maps. These businesses adopted Google Business Profiles years ago because it drives local search traffic. They are not going to show up when you search "restaurants 50+ employees" in Sales Navigator.
Marketing agencies are another natural fit because they need a constant pipeline of local business prospects. Every city has thousands of businesses that could use better web design, SEO, or social media management. Google Maps is the most complete directory of all of them.
Then there are home services companies and franchise brands. Contractors, roofers, and HVAC companies looking for commercial clients can use Google Maps to identify every relevant business in their service area. And companies selling to franchisees or doing competitive intelligence across a market need the kind of geographic coverage that only Maps provides.
The common thread is that these prospects are local, physical businesses whose digital footprint starts and often ends with their Google Maps listing and a basic website.
The Three-Step Pipeline
Scraping Google Maps and finding business owners is really three separate problems that get solved in sequence.
Problem 1: Getting the business listings
This is the scraping step. You query Google Maps for a business category in a location, and you extract the structured data from each listing: business name, address, phone number, website URL, rating, review count, hours, and category.
Problem 2: Finding the business owner
Google Maps does not list owners. It lists businesses. To find the person who owns or operates the business, you need to visit their website, look for an About page or a Team page, check for social media links, and sometimes parse the business registration. This is where AI becomes essential because you are dealing with unstructured data (website text) that needs to be analyzed intelligently.
Problem 3: Getting a verified email
Once you know the owner's name and the business domain, you can use email finding and verification tools to get a deliverable email address. This step typically involves a waterfall approach because no single email finder covers the entire SMB market.
Let us walk through how to set each step up in Claude Code.
Step 1: Scraping Google Maps Listings
There are two approaches to scraping Google Maps with Claude Code. You can use the Google Maps Places API directly, or you can use a dedicated scraping API that handles the complexity for you.
The API Approach
Google's Places API is the official way to access Maps data. Claude Code can write scripts that query the Nearby Search or Text Search endpoints, paginate through results, and extract the fields you need. The advantage is that it is sanctioned by Google and the data is structured. The disadvantage is that Google's API has usage limits and does not return some fields (like email addresses or owner information) that third-party scrapers do.
For most lead generation use cases, you will want to combine the official API with additional data sources. Our guide on location-based prospecting covers how to think about geographic targeting when building these kinds of lists.
The Scraper API Approach
Dedicated Google Maps scraping APIs like Outscraper, SerpAPI, or Databar's Google Maps scraper handle the heavy lifting: they manage proxies, handle Google's anti-bot measures, and return structured data including fields that the official API does not expose. This is the faster path for most developers.
With Databar, for example, you can pull Google Maps listings with contact info through a single API call. The response includes business name, address, phone, website, rating, reviews, category, hours, and sometimes email addresses and social profiles extracted from the business's website. For a comparison of scraping tools and how they fit into broader workflows, we covered the top 10 web scraping tools that are worth considering.
The ZIP Code Technique
Here is a practical tip that most guides miss. When you search Google Maps for "plumbers in Chicago," Google returns a limited number of results, usually around 60 to 120 depending on the category. But Chicago has far more than 120 plumbers. Google caps the results because it is designed for consumers browsing for options, not for marketers building comprehensive lists.
The fix is to break your search into smaller geographic zones. Instead of searching one large city, you search by ZIP code. Chicago has over 60 ZIP codes. If you search "plumbers" in each ZIP code separately and deduplicate the results, you capture significantly more listings than a single city-wide search.
Claude Code can automate this perfectly. You give it a list of ZIP codes for your target area (Claude Code can even generate the ZIP code list for you), and it runs a separate Google Maps query for each one, collects all results, deduplicates by business name and address, and outputs a comprehensive list.
A prompt for this might look like: "Generate a list of all ZIP codes in the Phoenix metro area. For each ZIP code, scrape Google Maps for 'HVAC companies' using the Databar Google Maps scraper. Deduplicate results by phone number and business name. Save to hvac_phoenix.csv."
Claude Code generates the ZIP codes, writes the scraping script, handles the API calls with proper rate limiting, and deduplicates. What would take a human several hours of clicking and exporting finishes in 15 to 20 minutes of processing time.
Step 2: Finding the Business Owner
This is where the pipeline gets interesting and where Claude Code's AI capabilities really shine. You now have a list of, say, 800 HVAC companies in Phoenix with their websites. You need to find who owns each one.
Scraping the About Page
Most small business websites have some variation of an About page, a Team page, or a Contact page that mentions the owner or founder. Sometimes it is right on the homepage. Sometimes the footer has a "Family owned by John and Lisa Smith since 2003" line. The information is there, but it is in different places on different websites and formatted differently every time.
Claude Code can handle this by writing a script that:
- Visits each company's website
- Checks common paths like /about, /about-us, /team, /our-story, /contact
- Extracts the text content from those pages
- Uses Claude's language understanding to identify the owner or principal from the text
The AI analysis step is what makes this feasible at scale. A regex-based approach would miss most owner names because the formats are too varied. But Claude can read "Founded in 2015 by Michael Torres, a third-generation electrician" and extract "Michael Torres" as the owner, just as easily as it can parse "Meet our team: Sarah Chen, CEO and principal therapist" from a completely different page layout.
Social Media Cross-Reference
When the website does not clearly name an owner, social media profiles often fill the gap. Many small businesses have a Facebook page linked from their website, and Facebook business pages frequently list the page admin's name or have a visible "owner" tag. Instagram bios sometimes name the founder. LinkedIn company pages, even for small businesses, often show the founder in the "People" section.
Claude Code can check these secondary sources automatically. It scrapes the website, looks for social media links, visits those profiles, and combines the signals to determine the most likely owner name. This is messy, imperfect work that benefits from AI judgment. Is "Mike T." on the Instagram bio the same person as "Michael Torres" in the LLC registration? Claude can make that connection. A rule-based system cannot.
Business Registration Lookup
For businesses where the website and social media do not reveal the owner, state business registration databases are a fallback. Most US states publish LLC and corporation registrations with the registered agent's name, which is often the owner. Claude Code can scrape these state databases or call APIs that aggregate business registration data.
This step has a lower hit rate and adds complexity, so we recommend using it as a fallback for high-value prospects rather than running it across every listing.
Step 3: Getting Verified Email Addresses
You now have a business name, a domain, and an owner name. The final step is finding that person's email address and verifying it.
The Waterfall Approach
No single email finding service covers the SMB market well. Small business owners use every email provider imaginable: Gmail, Yahoo, their own domain, their ISP's email, random free providers. And many small businesses do not use professional email at all, which means their owner's email is not in any B2B database.
The waterfall approach runs your data through multiple email finding services sequentially. If the first one does not find a result, you try the second, then the third. Each provider has different data sources and matching algorithms, so the combined coverage is significantly higher than any individual tool.
A typical waterfall for SMB email finding might look like:
First, try Hunter to find emails associated with the business domain. Hunter is strong when the business uses domain-based email (john@smithplumbing.com). Second, try a service like Findymail, LeadMagic, ContactOut and Wiza for cases where Hunter returns nothing. Third, for remaining gaps, use AI-powered email guessing where Claude Code generates likely email patterns based on the owner's name and domain (first@domain, firstlast@domain, etc.) and then verifies them through an email verification API.
Claude Code orchestrates this entire waterfall, tracking which contacts were found at each step and the verification status of each email. The output is a single CSV where every row has the business data from Google Maps, the owner's name, and their verified email, along with metadata about which step found each piece of data.
For teams that want to combine phone and email outreach, our guide on finding mobile numbers for SMBs covers the phone side of the equation.
Using Databar to Simplify the Pipeline
Each step of this pipeline (Google Maps scraping, website scraping, email finding, verification) can be done with separate tools and separate API integrations. But managing four or five different APIs with different authentication, rate limits, and response formats is its own project.
Databar simplifies this by offering all of these capabilities through one SDK. The Google Maps scraper with contact info handles Step 1 and returns richer data than the raw Google API. The website content extraction and AI analysis tools handle Step 2. And the email waterfall (Hunter, Findymail, Prospeo, and others) handles Step 3, all with one API key.
For Claude Code workflows specifically, this means your entire pipeline script authenticates once, uses a consistent request/response format throughout, and does not need separate error handling for each provider. The script Claude Code writes is shorter, easier to debug, and more maintainable.
Practical Examples by Industry
The pipeline works differently depending on what you are selling and who you are targeting. Here are a few scenarios that show how the same framework adapts.
Example: SaaS Selling Booking Software to Salons
Search "hair salon," "nail salon," and "barber shop" across all ZIP codes in your target metro areas. Salons are one of the easiest verticals for this pipeline because their websites almost always name the owner. Many are sole proprietors whose name is literally in the business name ("Lisa's Hair Studio"). Expect a 70 to 80% hit rate on owner identification for this niche.
The email finding step is where salons get tricky. Salon owners frequently use Gmail rather than domain email, which means standard domain-based email finders often return nothing. You may need to supplement with Facebook profile email extraction or direct LinkedIn lookup to fill the gaps.
One particularly effective outreach angle for salons: reference their Google Maps rating and review count. A salon with 200+ reviews and a 4.8 rating is clearly succeeding with customers, but might be losing bookings to phone tag. That tension between strong reputation and operational friction is your opening.
Example: Marketing Agency Targeting Restaurants
Restaurants are densely distributed, so the ZIP code technique is especially important here. Search "restaurant," "cafe," and "bar" across target neighborhoods. Restaurant owners are often visible on their websites (look for "Our Story" or "The Chef" pages), and many are active on Instagram with personal accounts linked from the business page. Independent spots are much more reachable than chains, so filter chains out early.
The biggest challenge with restaurants is email finding. Many owners use personal email exclusively, and their business domain (if they have one) is often managed by a web design agency. You can expect email hit rates of maybe 40 to 50%, lower than most verticals. But here is the upside: phone numbers are almost always available directly from the Google Maps listing. For restaurants, consider making this a phone-first outreach campaign rather than email-first.
When you do reach out, reference something specific. A particular menu item. A recent Google review. The fact that they are not accepting online reservations, which is visible right from their Google Maps listing. That specificity shows you have actually looked at their business, which sets you apart from every other agency pitching them generic marketing services.
Things That Will Go Wrong (And How to Handle Them)
This pipeline works. Now, here are the issues you should expect and plan for.
Duplicate listings are the most common headache. The same business can appear under slightly different names in different ZIP codes. "Joe's Auto" and "Joe's Auto Repair" and "Joe's Auto Repair LLC" are all the same business. Claude Code's deduplication logic needs to handle these variations. Deduplication by phone number is more reliable than by name alone.
You will also encounter plenty of dead websites, listings that link to expired domains, parked pages, or sites permanently under construction. Your script should handle HTTP errors gracefully and flag these for manual review rather than crashing the entire pipeline.
Incorrect owner attribution is trickier. Sometimes the "About" page mentions the marketing director, not the owner. Sometimes the person listed as founder has since sold the business. If your outreach references someone by name and gets it wrong, that is actually a worse outcome than using no name at all. Build in a confidence threshold and default to generic titles ("Hi there" or "Dear Business Owner") when the signal is weak.
A few other things to watch for: some industries simply have lower email coverage in databases, so plan your outreach to accommodate that. Maybe you lead with phone for niches where email is sparse. And even with scraping APIs, high-volume Google Maps scraping can trigger rate limits. Build in delays between requests and consider spreading large scrapes across multiple sessions rather than trying to pull 50,000 listings in one run.
FAQ
How many listings can I scrape in one Claude Code session? Practically, a single session can handle between 1,000 and 5,000 listings depending on how many enrichment steps you run per listing. The limiting factor is usually API rate limits, not Claude Code itself. For larger scrapes (10,000+ listings), break the work into multiple sessions or use batch processing with delays between API calls.
What data does a Google Maps listing include? A standard Google Maps listing returns: business name, full address, phone number, website URL, rating (1 to 5 stars), total review count, business category, hours of operation, and geographic coordinates. With enrichment, you can also extract email addresses, social media profiles, and owner information from the business's website.
How accurate is AI-based owner identification? In our experience, AI correctly identifies the business owner about 60 to 75% of the time when the website has an About or Team page. For businesses without these pages, accuracy drops significantly. We recommend using the owner's name in outreach only when Claude Code reports high confidence, and falling back to generic addressing otherwise.
Can I use this for businesses outside the US? Yes. Google Maps has global coverage, and the scraping technique works for any country. Owner identification may be harder in markets where business websites are less common or where business registration databases are not publicly accessible. Email finding coverage also varies by country. This approach works well in the US, UK, Canada, Australia, and most of Western Europe.
Related articles

Claude Code for RevOps: How Revenue Operations Teams Are Using AI Agents to Fix CRM Data, Automate Pipeline Ops & Build Systems
Using AI Agents to Fix CRM Data and Streamline Revenue Operations for Scalable Growth
by Jan, February 24, 2026

Claude Code for Sales Managers: A Practical Guide to Deal Reviews, Rep Coaching, Pipeline Inspection, and Forecast Prep in 2026
Speed Up Coaching and Forecast Prep with Data You Can Trust
by Jan, February 23, 2026

How to Build a Client Onboarding System in Claude Code for GTM Agencies
How To Cut Client Onboarding from Weeks to Hours with Claude Code
by Jan, February 22, 2026

How to Run Closed-Won Analysis with Claude Code
How Claude Code Turns Your CRM Data into Actionable Sales Strategies
by Jan, February 21, 2026




