πŸ”§ Scrape business emails from Google Maps to Google Sheets

⚑ 160 views Β· πŸ”§ Miscellaneous

πŸ’‘ Pro Tip β€” HTTP Request scraping tends to break when sites update their markup. If you’re scraping a major platform, check if ScraperNode covers it β€” it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

Quick overview

This workflow takes a list of Google Maps search queries, extracts candidate business website URLs from the search results, visits each site, scrapes email addresses from the page content, and appends cleaned, deduplicated emails to Google Sheets fully automated, no manual research needed.

How it works

  1. A manual trigger fires with a pinned list of Google Maps search queries, each representing a location and business type combination.
  2. A query loop iterates through each query, launching a sub-workflow execution per query and applying a configurable wait between executions to reduce request bursts.
  3. The sub-workflow sends an HTTP GET to the Google Maps search results URL for that query and reads the raw HTML response.
  4. A code node extracts all URLs from the HTML using a regex pattern, after which a filter node removes known system domains such as Google, gstatic, schema.org, and Wix internals, and a deduplication node removes repeated URLs before visiting.
  5. A URL loop processes each candidate business website one at a time, fetching the page HTML and passing it into the email processing flow.
  6. A code node applies a regex to the fetched page content to extract email-shaped strings, excluding common image file extensions, and a loop-over-pages structure aggregates emails across all visited pages for a given query.
  7. The aggregated email array is split into one item per email, deduplicated, filtered to remove junk and system addresses, and appended to the configured Google Sheet.

Setup

  1. Add a Google Sheets OAuth credential and select the target spreadsheet and sheet tab in the Google Sheets append step.
  2. Update the list of input queries (the query field) used by the manual trigger to match the locations/industries you want to scrape.
  3. Adjust the wait duration between query executions if you need slower or faster pacing for Google Maps requests.

Requirements

Customization

Additional info

Try It Out This n8n template is a lightweight, no-headless-browser solution for scraping business email addresses from Google Maps search results. You provide search queries and a Google Sheet destination, and the workflow handles URL extraction, site crawling, email parsing, deduplication, and output automatically.

It is best suited for targeted, low-volume scraping runs where you need a quick way to collect contact emails for a defined set of business categories and locations, without setting up a full scraping infrastructure.

Need help setting this up or want a version with AI-powered email validation and outreach sequencing built in? Visit https://patelravi.co.in/n8n_expert

πŸ”— Nodes Used

Google Sheets, HTTP Request, Execute Sub-workflow, Execute Workflow Trigger, Filter

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup