Find local businesses without a website in any city

A free n8n workflow. Set a niche and a city, run it, and the businesses that have a Maps listing but no website end up in a Google Sheet — one row each, no repeats from earlier runs.

What it does

  1. Set niche, city and sheet name. Four values in one node: search text, city, region code and worksheet name.
  2. Search businesses in Google Maps. POST places:searchText on Places API (New) with a narrow field mask (13 fields), page size 20, up to 3 pages per run.
  3. Flatten. One row per business, with the phone, the address and a clean city column.
  4. Deduplicate across runs. Removes businesses already saved in earlier executions (history 5000).
  5. Keep only the ones with no website. A single filter on websiteUri.
  6. Append to Google Sheets. 14 columns; the discarded branch ends in a NoOp so the run stays readable.

The 9 nodes

Measured, not claimed

Run against n8n 3.0.0 in a clean container, with a recorded mock of the Places endpoint (11 businesses across 3 pages):

CheckResult
Import into a clean n8n 3.0.0 instanceSuccessfully imported 1 workflow (the workflow is 14 nodes: 9 runnable + 5 sticky notes)
Test harness that ran the mock15/15 nodes (the workflow plus the node that captures the result)
Rows written on the first run7 of 11 — exactly the ones without a website
Columns in the output14
Second run0 rows (the deduplication works)
City columnSantiago, not the country
Assertions in the test script13, all passing

The honest limit: the test uses a recorded mock of the Places response, so it proves the logic (pagination, flattening, deduplication, filter, columns) — not what Google will answer for your city. For that you need your own key and your own first run, which costs a few cents.

Install

  1. Create a Google Places API (New) key with billing enabled in Google Cloud Console and enable Places API (New).
  2. In n8n: Import from file → the JSON below.
  3. Create an HTTP Header Auth credential with header X-Goog-Api-Key and your key as the value, and select it in the Search businesses in Google Maps node.
  4. Connect your Google Sheets account in Append rows to Google Sheets and pick the spreadsheet.
  5. Open 1. EDIT HERE and set niche, city, region and sheet name. Run the manual trigger first; the daily trigger stays off until you are happy with the list.

Download

Find-local-businesses-without-a-website-in-any-city.json · 16,708 bytes · sha256 3ef75603f350a9ee… · MIT

The same file lives in the repository: github.com/ellokillox/n8n-find-local-businesses-without-website.

Next step after the list: scoring who is worth the first message, the prompt that writes the pitch, the templates and the cost ceiling live in the paid kit (this workflow is the first step of it, free) — and you can look inside the package before paying.