π Scrape Google Maps business listings into Google Sheets with Apify
β‘ 157 views Β· π Market Research & Insights
π‘ Pro Tip β HTTP Request scraping tends to break when sites update their markup. If youβre scraping a major platform, check if ScraperNode covers it β it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.
Description
Who itβs for
This workflow is for sales teams, marketers, and local SEO professionals who need to quickly collect and store business listings from Google Maps without manual copy-pasting.
How it works
- A user submits a web form with a city, country, and search query (e.g. βrestaurants in Lyon, Franceβ).
- The inputs are normalized into structured fields (City, Country, Query) using a Set node.
- A new Google Spreadsheet is automatically created and named after the search parameters, and existing records are read.
- A POST request is sent to the Apify Google Maps scraper actor, returning up to 50 business listings matching the query.
- Key fields (title, price, category, address, phone, website, open/closed status) are extracted and mapped.
- Results are appended or updated in the Google Sheet, ready for use in outreach or analysis.
How to set up
- Configure the When Search Form Submitted node with your desired form fields.
- Connect your Google Sheets OAuth2 credentials in both Sheets nodes.
- Add your Apify API credentials to the Scrape Google Maps via Apify HTTP Request node.
- Verify the Apify actor ID in the POST URL matches your intended Google Maps scraper actor.
Requirements
- Google account with Google Sheets access
- Apify account with a Google Maps scraper actor
How to customize
- Extend the Build Listing Fields node to capture additional Apify fields such as ratings, review count, or opening hours.
- Adjust
maxCrawledPlacesPerSearchin the Apify request body to control the number of results returned. - Replace the form trigger with a scheduled trigger to run recurring scrapes automatically.
π Nodes Used
Google Sheets, HTTP Request, n8n Form Trigger
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File