
Automated Google Maps Business Scraper
About This Project
Description:
This tool is a powerful Node.js & Puppeteer-based scraper that automates the extraction of business data from Google Maps. It allows users to provide keywords, locations, or geolocation coordinates and retrieves structured business information including names, addresses, phone numbers, websites, and distances within a specified radius.
Designed for marketers, researchers, or businesses needing bulk business data, the scraper supports real-time progress updates, duplicate filtering, and invalid data handling, ensuring reliable and efficient data collection.
Functionalities:
๐ Keyword & Location Search โ Input any keyword and a location or use live geolocation to target specific areas.
๐ข Business Data Extraction โ Scrapes name, phone number, website, address, and calculates distance from a given point.
๐ Radius Filtering โ Only returns businesses within a specified radius in meters/kilometers.
๐ Duplicate Handling โ Automatically detects and skips duplicate entries.
๐ซ Invalid Data Filtering โ Skips entries with missing or malformed addresses.
๐ก Real-Time Streaming โ Uses Server-Sent Events (SSE) to stream progress and results live to the client.
๐งญ Geocoding & Distance Calculation โ Converts locations to coordinates and calculates distances using Node-Geocoder + Geolib.
๐๏ธ Caching โ Stores geocoding results with Node-Cache for 24 hours to speed up repeated searches.
โ๏ธ Error Handling & Logging โ Detailed logs for debugging, automatic screenshots on scraping errors.
๐ฅ๏ธ Headless Browser Automation โ Puppeteer navigates Google Maps, scrolls listings, and extracts relevant data efficiently.
Technology Stack:
Frontend / Client:
โ๏ธ React.js โ Dynamic user interface (
maps-scraper-client/src/App.js)๐ HTML5 & CSS3 โ Public pages (
index.html,styles.css)๐ฅ๏ธ JavaScript โ Client-side logic (
script.js)๐ Server-Sent Events (SSE) โ Real-time log & data streaming to the browser
Backend / Scraper Engine:
๐ข Node.js with Express.js โ API endpoints (
/api/scrape,/api/scrape-stream)๐ค Puppeteer โ Automated browser for Google Maps navigation & scraping
๐บ๏ธ Node-Geocoder + LocationIQ API โ Converts typed locations into latitude/longitude
๐ Geolib โ Distance calculations between user location and businesses
๐๏ธ Node-Cache โ Stores geocoding results for repeated searches
๐
โ Handles API requests safely
Additional Tools / Features:
๐ Automatic scrolling & panel handling to extract all visible businesses
๐ Deduplication & invalid address skipping for cleaner datasets
๐ธ Automatic screenshots for debugging failures
โฑ๏ธ Configurable maximum results & timeout handling
Project Gallery
Technologies Used
Related Projects

WhatsApp Marketing Automation Tool
This is a Node.jsโbased WhatsApp marketing automation platform designed to help businesses and marketers send bulk messages and media to WhatsApp contacts efficiently.

LedgerFlow โ AIโPowered Personal Finance Management Platform
LedgerFlow is a modern AIโpowered personal finance management platform designed to help individuals take control of their financial life with simplicity and intelligence
