gosom/google-maps-scraper

Data

Turn Google Maps search results into structured business lead lists without paying per-query APIs.

6,872
1,073
Go
MIT
3 years old

A practical lead-generation scraper for teams that want a local, exportable view of Google Maps business listings. Treat it as infrastructure you run and maintain, not a one-off script.

The problem

You have a city and a category — "dentists in Berlin" — and need a list with names, phones, sites, ratings and coordinates. Doing that by hand or via a paid Places API means either copying rows one by one or watching per-request billing add up. This project changes that step: you feed it a query, it walks the Maps results and writes structured records to CSV, JSON or a database. The output is a table you can filter, deduplicate and hand to sales, where the query text is the only input you author.

What's different

The mechanism is a Go scraper that can run from a CLI, a web UI, a REST API, or as an agent skill installed into coding assistants; the skill path lets an agent plan searches, run a small validation scrape, then start the full local run and help you use the results (agent skill setup). Output goes beyond the basics: the feature table claims 33+ fields, and an optional pass crawls each business website to pull email addresses. Output targets include CSV, JSON, PostgreSQL, S3 and LeadsDB, with plugin output as an extension point. The trade-off is that scraping is a moving target: the data comes from visited pages rather than a contract-backed API, and email extraction adds a second round of requests with its own time cost. Architecture ranges from a single machine to a Kubernetes cluster and experimental AWS Lambda, and proxy support (SOCKS5/HTTP/HTTPS with auth) is documented — expect to need it for volume rather than treating it as optional polish (project instructions).

Who should try it

Good fit: an agency or sales-ops person who needs repeatable local business lists and is comfortable running a Go binary or docker setup and storing the output themselves. The web UI and REST API lower the entry barrier for non-CLI users, and the agent-skill path suits people who already work in Claude Code, Codex, Cursor or another skills-compatible tool (skills ecosystem). Poor fit: someone who wants a supported, rate-limited data feed with guarantees — the legal notice itself asks users to comply with applicable laws and terms of service, which puts the responsibility on you. Also a poor fit if you only need one small list; a manual export is less work than setting up proxies and output plumbing.

Requirements and limitations

Three things matter more than the feature list. First, volume means proxies: the README documents SOCKS5/HTTP/HTTPS proxies and links proxy guidance, so budget for that before scaling queries. Second, email extraction depends on crawling business sites — not every listing has a reachable site or a published email, so coverage will be uneven. Third, the project exposes several surfaces (CLI, Web UI, REST API, Lambda, distributed setup) but the README excerpts leave installation and advanced usage truncated, so verify the current setup path that matches your chosen surface rather than assuming a single documented route. Ongoing upkeep is the real cost: Maps markup changes, and you should be prepared to re-run validation scrapes after any breakage. Fast Mode is labeled beta, and the Lambda support is experimental, so avoid depending on either for production volume.

HotRepo's take

HotRepo's stored coverage begins on 2026-10-26, where the project appeared at #14 on the weekly Go board with +285 stars; that single recorded date is not enough to judge persistence either way. The 2023 Show HN thread drew 56 points and 7 comments, where one commenter said they had been paying serpapi.com monthly for comparable data (HN discussion). The practical check before adopting: confirm that the installation path for your chosen interface (CLI, Web UI or API) is still documented and works with current Maps output, since the scraper's value collapses if it silently returns partial rows.

Hacker News

Show HN: A Google Maps Scraper
▲ 56 · 7 comments · December 3, 2023
Google Maps Scraper in Golang
▲ 1 · 1 comment · July 27, 2023

Written by AI from the project's README, updated October 26, 2026. The project's own docs are the source of truth.