https://github.com/apify/n8n-nodes-crawler-google-places
https://github.com/apify/n8n-nodes-crawler-google-places
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/apify/n8n-nodes-crawler-google-places
- Owner: apify
- License: mit
- Created: 2026-01-06T09:46:58.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-15T11:09:05.000Z (5 months ago)
- Last Synced: 2026-01-15T15:46:41.803Z (5 months ago)
- Language: TypeScript
- Size: 873 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# n8n Nodes - Google Maps Scraper
This is an n8n community node that integrates Apify's [Google Maps Scraper](https://apify.com/compass/crawler-google-places) with your n8n workflows, enabling you to extract structured data from Google Maps including business listings, reviews, and contact information.
[Apify](https://apify.com) is a platform for developers to build, deploy, and publish web automation tools, while [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) tool for AI workflow automation that allows you to connect various services.
## Table of contents
- [Installation on self hosted instance](#installation-self-hosted)
- [Installation for development and contributing](#installation-development-and-contributing)
- [Operations](#operations)
- [Credentials](#credentials)
- [Compatibility](#compatibility)
- [Usage](#usage)
- [Resources](#resources)
- [Release](#releasing-a-new-version)
- [Version History](#version-history)
- [Troubleshooting](#troubleshooting)
## Installation (self-hosted)
To install the Google Maps Scraper community node directly from the n8n Editor UI:
1. Open your n8n instance.
2. Go to **Settings > Community Nodes**
3. Select **Install**.
4. Enter the npm package name: `n8n-nodes-crawler-google-places` to install the latest version. To install a specific version (e.g 1.0.0) enter `n8n-nodes-crawler-google-places@1.0.0`.
5. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes and select **Install**
6. The node is now available to use in your workflows.
> **Note:** This community node only works on self-hosted n8n instances. It is not available for n8n Cloud.
## Installation (development and contributing)
### ⚙️ Prerequisites
- **Node.js**: 22.x or higher (required)
- **npm**: 10.8.2 or higher (required)
Verify your versions:
```bash
node --version # Should be v22.x.x or higher
npm --version # Should be 10.8.2 or higher
```
If you use `nvm`, the project includes a `.nvmrc` file. Simply run:
```bash
nvm use
```
### 1. Clone and install dependencies
Clone the repository and install dependencies:
```bash
git clone https://github.com/apify/n8n-nodes-crawler-google-places.git
cd n8n-nodes-crawler-google-places
npm install --legacy-peer-deps
```
The `--legacy-peer-deps` flag is required due to n8n's complex peer dependency tree.
### 2. Build the node package
```bash
npm run build
```
### 3. Start development server
Start the n8n development server with your node linked:
```bash
npm run dev
```
---
### 🔁 Making changes
If you make any changes to your custom node locally, remember to rebuild and restart:
```bash
npm run build
```
---
## Self-hosted n8n: public webhook URL for triggers
This configuration is required for our service's trigger functionality to work correctly.
By default, when running locally n8n generates webhook URLs using `localhost`, which external services cannot reach. To fix this:
1. **Set your webhook URL**
In the same shell or Docker environment where n8n runs, export the `WEBHOOK_URL` to a publicly-accessible address. For example:
```bash
export WEBHOOK_URL="https://your-tunnel.local"
```
2. **Restart n8n**
```bash
npm run dev
```
## Operations
This node provides three operations:
### Scrape places with advanced options
Extract comprehensive business data from Google Maps with full configuration options.
**What you can extract:**
- **Business information**: name, address, phone number, website, category
- **Location data**: coordinates, plus code, neighborhood, city, state, country
- **Ratings and reviews**: overall rating, number of reviews, review distribution
- **Business details**: opening hours, popular times, services offered
- **Photos**: business photos and images
- **Additional attributes**: price level, wheelchair accessibility, payment options
- **Business lead enrichment**: emails, social media profiles, contact details
**Configuration options:**
- Search by keyword, place name, or coordinates
- Define search area with location and radius
- Filter by category, rating, or price level
- Set maximum number of results
- Configure language and region preferences
- Enable/disable images and photos extraction
- Enable/disable reviews extraction
### Scrape place reviews
Extract customer reviews and ratings for specific places on Google Maps.
**What you can extract:**
- **Review content**: text, rating, date posted
- **Reviewer information**: name, profile details, review count
- **Review metrics**: likes count, response from owner
- **Review photos**: images attached to reviews
**Configuration options:**
- Filter reviews by rating (1-5 stars)
- Sort by newest, highest rating, or most relevant
- Set maximum number of reviews to extract
### Generate company and business leads
Extract contact information and business leads from Google Maps listings.
**What you can extract:**
- **Contact details**: email addresses, phone numbers
- **Business information**: company name, website, category
- **Social media**: Facebook, Instagram, LinkedIn profiles
- **Location data**: full address, coordinates
- **Additional info**: business hours, ratings
- **Employee data** (with business leads enrichment add-on): information about employees working at the business including:
- Personal details: first name, last name, LinkedIn profile
- Contact information: business email
- Professional info: job title, department, headline, seniority level
- Location: city, state, country
- Company details: company name, website, size, LinkedIn profile, industry
**Configuration options:**
- Search by keyword and location
- Filter by business category
- Search by place ID or place URL
**AI integration:**
The Google Maps Scraper integrates seamlessly with n8n's AI tools, enabling workflows such as:
- Extract business data and use AI to categorize or analyze market trends
- Scrape reviews and generate sentiment analysis reports
- Build lead lists and use AI to qualify prospects
- Monitor competitor locations and generate strategic insights
## Credentials
This node requires Apify API authentication:
**API key authentication**
- Configure your Apify API key in the n8n credentials section under `apifyApi`
- You can find your API key in your [Apify account settings](https://console.apify.com/account/integrations)

## Compatibility
- **n8n**: Version 1.57.0 and higher
- **Node.js**: 22.x or higher
- **npm**: 10.8.2 or higher
## Usage
### Basic setup
1. **Install the node**: Follow the [installation instructions](#installation-self-hosted) above.
2. **Configure credentials**: Add your Apify API key in n8n's credentials section.
3. **Create a workflow**: Add the Google Maps Scraper node to your n8n workflow.
4. **Select an operation**: Choose between scraping places, reviews, or generating leads.
5. **Configure your search**:
- Enter your search query and location
- Select data extraction options
- Configure filters and limits
6. **Execute the workflow**: Run the workflow to scrape Google Maps data.
### Example use cases
**Local business intelligence**
- Extract competitor locations and business information
- Monitor local market presence and density
- Analyze business distribution across different areas
- Track new business openings in specific locations
**Lead generation and sales**
- Build targeted business lead lists by category and location
- Extract contact information for outreach campaigns
- Generate prospect lists with business emails
- Identify potential customers in specific geographic areas
**Reputation management**
- Monitor customer reviews across multiple locations
- Track rating trends and sentiment over time
- Analyze competitor reviews and feedback
- Identify common customer complaints or praise
**Market research**
- Analyze popular times and business hours patterns
- Compare pricing levels across competitors
- Study service offerings and amenities
- Identify market gaps and opportunities
**Real estate and location analysis**
- Assess business activity in specific neighborhoods
- Evaluate commercial viability of locations
- Map business categories and their distribution
- Analyze foot traffic patterns through popular times data
**Customer service and engagement**
- Extract customer feedback for analysis
- Identify businesses needing responses to reviews
- Monitor brand mentions in reviews
- Track customer sentiment across locations

## Resources
- [Google Maps Scraper on Apify](https://apify.com/compass/crawler-google-places)
- [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
- [Apify API Documentation](https://docs.apify.com)
# Releasing a new version
This project uses a GitHub Actions workflow to automate the release process, including publishing to npm. Here's how to trigger a new release.
**Prerequisites (for all methods):**
* Ensure your target branch on GitHub is up-to-date with all changes you want to include in the release.
* Decide on the new version number, following semantic versioning (e.g., `vX.Y.Z`).
* Prepare your release notes detailing the changes.
* If you're using CLI to release, make sure you have the [GitHub CLI (`gh`)](https://cli.github.com/) installed and authenticated (`gh auth login`).
---
## Method: Using the GitHub web UI (recommended for ease of use)
1. **Navigate to GitHub releases:**
* Go to your repository's "Releases" tab
2. **Draft a new release:**
* Click the **"Draft a new release"** button.
3. **Create or choose a tag:**
* In the "Choose a tag" dropdown:
* **Type your new tag name** (e.g., `v1.2.3`).
* If the tag doesn't exist, GitHub will prompt you with an option like **"Create new tag: v1.2.3 on publish."** Click this.
* Ensure the **target branch** selected for creating the new tag is correct. This tag will point to the latest commit on this target branch.
4. **Set release title and notes:**
* Set the "Release title" (e.g., `vX.Y.Z` or a more descriptive title).
* For the release notes in the description field, you have a few options:
* **Write your prepared release notes.**
* **Click the "Generate release notes" button:** GitHub will attempt to automatically create release notes based on merged pull requests since the last release. You can then review and edit these auto-generated notes.
5. **Publish the release:**
* Click the **"Publish release"** button.
*Upon publishing, GitHub creates the tag from your specified branch and then creates the release. This "published" release event triggers the automated workflow.*
---
## Post-release: automated workflow & verification
After creating and publishing the GitHub release:
1. **Automated workflow execution:**
* The "Release & Publish" GitHub Actions workflow will automatically trigger.
* It will perform:
1. Code checkout.
2. Version extraction (`X.Y.Z`) from the release tag.
3. Build and test processes.
4. Update `package.json` and `package-lock.json` to version `X.Y.Z`.
5. Commit these version changes back to the branch the release was targeted from with a message like `chore(release): set version to X.Y.Z [skip ci]`.
6. Publish the package `n8n-nodes-crawler-google-places@X.Y.Z` to npm.
2. **Verify the package on npm:**
After the workflow successfully completes (check the "Actions" tab in your GitHub repository):
* Verify the new version on npm:
```bash
npm view n8n-nodes-crawler-google-places version
```
This should print `X.Y.Z`.
## Version history
Track changes and updates to the node here.
## Troubleshooting
### Common issues
1. **Authentication errors**
- Verify your API key is correct
2. **Resource Not Found**
- Verify the resource ID format
- Check if the resource exists in your Apify account
- Ensure you have access to the resource
3. **Operation failures**
- Check the input parameters
- Verify resource limits (memory, timeout)
- Review Apify Console for detailed error messages
### Getting help
If you encounter issues:
1. Check the [Google Maps Scraper documentation](https://apify.com/compass/crawler-google-places)
2. Review the [Apify API documentation](https://docs.apify.com)
3. Review the [n8n Community Nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
4. Open an issue in the GitHub repository