npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-crawler-google-places

v0.0.2

Published

n8n node for Google Maps Scraper

Downloads

37

Readme

n8n Nodes - Google Maps Scraper

This is an n8n community node that integrates Apify's Google Maps Scraper with your n8n workflows, enabling you to extract structured data from Google Maps including business listings, reviews, and contact information.

Apify is a platform for developers to build, deploy, and publish web automation tools, while n8n is a fair-code licensed tool for AI workflow automation that allows you to connect various services.

Table of contents

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 [email protected].
  5. Agree to the 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:

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:

nvm use

1. Clone and install dependencies

Clone the repository and install dependencies:

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

npm run build

3. Start development server

Start the n8n development server with your node linked:

npm run dev

🔁 Making changes

If you make any changes to your custom node locally, remember to rebuild and restart:

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:
export WEBHOOK_URL="https://your-tunnel.local"
  1. Restart n8n
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

auth

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 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

workflow

Resources

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) 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 [email protected] 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
  2. Review the Apify API documentation
  3. Review the n8n Community Nodes documentation
  4. Open an issue in the GitHub repository