Google Maps Business Email Extractor to Google Sheets - n8n Workflow

Automate lead generation using this advanced n8n workflow. Scrape business website URLs from Google Maps, extract valid emails using regex, and export unique leads directly to Google Sheets for outreach.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Lead Generation Specialists and Sales Teams looking to rapidly build targeted contact lists.

  • Marketing Agencies needing bulk email addresses for local business outreach.

  • n8n users requiring complex web scraping and data cleansing capabilities.

  • Automation enthusiasts seeking powerful n8n templates for business operations.

Overview

Lead generation requires vast amounts of accurate contact data. Manually searching Google Maps, visiting individual websites, and copying emails is slow and inefficient. This sophisticated n8n workflow solves this by creating a highly efficient, multi-step scraping pipeline.

The n8n trigger starts the process with a simple search query (e.g., 'dentists in Chicago'). It then uses an n8n node to scrape the Google Maps search results for associated business websites. The core logic involves filtering out noise (like Google internal links), looping through each target website, extracting emails using precise regular expressions, and employing multiple 'Remove Duplicates' n8n nodes to ensure a clean final list. The final step of this n8n automation is appending the validated lead data directly into Google Sheets, ready for your sales team. This n8n template is essential for anyone prioritizing scalable, automated lead sourcing.

How it Works

This n8n workflow operates in four main phases:


  1. Trigger and Initial Scrape: The workflow begins with the 'When chat message received' n8n trigger, which takes your search query (e.g., 'coffee shops in Austin'). It immediately uses an HTTP Request n8n node ('Scrape Google Maps') to fetch the search results.

  2. URL Processing and Filtering: The raw HTML data is passed to the 'Extract URLs' n8n node (Code node), which uses regex to isolate website links. These links are then cleaned by the 'Filter Google URLs' n8n node, removing Google-internal domains. A 'Remove Duplicates' n8n node ensures we only scrape each unique business site once.

  3. Smart Website Scraper Loop: The 'Loop Over Items' n8n node processes each unique URL. Inside the loop, the 'Scrape Site' n8n node fetches the entire homepage content. A 'Wait' n8n node introduces a 1-second delay to maintain good scraping etiquette. The 'Extract Emails' Code n8n node applies a sophisticated regex pattern to pull only valid email addresses from the content.

  4. Final Data Cleansing and Export: After the loop completes, the collected results are filtered for items that successfully extracted emails ('Filter Out Empties'). The 'Split Out' n8n node separates items if multiple emails were found on one site. Finally, a second 'Remove Duplicates (2)' n8n node cleans the final list before the 'Add to Sheet' Google Sheets n8n node appends the unique email leads to your designated spreadsheet.

Installation Guide

To deploy this powerful n8n workflow, follow these steps:


  1. Import: Copy the provided JSON data. Navigate to your n8n instance, click 'New' > 'Import from JSON', and paste the n8n template code.

  2. Credentials Setup:

Google Sheets: Locate the 'Add to Sheet (or whatever you want!)' n8n node. You will need to create or select existing Google Sheets OAuth2 API credentials. Ensure these credentials have permission to read and write to Google Drive and Google Sheets.
Spreadsheet Configuration: In the Google Sheets n8n node, configure the Document ID and Sheet Name where you want the extracted emails to be appended.

  1. Activation: The workflow uses a Langchain Chat Trigger (which acts as a manual input prompt). You can activate the workflow and trigger it by inputting your desired Google Maps search query (e.g., 'marketing agencies in London').

  2. Testing: Execute the n8n trigger to run a test job and verify that the data flows correctly from the Google Maps scraping to the final Google Sheets n8n node.

Node Details

When chat message received (Trigger): This n8n trigger initiates the entire process, accepting the user's input search term for Google Maps.
Scrape Google Maps (HTTP Request n8n node): Takes the input term and constructs a URL to scrape the Google Maps search results page. This is the first crucial web scraping step in the n8n workflow.
Extract URLs (Code n8n node): Utilizes regex (regular expressions) to parse the bulky HTML response and isolate potential business website URLs.
Filter Google URLs (Filter n8n node): A logic n8n node that cleans the data stream by removing non-business related URLs (like google.com or tracking schemas) to improve scraping efficiency.
Scrape Site (HTTP Request n8n node): Fetches the full content of each unique website identified in the previous steps, forming the core of the extraction loop.
Wait (Wait n8n node): A flow control n8n node set to wait for 1 second, vital for responsible scraping and avoiding IP bans.
Extract Emails (Code n8n node): The primary extraction n8n node. It uses a specialized regex pattern to extract only valid business email formats from the website content, ignoring image links or irrelevant strings.
Remove Duplicates (2) (Remove Duplicates n8n node): Ensures that the final list of emails prepared for Google Sheets is entirely unique.


  • Add to Sheet (Google Sheets n8n node): The final action n8n node. It uses the append operation to write the newly discovered, unique emails into the target Google Sheet, completing the automated n8n workflow.

Related n8n Workflows

Free

Nodes: 10 Nodes
Updated: December 26 2025
View all
Created by

Hi 👋 I'm Noman Mohammad. I do a lot of things, and AI is part of that work. If you have any questions about my templates or my n8n builds, feel free to ask, and I'll gladly reply in the comments. Thank you for reading.

Featured*