Quick overview
This workflow collects Google Maps business leads via BasedOnBusiness, filters out any listings that already have a website, and appends the remaining prospects to Google Sheets using a short input form for category, location, and lead count.
How it works
- Receives form submissions that specify a business category, city, country code, and the number of leads to collect.
- Validates and normalizes the inputs to prevent invalid searches.
- Starts a BasedOnBusiness Google Maps scraping job and uses an idempotency key to avoid duplicate billing on retries.
- Polls BasedOnBusiness every 15 seconds until the job status is done, stopping with an error if it fails, is cancelled, or runs longer than 15 minutes.
- Downloads up to 500 results from BasedOnBusiness, splits them into individual businesses, and keeps only listings where the website field is empty.
- Prepares lead fields (including a direct Google Maps URL) and appends one row per prospect to a selected Google Sheets worksheet.
Setup
- Create a BasedOnBusiness account and add an HTTP Bearer Auth credential in n8n with your API key (with scrapes:read and scrapes:write scopes).
- Connect a Google Sheets account in n8n and select the target spreadsheet and worksheet in the Google Sheets append step.
- Ensure your sheet has matching column headers (Business Name, Phone, Address, Category, Rating, Reviews, Google Maps URL, City, Country) before running the workflow.
Requirements
Customization
- Swap Google Sheets for your CRM — every lead field is built in the single Prepare Lead Fields node. Or change the filter to target a low rating or few reviews instead, and the same workflow becomes a reputation-management prospector.
Additional info
A search costs BasedOnBusiness credits equal to the number of leads you request, not the number of businesses that survive the website filter, so start small. Businesses without a website rarely publish an email address, so phone is the contact channel for these prospects.