Skip to main content

Google Maps lead generation with Apify & email extraction for Airtable

Workflow preview

Workflow preview
100%
Google Maps lead generation with Apify & email extraction for Airtable preview
Open on n8n.io

Important notice

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

1. Workflow Overview

What It Does This n8n workflow collects leads from Google Maps , scrapes their websites via direct HTTP requests , and extracts valid email addresses — all while mimicking real user behavior to ...

Best for

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

Tools used

n8n-nodes-base.limit, n8n-nodes-base.formtrigger, @apify/n8n-nodes-apify.apify, n8n-nodes-base.set, n8n-nodes-base.splitinbatches, n8n-nodes-base.markdown, n8n-nodes-base.wait, n8n-nodes-base.merge

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Ezema Kingsley Chibuzo.

Original n8n.io source

1.1 Workflow description

Title
Google Maps lead generation with Apify & email extraction for Airtable
Workflow name
Google Maps lead generation with Apify & email extraction for Airtable

🧠 What It Does

This n8n workflow collects leads from Google Maps, scrapes their websites via direct HTTP requests, and extracts valid email addresses — all while mimicking real user behavior to improve scraping reliability. It rotates User-Agent headers, introduces randomized delays, and refines URLs by removing only query parameters and fragments to preserve valid page paths (like social media links). The workflow blends Apify actors, raw HTTP requests, HTML-to-Markdown conversion, and smart email extraction to deliver clean, actionable lead data — ready to be sent to Airtable, Google Sheets, or any CRM. Perfect for lean, scalable B2B lead generation using n8n’s native logic and no external scrapers.

💡Why this workflow

Modest lead scrapers rely on heavy tools or APIs like Firecrawl. This workflow:

  • Uses lightweight HTTP requests (with randomized user-agents) to scrape websites.
  • Adds natural wait times to avoid rate limits and IP bans.
  • Avoid full-page crawlers, yet still pulls emails effectively.
  • Works great for freelancers, marketers, or teams targeting niche B2B leads.
  • Designed for stealth and resilience.

👤 Who it’s for

  • Lead generation freelancers or consultants.
  • B2B marketers looking to extract real contact info.
  • Small businesses doing targeted outreach.
  • Developers who want a fast, low-footprint scraper.
  • Anyone who wants email + website leads from Google Maps.

⚙️ How It Works

1. 📥 Form Submission (Lead Input)

A Form Trigger collects: - Keyword - Location
- No. of Leads (defaults to 10)

This makes the workflow dynamic and user-friendly — ready for multiple use cases and teams.

2. 📊 Scrape Business Info (via Apify)
  • Apify’s Google Maps Actor searches for matching businesses.
  • The Dataset Node fetches all relevant business details.
  • A Set Node parses key fields like name, phone, website, and category.
  • A Limit Node ensures the workflow only processes the desired number of leads.
3. 🔁 First Loop – Visit & Scrape Website

Each business website is processed in a loop.

  • A Code Node cleans the website URL by removing only query parameters/fragments — keeping full paths like /contact.
  • A HTTP Request Node fetches the raw HTML of the site:
    • Uses randomized User-Agent headers (5 variants) to mimic real devices and browsers. This makes requests appear more human and reduces the risk of detection or blocking.
  • HTML is converted to Markdown using the Markdown Node, making it easier to scan for text patterns.
  • A Wait Node introduces a random delay between 2-7 seconds:
    • Helps avoid triggering rate limits,
    • Reduces likelihood of being flagged as a bot.
  • A Merge Node combines scraped markdown + lead info for use in the second loop.
4. 🔁 Second Loop – Extract Emails

In this second loop, the markdown data is processed.

  • A Code Node applies regex to extract the first valid email address.
  • If no email is found, "N/A" is returned.
  • A brief 1 second Wait Node simulates realistic browsing time.
  • Another Merge Node attaches the email result to the original lead data.
5. ✅ Filter, Clean & Store
  • A Filter Node removes all entries with "N/A" or invalid email results.
  • A Set Node ensures only required fields (like website, email, and company name) are passed forward.
  • The clean leads are saved to Airtable (or optionally, Google Sheets) using an upsert-style insert to avoid duplicates.

🛡️ Anti-Flagging Design

This workflow is optimized for stealth:

  • No scraping tools or headless browsers (like Puppeteer or Firecrawl).
  • Direct HTTP requests with rotating User-Agents.
  • Randomized wait intervals (2-7s).
  • Only non-intrusive parsing — no automation footprints.

🛠 How to Set It Up

Open n8n (Cloud or Self-Hosted). Install Apify node

  • search Apify and click on Install. Do this before importing your file.

Import the provided .json file into your n8n editor. Set up the required credentials:

  • 🔑 Apify API Key (used for Google Maps scraping)
  • 🔑 Airtable API Key (or connect Google Sheets instead)
Recommended
  • Prepare your Airtable base or Google Sheet with fields like: Email, Website, Phone, Company Name.
  • Review the Set node if you'd like to collect more fields from Apify (e.g., Ratings, Categories, etc.).

🔁 Customization Tips

  • The Apify scraper returns rich business data. By default, this workflow collects name, phone, and website — but you can add more in the "Grab Desired Fields" node.
  • Need safer scraping at scale? Swap the HTTP Request for Firecrawl’s Single URL scraper (or any headless service like Browserless, Oxylabs, Bright Date, or ScrapingBee) — they handle rendering and IP rotation.
  • Want to extract from internal pages (like /contact or /about)? Use Firecrawl’s async crawl mode — just note it takes longer.
  • For speed and efficiency, this built-in HTTP + Markdown setup is usually the fastest way to grab emails.

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 - Limit

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

Block 2 - On form submission

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

Block 3 - Run an Actor

Type / Role
@apify/n8n-nodes-apify.apify - apify
Config choices
Version 1

Block 4 - Get dataset items

Type / Role
@apify/n8n-nodes-apify.apify - apify
Config choices
Version 1

Block 5 - Grab Desired Fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 6 - Loop Over Items

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

Block 7 - Markdown

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

Block 8 - Loop Over Items1

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

Block 9 - Wait1

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

Block 10 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 11 - Grab Desired Fields1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 12 - Merge1

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 13 - Parse url/website

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 14 - Remove Query Parameters & Fragments

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

Block 15 - User-Agents

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 16 - Website Scraping

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

Block 17 - Random Wait

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

Block 18 - Extract Email Address

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

Block 19 - Filter Leads with Email only

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

Block 20 - Database

Type / Role
n8n-nodes-base.airtable - airtable
Config choices
Version 2.1

Block 21 - Sticky Note

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

Block 22 - Sticky Note1

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

Block 23 - Sticky Note2

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

Block 24 - Sticky Note3

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 Google Maps lead generation with Apify & email extraction for Airtable
Complexity advanced
Nodes 26
Categories Lead Generation
Author Ezema Kingsley Chibuzo
Published 23 Jul 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/6307/6307.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 Google Maps lead generation with Apify & email extraction for Airtable do?

What It Does This n8n workflow collects leads from Google Maps , scrapes their websites via direct HTTP requests , and extracts valid email addresses — all while mimicking real user behavior to ...

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.