🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Bright Data to Google Sheets, clean Maps leads fast

Lisa Granqvist Partner Workflow Automation Expert

You finally sit down to do outreach, and the first hour disappears into a spreadsheet you don’t trust. Google Maps tabs everywhere. Copy, paste, fix formatting, hunt for missing phone numbers. It’s the kind of work that makes you lose momentum fast.

Marketing managers feel it when campaigns need fresh prospects weekly. Agency owners feel it when every client asks for “just 200 more leads.” And if you run a small local business, you’re probably doing competitor research the same clunky way. This Bright Data Sheets automation turns a location + keyword into a clean Google Sheet you can actually use.

Below you’ll see how the workflow runs, what it replaces, what you need to connect, and the small gotchas that usually trip people up the first time.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Bright Data to Google Sheets, clean Maps leads fast

The Challenge: Turning Google Maps results into usable leads

Google Maps is great for finding businesses. It’s terrible for building a repeatable lead list. You search “dentists in Austin,” click around, open profiles, grab a phone number (if it’s there), and paste it into a sheet that slowly turns into a mess. Then you realize half your entries are missing URLs, some addresses are incomplete, and you’re not even sure which listings you already captured last week. Honestly, the worst part is the mental load. You spend more effort managing the process than doing the outreach that actually drives revenue.

It adds up fast. Here’s where it usually breaks down in real teams.

  • Every manual copy-paste run produces slightly different columns, which means sorting and filtering becomes a chore later.
  • Phone numbers and URLs are easy to miss because you’re jumping between tabs and profiles all day.
  • When someone asks for “the same list, but for three more cities,” you’re basically starting over.
  • Errors creep in quietly, so your outreach fails for reasons that look like “bad leads” but are really “bad data entry.”

The Fix: Bright Data pulls listings, n8n writes them to Sheets

This workflow replaces the messy “search, click, copy, paste” routine with one simple input: a web form where you enter a location and keywords. Once you submit, n8n sends a request to Bright Data’s Google Maps dataset, then keeps checking the job status until the scrape is complete. When the results are ready, it retrieves the business records and appends them to your Google Sheet in tidy columns. Names, addresses, ratings, phone numbers, and Google Maps URLs show up without you touching a tab. If the scrape isn’t ready yet, the workflow waits and retries, so you’re not babysitting it.

The workflow starts with a form submission in n8n. Bright Data handles the heavy lifting of collecting Google Maps listings, and n8n’s “ready” checks keep things reliable. Finally, Google Sheets becomes your clean system of record, ready for outreach or analysis.

What Changes: Before vs. After

Real-World Impact

Say you pull leads for 3 niches each week (like “roofers,” “plumbers,” and “HVAC”) across 2 cities. Manually, if you spend maybe 2 minutes per listing to open the profile, copy the phone number, paste the address, grab the URL, and clean the row, 100 listings is about 3 hours. With this workflow, you submit 6 form entries in under 10 minutes, then wait for Bright Data to return results (usually a few minutes). You still review the sheet, but you’re reviewing data, not creating it.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Bright Data for Google Maps dataset access.
  • Google Sheets to store and share the leads.
  • Bright Data API key (get it from your Bright Data dashboard).

Skill level: Intermediate. You’ll connect credentials, paste a Sheet ID, and test a form submission.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A form submission kicks everything off. You enter a location (city/state/country) and a keyword (industry or business type). That single input becomes the search spec for your scrape.

The workflow launches a Bright Data scraping job. n8n sends an HTTP request to Bright Data’s Google Maps dataset and receives a job reference back, which it uses to track progress.

Status checks keep it dependable. n8n polls Bright Data to see if the results are ready, and if not, it waits briefly and checks again. There are also “gate” checks to confirm the scrape returned data before moving on.

Results land in Google Sheets. Once the listings are available, the workflow retrieves the records and appends them to your sheet with consistent columns (name, address, rating, phone number, URL).

You can easily modify the output columns to include things like review count or website URL based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form Trigger

This workflow starts when a user submits the intake form for a Zillow property search.

  1. Add and open 📝 Intake Form Start.
  2. Set Form Title to Zillow Property Search.
  3. Create form fields: Location (required) and a dropdown Listing Category with options House for rent and House for sale.
  4. Confirm 📝 Intake Form Start connects to 🚀 Launch Scraping Request.

Step 2: Connect Google Sheets

Listing records are appended to a Google Sheet after the scrape finishes.

  1. Open 📄 Append Listings to Sheet.
  2. Credential Required: Connect your googleSheetsOAuth2Api credentials.
  3. Set Operation to append.
  4. Set Document to [YOUR_ID] and Sheet Name to Zillow.
  5. Map the columns using expressions like URL{{ $json.hdpUrl }}, City{{ $json.city }}, and Street Address{{ $json.address }}.

Step 3: Set Up Scrape Launch and Monitoring

