Skip to main content

Scrape business emails from Google Maps without the use of any third party APIs

Workflow preview

Workflow preview
100%
Scrape business emails from Google Maps without the use of any third party APIs preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Who is this template for? This workflow template is designed for sales, marketing, and business development professionals who want a cost effective and efficient way to generate leads. By leveragin...

Best for

  • Lead Generation automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.removeduplicates, n8n-nodes-base.splitinbatches, n8n-nodes-base.httprequest, n8n-nodes-base.code, n8n-nodes-base.filter, n8n-nodes-base.aggregate, n8n-nodes-base.splitout, n8n-nodes-base.googlesheets

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Akram Kadri.

Original n8n.io source

1.1 Workflow description

Title
Scrape business emails from Google Maps without the use of any third party APIs
Workflow name
Scrape business emails from Google Maps without the use of any third party APIs

Who is this template for?

This workflow template is designed for sales, marketing, and business development professionals who want a cost-effective and efficient way to generate leads. By leveraging n8n core nodes, it scrapes business emails from Google Maps without relying on third-party APIs or paid services, ensuring there are no additional costs involved.

Ideal for small business owners, freelancers, and agencies, this template automates the process of collecting contact information for targeted outreach, making it a powerful tool for anyone looking to scale their lead generation efforts without incurring extra expenses.

You can watch the video tutorial here: https://youtu.be/HaiO-UeiKBA

How it works

This template streamlines email scraping from Google Maps using only n8n core nodes, ensuring a completely free and self-contained solution. Here’s how it operates:

Input Queries

You provide a list of queries, each consisting of keywords related to the type of business you want to target and the specific region or subregion you’re interested in.

Iterates through Queries

The workflow processes each query one at a time. For each query, it triggers a sub-workflow dedicated to handling the scraping tasks.

Scrapes Google Maps for URLs

Using these queries, the workflow scrapes Google Maps to collect URLs of business listings matching the provided criteria.

Fetches HTML Content

The workflow then fetches the HTML pages of the collected URLs for further processing.

Extracts Emails

Using a Code Node with custom JavaScript, the workflow runs regular expressions on the HTML content to extract business email addresses.

Setup

  1. Add Queries: Open the first node, "Run Workflow" and input a list of queries, each containing the business keywords and the target region.

  2. Configure the Google Sheets Node: Open the Google Sheets node and select a document and specific sheet where the scraped results will be saved.

  3. Run the workflow: Click on "Test workflow" and watch your Google Sheets document gradually receive business email addresses.

Customize as Needed:

You can adjust the regular expressions in the Code Node to refine the email extraction logic or add logic to extract other kinds of information.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Remove Duplicate URLs

Type / Role
n8n-nodes-base.removeDuplicates - removeDuplicates
Config choices
Version 1.1

Block 2 - Loop over queries

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 3 - Search Google Maps with query

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 4 - Scrape URLs from results

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 5 - Filter irrelevant URLs

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 6 - Request web page for URL

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 7 - Loop over URLs

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 8 - Loop over pages

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 9 - Scrape emails from page

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Aggregate arrays of emails

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 11 - Split out into default data structure

Type / Role
n8n-nodes-base.splitOut - splitOut
Config choices
Version 1

Block 12 - Remove duplicate emails

Type / Role
n8n-nodes-base.removeDuplicates - removeDuplicates
Config choices
Version 1.1

Block 13 - Filter irrelevant emails

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 14 - Save emails to Google Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 15 - Starts scraper workflow

Type / Role
n8n-nodes-base.executeWorkflowTrigger - executeWorkflowTrigger
Config choices
Version 1

Block 16 - Run workflow

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 17 - Wait between executions

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 18 - Execute scraper for query

Type / Role
n8n-nodes-base.executeWorkflow - executeWorkflow
Config choices
Version 1.1

Block 19 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 24 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Showing the first 24 of 26 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Scrape business emails from Google Maps without the use of any third party APIs
Complexity advanced
Nodes 26
Categories Lead Generation
Author Akram Kadri
Published 24 Nov 2024

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/2567/2567.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Scrape business emails from Google Maps without the use of any third party APIs do?

Who is this template for? This workflow template is designed for sales, marketing, and business development professionals who want a cost effective and efficient way to generate leads. By leveragin...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Generation use case.