Yelp Business Data Scraper with Scrape.do and Google Sheets - n8n Workflow

Use this n8n workflow to scrape Yelp business data automatically via a web form using the Scrape.do API, parse the resulting HTML, and save all structured data directly to a Google Sheet.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Market Researchers: Need structured data for competitive analysis from Yelp listings.
Lead Generation Specialists: Looking to quickly extract business details (phone, address, website).
n8n Automation Specialists: Seeking advanced examples of scraping asynchronous jobs and robust HTML parsing within a single n8n workflow.
Data Engineers: Requiring a reliable solution for web scraping behind JavaScript rendering.

Overview

Manually collecting detailed business information from platforms like Yelp is tedious and prone to errors. This powerful n8n workflow solves this by providing a fully automated, hands-off solution. By leveraging the Scrape.do API, the workflow handles complex scraping tasks, including JavaScript rendering, which is essential for capturing data on modern websites like Yelp. The automation starts with a simple form submission and reliably extracts crucial fieldsโ€”such as ratings, review counts, addresses, phone numbers, and categoriesโ€”before consolidating all the findings into a tidy Google Sheet. This is an essential n8n templates example for robust, high-volume data extraction, ensuring you capture accurate data reliably.

How it Works

This comprehensive n8n workflow utilizes an asynchronous scraping approach coupled with persistent polling and advanced data parsing.


  1. Form Submission (n8n trigger): The process begins with the 'Form Trigger' n8n node, which provides a public URL for users to submit the target Yelp business URL.

  2. Job Creation: The submitted URL is passed to the '๐Ÿ” Create Scrape.do Job' HTTP Request n8n node, which initiates an asynchronous scraping task on the Scrape.do platform, ensuring JavaScript is rendered correctly.

  3. Initial Wait and Polling Loop: The workflow pauses using a 'Wait 15s' n8n node, then enters a loop. The '๐Ÿ“ก Check Job Status' n8n node repeatedly queries the Scrape.do API for the job status.

  4. Conditional Routing: An 'If' n8n node checks if the Status is 'success'. If the job is incomplete, the workflow is routed through the 'โณ Wait 10s Retry' n8n node and cycles back to check the status, preventing workflow failure due to long render times.

  5. Data Retrieval: Once successful, the '๐Ÿ“ฅ Fetch Task Results' HTTP Request n8n node downloads the raw HTML content generated by the scraper.

  6. HTML Parsing: The '๐Ÿ”ง Parse Yelp HTML' n8n code node executes custom JavaScript using robust regular expressions (regex) to extract specific data points like overallrating, reviewscount, phone, address, and image URLs from the raw HTML structure. This crucial step transforms raw data into structured JSON.

  7. Storage: Finally, the structured data is passed to the '๐Ÿ“Š Store to Google Sheet' n8n node, which automatically appends the scraped business details to a designated row in your connected Google Sheet.

Installation Guide

To set up this powerful n8n workflow template, follow these steps:


  1. Import: Copy the provided JSON code and paste it into your n8n instance via the 'New' menu > 'Import from JSON'.

  2. Scrape.do Setup: Obtain your API token from your Scrape.do dashboard. You must replace the placeholder YOURSCRAPEDOTOKEN in the three HTTP Request n8n nodes ('๐Ÿ” Create Scrape.do Job', '๐Ÿ“ก Check Job Status', and '๐Ÿ“ฅ Fetch Task Results').

  3. Google Sheets Preparation: Create a new Google Sheet and ensure the header row contains the exact column names the n8n node expects: name, overallrating, reviewscount, url, phone, address, pricerange, categories, website, hours, imagesvideosurls, scrapedat.

  4. Google Sheets Credentials: Configure the '๐Ÿ“Š Store to Google Sheet' n8n node with your Google Sheets OAuth2 credentials and update the documentId to reflect YOURGOOGLESHEET_ID.

  5. Activate: Save and activate the n8n workflow. Use the URL provided by the 'Form Trigger' n8n node to start scraping.

Node Details

This n8n workflow leverages several powerful nodes for sequential processing and advanced data manipulation:

Form Trigger: This n8n trigger node initiates the automation when a user submits a specific Yelp URL via the generated web form.
HTTP Request (Create Scrape.do Job): Configured to send a POST request to the Scrape.do API. Key settings include enabling JSON body sending with parameters like "Super": true and "Render": { ... } to ensure JavaScript execution, which is required for Yelp.
Wait: Used twice (15s initial wait and 10s retry wait) to manage the asynchronous nature of the scraping job, ensuring the n8n workflow pauses until external operations are complete.
HTTP Request (Check Job Status/Fetch Task Results): These n8n nodes are crucial for the polling loop, dynamically using the JobID output from the creation step via expressions ({{ $('๐Ÿ” Create Scrape.do Job').item.json.JobID }}).
If: Manages the flow control loop, ensuring the workflow repeatedly checks the job status until it successfully reaches the 'success' state, demonstrating efficient use of core logic n8n templates.
Code Node (Parse Yelp HTML): This is the core logic engine. This n8n node uses custom JavaScript to apply multiple Regular Expressions against the fetched HTML content to reliably extract specific business data elements, standardizing the scraped output into a clean JSON structure.


  • Google Sheets: The final n8n node, set to the 'Append' operation. It maps the structured JSON output from the 'Parse Yelp HTML' code node directly into the predefined columns of your Google Sheet.

Related n8n Workflows

Free

Nodes: 7 Nodes
Updated: December 26 2025
View all
Created by

Hello, I'm Onur I've been working as a freelance software developer for about four years. In addition, I develop my own projects. For some time, I have been improving myself and providing various services related to AI and AI workflows. Both by writing low code and code. If you have any questions, don't hesitate to contact me.

Featured*