https://github.com/dacrab/maps-lead-scraper
A straightforward tool to scrape business leads from Google Maps and extract contact details from their websites.
https://github.com/dacrab/maps-lead-scraper
automation google-maps-scraper lead-generation osint playwright python
Last synced: 3 months ago
JSON representation
A straightforward tool to scrape business leads from Google Maps and extract contact details from their websites.
- Host: GitHub
- URL: https://github.com/dacrab/maps-lead-scraper
- Owner: dacrab
- Created: 2025-11-17T17:09:12.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2026-03-02T21:05:36.000Z (3 months ago)
- Last Synced: 2026-03-02T23:28:51.539Z (3 months ago)
- Topics: automation, google-maps-scraper, lead-generation, osint, playwright, python
- Language: HTML
- Homepage: https://email-scraper-9svf.onrender.com
- Size: 134 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Maps Lead Scraper
Scrape business leads from Google Maps and extract contact details from their websites.



## Features
- Auto-scrolls Google Maps to collect maximum listings per query
- Detects direct-hit searches (single result pages) automatically
- Bypasses cookie consent screens
- Enriches every listing by visiting its website to extract emails and phones
- Real-time dashboard with live log panel, filtering, and CSV export
- Collapsible sidebar, resizable log panel, full mobile support
## Stack
- **FastAPI + uvicorn** — async web server, scraper runs on the same event loop
- **Playwright** — headless Chromium browser automation
- **Tailwind CSS + Alpine.js** — frontend, no build step
## Installation
```bash
git clone https://github.com/dacrab/maps-lead-scraper.git
cd maps-lead-scraper
pip install -r requirements.txt
playwright install chromium
```
## Usage
```bash
python3 main.py
```
Open `http://localhost:8000`, go to **Settings**, configure your search terms and locations, then hit **Start**.
## Configuration
| Setting | Description |
| :--- | :--- |
| **Search Terms** | Comma-separated business types, e.g. `Plumbers, Dentists` |
| **Locations** | Comma-separated cities or areas, e.g. `New York, London` |
| **Max Results** | Per-query limit. `0` = unlimited |
| **Headless** | Run browser in background (recommended) or visible for debugging |
| **Concurrency** | Number of parallel tabs for website enrichment |
## Project Structure
```
main.py # Scraper + FastAPI server
templates/
└── index.html # Dashboard + Settings SPA
static/ # Logo, favicon
contacts.csv # Auto-saved leads
config.json # Auto-saved settings
```
## License
MIT