How to Scrape Google Search Results for Leads in 6 Steps

Learn how to scrape Google search results for leads: target a trade and a city, collect published business contacts, remove duplicates, and export a CSV for Excel.

Woman working on a laptop at her desk, notebooks beside her, the kind of setup used to build a B2B lead list

To scrape Google search results for leads, run a "trade + city" search, collect the business websites that rank, then pull the emails and phone numbers each company publishes on its own pages. By hand, that means opening every result one by one; with a browser extension, the same workflow runs in the background and ends in a spreadsheet. This guide walks through the full process on one example, plumbers in Miami, from the first query to a clean CSV file you can open in Excel. You'll also get a reusable column template, a dedup checklist, and the limits and rules to know before you contact anyone.

Key takeaways:

  • Google Search gives you a list of company websites; the contact details come from the websites themselves, not from the results page.
  • One niche and one city per search keep the list consistent and easy to check.
  • A usable lead file keeps the source URL of every email and phone number.
  • Deduplicate and spot-check sources before you export: it takes minutes and protects your sender reputation.
  • Collecting published contacts and emailing them are separate steps; CAN-SPAM sets the rules for every commercial email.

What it means to scrape Google search results for leads

Scraping Google search results for leads means turning a search like "plumber Miami" into a structured list of businesses with their published contact details. The results page itself only shows titles, links, and snippets. The emails and phone numbers sit on each company's website, usually on the Contact, About, or legal pages.

So the workflow has two layers: the websites that rank for your query, then a visit to each site. Unlike Google Maps scraping, which reads business listings, it targets companies with their own website, and every contact you keep traces back to the page where it was published.

Manual collection vs. automation: which fits your list?

Manual collection is fine for a short test list; automation pays off once you need more than a few dozen companies or rerun the same search every month. The method stays the same; only who does the clicking changes.

MethodBest forMain limit
Manual (browser + spreadsheet)A first test of 20 to 30 companies, or a niche you don't know yetSlow: every site has to be opened, searched, and copied by hand
Browser extensionRepeatable "trade + city" lists for sales reps, agencies, and freelancersOnly finds what companies publish; the list still needs a quality check
Custom code or scraping APITeams with a developer and very specific data needsSetup, maintenance, and usage costs to manage

To practice the manual method first, see our guide on finding business emails on Google by hand. This article focuses on the automated workflow and the structure of the final file.

From a Google search to a lead list in six steps

The workflow below takes you from one targeted query to an exportable file. The example uses "plumbers in Miami" and three pages of Google results: enough to judge the quality of a niche before you scale it.

Step 1: Pick one niche and one city

Narrow targets give cleaner lists. "Plumber Miami" returns local companies with comparable websites, while "home services Florida" mostly returns aggregators and national brands. Write three to five variants of the query before you start, since each one surfaces different businesses:

  • plumber Miami
  • plumbing company Miami FL
  • emergency plumber Miami
  • plumber Coral Gables (a neighboring city)

Plumber repairing pipes in a bathroom, a typical local business found with a trade and city Google search

Step 2: Run the search and check the first page

Before collecting anything, look at what the first page actually returns. If directories, review sites, or lead marketplaces take most of the spots, refine the query: put a minus sign in front of a word to exclude it, or combine it with site: to drop a specific domain, as explained in Google's help page on refining Google searches. Then decide how many result pages to process. Three is a sensible test, since relevance usually drops on later pages.

Step 3: Collect websites and published contacts automatically

This is the step automation takes over. In OVISCRAPER, a Chrome extension, you type "plumber Miami," set the number of Google pages to 3, and press Start. The extension opens each result, skips duplicates and unwanted directories, and visits the pages that usually hold contact details: contact, about, legal notice.

It keeps the valid business emails each site publishes and leaves out technical and platform addresses. Phone numbers are validated, formatted for the target country, and saved with the page they came from. Progress, statistics, and an estimated time remaining stay on screen during the run; the full feature list for emails, phones, and multi-search explains each option.

The free plan analyzes 50 unique company websites per rolling 24 hours, one search at a time, with up to 10 Google pages per search, so a three-page test usually fits within that quota. You need a free account and the extension, which is published on the Chrome Web Store.

Step 4: Deduplicate the list

Duplicates creep in as soon as you run several queries or merge files from different days. The extension already skips websites it has seen during a run, but a final pass in Excel catches the rest. Look for:

  • the same domain written two ways, with and without www;
  • one company with several location pages or several domains;
  • the same phone number or email on two different websites, often a franchise or a shared office;
  • directory or marketplace pages that slipped through.

In Excel, highlight repeated websites first (Home > Conditional Formatting > Highlight Cells Rules > Duplicate Values), review them to keep the most complete row, then use Data > Remove Duplicates on the website column.