This section triggers the Bright Data scrape and polls until the snapshot is ready.

  1. Open 🚀 Launch Scraping Request and set URL to https://api.brightdata.com/datasets/v3/trigger.
  2. Set Method to POST and JSON Body to ={ "input": [ { "location": "{{ $json.Location }}", "listingCategory": "{{ $json['Listing Category'] }}", "HomeType": "", "days_on_zillow": "" } ]}.
  3. Configure query parameters: dataset_id=gd_lfqkr8wm13ixtbd8f5, include_errors=true, type=discover_new, discover_by=input_filters, limit_per_input=2.
  4. Set the header Authorization to Bearer [CONFIGURE_YOUR_TOKEN] in 🚀 Launch Scraping Request, ⏳ Monitor Scrape Progress, and 📥 Retrieve Listing Records.
  5. In ⏳ Monitor Scrape Progress, set URL to =https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }} and add query parameter format=json.
  6. In ✅ Scrape Ready Gate, set the condition to {{ $json.status }} equals ready.
  7. Configure ⏱️ Pause Before Next Check with Unit minutes and Amount 1, then confirm it loops back to ⏳ Monitor Scrape Progress.

⚠️ Common Pitfall: The Bright Data token is a placeholder. Replace [CONFIGURE_YOUR_TOKEN] in every HTTP header before testing, or the requests will fail with authorization errors.

Step 4: Configure Data Retrieval and Validation

Once the scrape is ready, the workflow checks for records and retrieves the snapshot data.

  1. In 📊 Confirm Data Presence, set the condition to {{ $json.records }} not equals {{ 0 }}.
  2. Open 📥 Retrieve Listing Records and set URL to =https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}.
  3. Ensure 📊 Confirm Data Presence outputs to 📥 Retrieve Listing Records when data exists.
  4. Confirm 📥 Retrieve Listing Records outputs to 📄 Append Listings to Sheet for storage.

Tip: The polling loop is driven by ✅ Scrape Ready Gate⏱️ Pause Before Next Check⏳ Monitor Scrape Progress. Keep the wait time at 1 minute unless your Bright Data dataset requires longer processing.

Step 5: Test and Activate Your Workflow

Run a manual test to validate the end-to-end scrape and sheet append before activating.

  1. Click Execute Workflow and submit the 📝 Intake Form Start with a valid Location and Listing Category.
  2. Confirm 🚀 Launch Scraping Request returns a snapshot_id, and ⏳ Monitor Scrape Progress returns status updates.
  3. Verify 📥 Retrieve Listing Records returns listings and 📄 Append Listings to Sheet writes rows to the Zillow sheet.
  4. When results look correct, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Bright Data credentials can expire or your dataset access may not be enabled. If things break, check your Bright Data dashboard permissions for the Google Maps dataset first.
  • If you’re using Wait nodes or external processing, run times vary. Bump up the wait duration if the status check sometimes flips to “ready” but the next request returns empty data.
  • Google Sheets permission errors are usually an OAuth issue, not the workflow itself. Reconnect your Google Sheets credential in n8n and confirm the target spreadsheet is accessible to that Google account.

Common Questions

How quickly can I implement this Bright Data Sheets automation?

Usually about 30 minutes once you have your Bright Data API key and a Google Sheet ready.

Can non-technical teams implement this Google Maps lead automation?

Yes, but you will want someone comfortable connecting OAuth credentials. No coding is required, just careful setup and a test run.

Is n8n free to use for this Bright Data Sheets workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Bright Data API usage based on your plan.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

How do I adapt this Bright Data Sheets solution to my specific challenges?

You can expand what gets saved by adjusting the “Retrieve Listing Records” HTTP request to include extra fields Bright Data provides (like review count or website URL), then mapping those into new columns in “Append Listings to Sheet.” Common tweaks include changing the result limit, running multiple keywords per location, and adding a “source” column so you can track which search produced each row.

Why is my Bright Data connection failing in this workflow?

Most of the time it’s an invalid API key or missing access to the Google Maps dataset in your Bright Data account.

What’s the capacity of this Bright Data Sheets solution?

It depends more on your Bright Data plan than n8n. On n8n Cloud Starter, you’re working within your monthly execution quota, and each search can take several executions because the workflow polls for status before pulling results. If you self-host, there’s no execution cap from n8n, so throughput mostly comes down to server resources and Bright Data rate limits. Practically, many teams run a handful of searches per day without thinking about it, then batch bigger pulls when they need a new list.

Is this Bright Data Sheets automation better than using Zapier or Make?

For this workflow, n8n has a few advantages: more complex logic with unlimited branching at no extra cost, a self-hosting option for unlimited executions, and native HTTP + waiting/polling patterns that are awkward and expensive in many no-code tools. Zapier and Make can still do it, but the “check status, wait, retry, then fetch” loop is where costs and complexity creep in. If you only run occasional tiny pulls, you might not care. If this becomes a weekly process, you probably will. Talk to an automation expert if you’re not sure which fits.

Once this is running, lead list building becomes a repeatable input, not a weekly ordeal. The workflow handles the tedious parts, and your sheet stays clean enough to trust.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal