n8n

How to Automate Google Places Zip Code Lead Lists to Google Sheets?

Find local business leads by subcategory and zip codes and send the results into Google Sheets. Great for agencies and growth teams that need fresh, clean lists for outreach without manual research.

The workflow runs on a schedule or by hand. It reads zip codes and subcategories from Google Sheets, then searches the Google Places API using a combined text query like Subcategory + Zip. Results are deduplicated by place ID, then saved to a Results sheet with name, phone, address, website, rating, and more. It tracks progress by updating status fields and uses exponential backoff with wait steps to handle API and Google Sheets limits. If limits are hit too many times, it stops safely with a clear error.

Setup needs a Google Cloud project with Places access and a Google Sheets document. Put your sheet URL and sheet names in the Settings node. Start with a small test using the Limit node, then enable the schedule to run every 15 minutes. Expect faster list building, cleaner data, and a repeatable way to scale prospecting for local markets like home services, healthcare, retail, or franchise research.

What are the key features?

  • Schedule or manual start to control when lead searches run
  • Reads zip codes, subcategories, and status from Google Sheets
  • Queries Google Places Text Search with a precise field mask to fetch only needed fields
  • Removes duplicates by place.id before writing to the Results sheet
  • Saves leads with name, phone, website, address, and types to a Results sheet
  • Updates row status to scraped for each zip and subcategory pair
  • Exponential backoff with wait nodes and retry counters to handle API limits
  • Stops with a clear error message if Google Sheets limits are reached
  • Batch control using Split and Limit nodes to keep runs stable

What are the benefits?

  • Reduce manual research from hours to minutes by auto-collecting local leads
  • Streamline prospect list building by over 70 percent with scheduled runs
  • Improve data quality by removing duplicate places by ID
  • Handle higher search volume with safe retries and wait controls
  • Connect Google Places API and Google Sheets for a simple lead pipeline
  • Cut API errors with exponential backoff and max retry checks

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Google Places API and Google Sheets. See the Tools Required section above for links to create accounts with these services.
  3. Prepare your Google Sheets document: create a sheet for zip codes, a sheet for subcategories, and a Results sheet. Include columns for zip, subcategory, and status where noted.
  4. Open the Settings node and paste your Google Sheets URL in the gs_url field. Set the sheet names for your zip list and any status sheet fields used.
  5. Connect Google Sheets in n8n: double click any Google Sheets node, choose Credential to connect with, click Create new credential, then follow the on screen steps to sign in and grant access.
  6. Connect Google Places in n8n: open the HTTP Request node named GMaps API, choose Credential to connect with, click Create new credential, then follow the on screen steps for Google OAuth in n8n Cloud. Ensure the Places API is enabled in your Google Cloud project.
  7. In Google Cloud, confirm billing is enabled and the Places API is turned on so requests will succeed.
  8. Review the Limit node and set a small number for the first test run to avoid hitting limits.
  9. Check the Remove Duplicates node settings to ensure place.id is selected so repeated results are not saved.
  10. Run a manual test. After it completes, open the Results sheet and confirm new rows have title, phone, address, website, and types.
  11. If you see the error Google Sheets API limit has been triggered, lower the batch size, increase wait times by adjusting the Exponential Backoff nodes, or run less often.
  12. Enable the Schedule Trigger to run every 15 minutes once the test looks good. Monitor the execution list in n8n to confirm stable runs over time.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Google Places API

Sign up

Places API Text Search Essentials (IDs Only): Free ($0 per call; unlimited)

Google Sheets

Sign up

Free: $0 (Google Sheets API usage has no additional cost; quota limits apply)

Credits:
Alex Kim Profile

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.