A free automation workflow for the n8n platform, published on GitHub by a developer under the username itzikhr18, can collect local business listings from the official Google Places API and write them into a Google Sheet. The project's README says it avoids scraping entirely, which means it is not tied to the layout of Google Maps web pages and should keep working when Google changes its HTML. For small sales teams, local marketers and freelancers who build prospect lists by hand, the approach offers a repeatable alternative to copying listings one by one.
What the workflow produces
According to the repository, each business row includes a place ID, business name, address, phone number, website, rating, review count, a Maps link, the search query that found it, and a timestamp showing when it was retrieved. The author has published an example output file, generated from a test run against a mock API, so the businesses in it are invented. That detail matters for readers who want to check the format before connecting real data.
The design choice behind the project is worth understanding. Scraping tools read the visible content of a web page, so they tend to break whenever the page structure changes. By calling the Places API, the workflow requests structured data that Google provides through a documented interface. The trade-off is that access is governed by Google's terms, quotas and billing, which the setup instructions address directly.
Setup in about ten minutes
The repository lists a short sequence of steps. Users first enable the Places API (New) in Google Cloud and generate an API key, which the author recommends restricting to that API alone. Inside n8n, they then create a Header Auth credential named X-Goog-Api-Key, paste in the key, and select it in the Search Google Places node.
Next, users create a Google Sheet with a tab called Leads and a header row matching the field names. The workflow file is imported into n8n, a Google Sheets credential is connected, and the sheet URL is entered in the settings. Finally, the user sets a search query, such as plumbers in a named city, and a maximum number of result pages from one to three, then runs the workflow.
- Enable Places API (New) and create a restricted API key.
- Create a Header Auth credential in n8n with the key.
- Prepare a Google Sheet with a Leads tab and the correct headers.
- Import the workflow file and connect Google Sheets.
- Set the search query and page limit, then run a small test first.
Pitfalls the author ran into
The most useful part of the README is its list of problems the author encountered. The first is a field mask setting: the request must include the next page token, or the API silently returns only the first page of results. Users who skip this step may believe they have a complete list when they do not.
The second limit is volume. According to the repository, Text Search stops at 60 results, which equals three pages of 20. To cover a larger area, the author suggests splitting it into smaller searches, for example by neighborhood or postal code. This is a practical constraint for anyone building a city-wide list, since it means planning the search grid before running the workflow.
The third issue is duplication. Later result pages can repeat businesses that already appeared, so the Extract leads step removes duplicates using the place ID. The same step also discards businesses whose status is not operational. Re-runs are handled by configuring the Google Sheets node to append or update rows matched on place ID, which prevents the same business from appearing multiple times across sessions.
Cost and testing considerations
The repository warns that requesting phone numbers, websites and ratings places the request in Google's Text Search Enterprise category, which carries its own pricing. The author advises checking the current free monthly allowance and rates on Google's Places API pricing page before any large run. As a rough guide given in the README, a run with three pages equals three requests.
The workflow was tested end to end in n8n version 2.42 against a local mock of the Places API, including two pages of results, a duplicate entry and a permanently closed business. The author notes that the Google Sheets node was checked against its node definition rather than a live account, so users should verify the integration with their own credentials. The recommended first step is a one-page test run.
The README also mentions a larger, paid template by the same author that adds website audits, generated outreach emails, lead scoring with an OpenAI-compatible model, and Gmail drafts that are never sent automatically. The author states that the free workflow is complete on its own, and the paid product is described only in general terms in the source.
For readers, the main takeaway is that the free workflow offers a clear, documented route from Google Places data to a working spreadsheet, with honest limits on volume and cost. Anyone planning to use it at scale should test a small search, confirm pricing with Google, and keep the terms of use in mind before building a prospect list on top of it.
Related: n8n Workflow Parses Gmail Invoices Into Sheets With Slack Alerts · n8n Workflow Automates Long-Tail Keyword Research with YepAPI
Comments (0)