Step 5: Spot-check the sources

Every email and phone number in the file should point back to the page where it was published. Open the source URL for a sample of rows, for example one in ten, and check that:

  • the email domain matches the company website, or the page clearly presents the address as the business contact;
  • the company still operates in your target area;
  • the page belongs to the company itself, not to a directory profile.

Use a status column to mark each row as checked, to fix, or excluded. This record also answers the question a prospect may ask you one day: where did you find my details?

Step 6: Export to CSV and open it in Excel

The extension exports a UTF-8 CSV that opens directly in Excel, with company, website, emails, phones, country, source pages, and status. Freeze the header row and add filters so you can sort by city, status, or rows with an email.

If accented names look garbled or everything lands in a single column on your setup, import the file instead of double-clicking it: Data > From Text/CSV, choose 65001: Unicode (UTF-8) as the file origin, and pick the delimiter shown in the preview.

A lead file template you can reuse

A lead file is useful when every row answers three questions: who the company is, how to reach it, and where the information came from. Set up these columns before your first export so every list follows the same structure. This is a template, not a sample of real results.

ColumnWhat it holdsWhy it matters
CompanyBusiness name as shown on its websitePersonalization and dedup
WebsiteRoot domain of the official siteMain dedup key
Published emailAddress shown on the site, often generic (info@, contact@)First written contact
Published phoneNumber formatted for the countryCalls, and a fallback when no email is published
CountryCountry where the business operatesRules and time zones depend on it
Source URLPage where each detail was foundProof of origin and quick re-check
StatusTo check, ready, contacted, opted out, excludedFollow-up and opt-out tracking

Add the query and the collection date if you build lists over several weeks. They show which searches bring the best prospects and when a row needs a refresh.

Limits to know before you rely on the list

An automated list is only as complete as what companies choose to publish. Plan for these gaps instead of discovering them through bounced emails:

  • Unpublished emails: many businesses show only a contact form or a phone number, so some rows will have no email. Keep them for phone outreach, but don't guess addresses.
  • Directories: listing sites rank well on local queries; refine the search when they crowd the results.
  • Duplicates: chains, franchises, and multi-location companies appear under several URLs.
  • Data quality: a published address can be outdated, and a generic inbox is read by whoever sorts the mail.
  • Scope: this workflow collects contacts published on company websites. It doesn't read Google Maps listings, find private addresses, or verify that an email is deliverable.
  • Search depth: Google doesn't show every matching business for a single query, so more query variants usually beat more pages.
  • Site rules: respect the restrictions of the sites you visit, and never try to bypass a CAPTCHA or a block.

Is it legal to email leads you scraped from Google?

Collecting the contact details businesses publish and emailing them are two separate questions, and the second one is where U.S. law sets clear rules. The CAN-SPAM Act covers all commercial email and makes no exception for business-to-business messages.

According to the FTC's CAN-SPAM compliance guide, every message needs accurate header information, a subject line that matches the content, a clear disclosure that it's an ad, your valid physical postal address, and an easy way to opt out. You must honor opt-out requests within 10 business days, and each email in violation can bring penalties of up to $53,088. The guide also lists aggravated violations, such as harvesting addresses or generating them through dictionary attacks, so read it in full before any campaign.

Start with a small batch and log every reply and opt-out in the status column. State laws and other countries add their own requirements, so check what applies to you and your recipients; this article isn't legal advice.

Woman on a phone call at her desk while working on a laptop, following up with prospects from her list

Frequently asked questions about scraping Google for leads

Is it legal to scrape Google search results for leads?

It depends on your country, the data you collect, and what you do with it. Reading contact details companies publish on their own sites is not the same as using them for marketing, which laws like CAN-SPAM regulate. Check the rules that apply before any send.

Can this method pull Google Maps listings?

No. It starts from regular Google Search results and the company websites they link to. Businesses without a website won't appear in the file, and Maps data such as reviews or opening hours isn't collected.

How many pages of Google results should I process?

Start with three to check the quality of a niche, then scale with more query variants rather than many more pages. OVISCRAPER processes up to 10 pages per search on the free plan and up to 20 on Premium; see the free and Premium plan limits for the details.

Can I import the CSV into a CRM?

Most CRMs and email tools accept CSV imports. Map your columns to the CRM fields, keep the source URL in a custom field, and import a small test batch first.

Turn your next Google search into a lead list

Scraping Google search results for leads comes down to a narrow query, contact details read on each company's own site, and a file you clean and check before using it. Test a niche on three pages, keep the source of every detail, and scale with query variants once the list looks right.

Create your free OVISCRAPER account, no credit card required, then add the extension to Chrome and run your first "trade + city" search.

More articles