Skip to main content

Extract leads from Google Maps into Google Sheets using the Places API

Workflow preview

Workflow preview
100%
Extract leads from Google Maps into Google Sheets using the Places API preview
Open on n8n.io

1. Workflow Overview

Who is this for This workflow is designed for sales teams, marketing professionals, and business developers who want to automate lead generation. It is ideal for budget conscious individuals or sma...

Best for

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

Tools used

n8n-nodes-base.httprequest, n8n-nodes-base.splitout, n8n-nodes-base.set, n8n-nodes-base.googlesheets, n8n-nodes-base.merge, n8n-nodes-base.stickynote, n8n-nodes-base.scheduletrigger, n8n-nodes-base.formtrigger

Source and attribution

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

Original n8n.io source

1.1 Workflow description

Title
Extract leads from Google Maps into Google Sheets using the Places API
Workflow name
Extract leads from Google Maps into Google Sheets using the Places API

Who is this for

This workflow is designed for sales teams, marketing professionals, and business developers who want to automate lead generation. It is ideal for budget-conscious individuals or small businesses looking to collect structured contact information from Google Maps without manual searching or relying on third-party middleware providers.

How it works

The workflow operates in two modes: Manual and Automated.

  • Manual Mode: Submit a search query via an n8n Form node to trigger the workflow instantly.
  • Automated Mode: A Schedule trigger processes pending queries from a Google Sheets spreadsheet.

Once triggered, the workflow uses the Places API (New) to find businesses matching the query. It then maps the data into structured fields (name, address, phone, and website) and saves them as leads in a separate sheet. If triggered automatically, it marks the original query as "scraped" to prevent reprocessing. Duplicate leads are prevented via a deduplication mechanism based on the Google Place ID.

Requirements

To use this workflow, you will need:

  • Google Cloud Project: A project with billing enabled and the Places API (New) activated.
  • Google Places API Key: A valid API key from your Google Cloud Console.
  • Google Sheets Account: Access to Google Sheets with OAuth2 credentials configured in n8n.
  • n8n Instance: A running n8n instance (self-hosted or Cloud).

Setup instructions

  1. Enable the API: In the Google Cloud Console, enable the Places API (New) and generate an API key.
  2. Prepare Google Sheets: * Open this spreadsheet template and click Make a copy.
  • Alternatively, create a spreadsheet with two tabs named SEARCH QUERIES and LEADS. Ensure the queries tab has a Scraped column set to FALSE for new entries.
  1. Configure Credentials: Set up your Google Sheets OAuth2 credentials in n8n.
  2. Import Workflow: Upload the JSON file to your n8n instance.
  3. Add API Key: In the Google Places Search HTTP Request node, replace the placeholder with your Places API (New) key.
  4. Link Spreadsheets: Update the Google Sheets nodes (Get rows in QUERIES, Append or update lead row) with your specific Spreadsheet ID and sheet names.
  5. Test and Activate: Submit a test query via the form or run the schedule trigger manually, then toggle the workflow to Active.

Customization ideas

  • Expand Data Points: In the Map Places Fields node, include additional fields from the API response, such as business hours, ratings, or price levels.
  • Switch Destinations: Replace the Google Sheets "Append" node with a CRM node (e.g., HubSpot, Pipedrive, or Salesforce).
  • Add Notifications: Connect an Email or Slack node to get notified the moment a high-value lead is found.
  • Refine Search: Modify the HTTP Request node to include specific location biases or language preferences supported by the Places API (New).

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 - Google Places Search

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

Block 2 - Split Out Places

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

Block 3 - Map Places Fields

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

Block 4 - Append or update lead row

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

Block 5 - Mark Query as Scraped

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

Block 6 - Merge

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

Block 7 - Sticky Note

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

Block 8 - Sticky Note1

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

Block 9 - Sticky Note2

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

Block 10 - Sticky Note3

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

Block 11 - Get rows in QUERIES

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

Block 12 - Scrape on schedule

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.3

Block 13 - Scrape on form submission

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

Block 14 - Discard empty queries

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

Block 15 - Sticky Note5

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

Block 16 - If

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.3

3. Summary Table

Workflow Extract leads from Google Maps into Google Sheets using the Places API
Complexity advanced
Nodes 16
Categories Lead Generation
Author Ventsislav Minev
Published 27 Feb 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/13753/13753.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 Extract leads from Google Maps into Google Sheets using the Places API do?

Who is this for This workflow is designed for sales teams, marketing professionals, and business developers who want to automate lead generation. It is ideal for budget conscious individuals or sma...

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.