Open-source Python web crawler that turns any website into clean, LLM-ready Markdown, with CSS/LLM-based structured extraction and an optional hosted API.
gosom/google-maps-scraper
Open-source Go tool that scrapes Google Maps listings for business names, contact details, ratings, reviews and emails via CLI, Web UI or REST API.
Open-source alternative to:Phantombuster
Outscraper
- Stars
- 6,673
- Forks
- 1,045
- Open issues
- 65
- Last commit
- 27 days ago
What is it?
Google Maps Scraper extracts business data from Google Maps search results and place pages. For each place it collects fields such as name, address, phone number, website, rating, review count, coordinates and reviews, and can optionally visit business websites to find email addresses. Output can be written to CSV or JSON, PostgreSQL, S3, or a custom writer plugin.
It can be run as a command-line tool, through a local Web UI, or via a REST API for creating and downloading scraping jobs. Input can be plain search queries or direct Google Maps URLs, and a grid mode splits a bounding box into cells to cover areas that a single search would not fully return. Proxy support includes SOCKS5, HTTP and HTTPS, and the project offers a PostgreSQL job queue for distributing work across several machines, with a Kubernetes deployment example.
The project is built on Playwright-driven browser automation and is distributed as a Docker image or binary. Concurrency, pages per browser and browser pool size are configurable to balance throughput against CPU and memory use.
Key features
- 01Extracts 30+ place fields including name, address, phone, website, rating and coordinates.
- 02Optionally crawls business websites to collect email addresses.
- 03Outputs to CSV, JSON, PostgreSQL, S3 or custom writer plugins.
- 04Provides CLI, Web UI and REST API for running and downloading jobs.
- 05Supports SOCKS5 and HTTP proxies, grid-based area searches and resumable file runs.
Use cases
- Building sales lead lists of local businesses by category and city.
- Collecting business contact details and websites for outreach or enrichment.
- Researching ratings and reviews for local businesses in a region.
- Running large distributed scrapes across several machines with a PostgreSQL queue.
Quick start
- 1
Create an output folder
mkdir -p gmaps-output - 2
Run the scraper with Docker using your queries file
docker run -v gmaps-playwright-cache:/opt -v "$PWD/example-queries.txt:/queries.txt:ro" -v "$PWD/gmaps-output:/out" gosom/google-maps-scraper -input /queries.txt -results /out/results.csv -depth 1 -exit-on-inactivity 3m
Things to know
- Scraping Google Maps may conflict with Google's terms of service.
- Large crawls may need proxies to avoid blocks.
Topics
FAQ
- What is google-maps-scraper?
- Open-source Go tool that scrapes Google Maps listings for business names, contact details, ratings, reviews and emails via CLI, Web UI or REST API. Google Maps Scraper extracts business data from Google Maps search results and place pages. For each place it collects fields such as name, address, phone number, website, rating, review count, coordinates and reviews, and can optionally visit business websites to find email addresses. Output can be written to CSV or JSON, PostgreSQL, S3, or a custom writer plugin.
- Is google-maps-scraper free to use? What license does it have?
- google-maps-scraper is open source under the MIT license. Check the license terms before using it in commercial products.
- Is google-maps-scraper still maintained?
- Actively maintained. The last commit to google-maps-scraper was on Sep 24, 2026.
- What can I use google-maps-scraper for?
- Building sales lead lists of local businesses by category and city. Collecting business contact details and websites for outreach or enrichment. Researching ratings and reviews for local businesses in a region. Running large distributed scrapes across several machines with a PostgreSQL queue.
- How do I install google-maps-scraper?
- Create an output folder: mkdir -p gmaps-output Run the scraper with Docker using your queries file: docker run -v gmaps-playwright-cache:/opt -v "$PWD/example-queries.txt:/queries.txt:ro" -v "$PWD/gmaps-output:/out" gosom/google-maps-scraper -input /queries.txt -results /out/results.csv -depth 1 -exit-on-inactivity 3m
- Where can I get google-maps-scraper?
- The source code and installation instructions are on GitHub: https://github.com/gosom/google-maps-scraper
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
TypeScript, Python and Go SDK for browser agents that drives Chrome with natural-language act, observe and extract calls alongside Playwright-style APIs.
An LLM-powered web scraper, built on Streamlit, that extracts data from pages using OpenAI, Gemini, Ollama or LiteLLM models.
Open-source job search engine that aggregates IT job postings directly from company ATS career pages, self-hostable under MIT.
An API for AI agents to search, scrape, and interact with web pages, returning clean markdown, JSON, and screenshots.
Open core, self-hosted collaboration platform offering chat, workflow automation, voice calling, screen sharing and AI integration.