First public release of gmaps-scraper — a Google Maps scraper as an async Python library, CLI, and MCP server, running over pure HTTP (no official API key, no Google account, no browser automation).
Highlights
- Comprehensive area collection —
gmaps collect "<query>" --location "<place>"resolves the location via OpenStreetMap/Nominatim, tiles it into an adaptive mini-map grid, filters to the exact city polygon, and deduplicates globally. - Recall fix — mini-map pagination default raised to 6 pages: ~0.94 recall on benchmarked cities (up from ~0.75) at the same request count, with honest completeness reporting (
complete: true/false+ reasons) in the run manifest. - Rich business data — up to 58 fields (name, address, phone, website, rating, reviews, categories, hours, coordinates, …), optional place-details enrichment, and website contact extraction (emails + social profiles) for lead generation, with a
--max-contactsbudget. - Three surfaces — command-line CLI, async Python API, and an MCP server for AI agents.
- Durable & resumable — incremental JSONL, atomic snapshots, checkpoints, and
--resume. - Benchmark tooling —
scripts/recall_floor.py(empirical recall floor) andscripts/benchmark_scheduler.py(fixed-geometry policy comparison).
Docs
README.md— install and usageFAQ.md— how it works, comparisons, scaling, infrastructure, roadmapPROJECT_LOG.md— measured Nashville/Atlanta benchmark results
No official API key required. No Google account login required.