Apollo-class local lead generation from Google Maps — no API. Streams leads to Notion, Google Sheets, or CSV with live progress and zero duplicates.
Project description
leadgen 🗺️ → 📇
Apollo-class local lead generation from Google Maps. No API. Streams leads straight into Notion or CSV — with live progress and zero duplicates.
Ships in two interchangeable editions with the same CLI and the same 41-field Apollo-grade output:
| Edition | Best for | Install |
|---|---|---|
🐍 Python (src/leadgen) |
you have Python; + Google Sheets & scripting | pipx install leadgen-maps |
🐹 Go (go/) |
no Python — one self-contained binary | download the binary, run it |
Pick whichever fits the machine — same leadgen commands, same keyless connect.
Python adds the Google Sheets connector; the Go binary needs nothing installed but Chrome.
Better than Apollo for local SMBs: phone, website, socials, geo-coordinates, Google Place ID, rating, reviews, hours, photos, Lead Score — and a no-website filter to find your prime prospects. Apollo has none of that for a neighbourhood business.
🔌 Connect Notion in one click — no keys, ever
You never paste keys into .env. The first time you send leads to Notion,
your browser opens, you authorize once, and the token is cached only on your
computer (~/.leadgen/credentials.json). Every run after that is silent.
leadgen connect notion # opens the browser, authorize once → done
# or just run — it auto-connects the first time:
leadgen run --niche "cafe" --location "Kolkata" --limit 30 --to notion
Google Sheets is the same — leadgen connect google opens the browser, you click
Allow, and we auto-create a Sheet in your Drive:
leadgen connect google
leadgen run --niche "cafe" --location "Kolkata" --limit 30 --to gsheets
Switch accounts or log out any time:
leadgen disconnect notion | google | all # removes the local token
See CONNECT.md for the one-time OAuth setup (Notion + Google) and uninstall steps.
🐍 Python edition
pipx install leadgen-maps # public on PyPI — repo stays private
python -m playwright install chromium
leadgen connect notion # one-time browser authorize (no .env)
leadgen run --niche "cafe" --location "Kolkata" --limit 30 --to notion
Connectors: Notion, Google Sheets, CSV, XLSX, PDF. Hosting + email on
completion in deploy/.
🐹 Go edition (single binary — no Python)
Download the binary for your OS (from the release / your product download), then:
# macOS / Linux
chmod +x leadgen && sudo mv leadgen /usr/local/bin/
# Windows: just run leadgen.exe (optionally add it to PATH)
leadgen connect notion # one-time browser authorize (no .env)
leadgen run --niche "cafe" --location "Kolkata" --limit 30 --to notion
Connectors: Notion, Google Sheets, CSV, XLSX, PDF. Drives your installed Chrome.
(Developers with Go: go install github.com/subhadeeproy3902/lead-gen/go/cmd/leadgen@latest.)
Same CLI, both editions
leadgen run --niche "<type>" --location "<city>" --limit <N> --to notion --website without
leadgen doctor # internet, connectors, browser
leadgen fields # the 41-field Apollo-grade schema
[██████████░░░░░░] 21/30 leads (70%) │ #54 of 110 scanned │ ETA 1m20s │ Blue Tokai
Let AI run it (Claude Code AND claude.ai)
Ships an MCP server so any MCP-capable AI can call leadgen as a tool:
- Claude Code — the included
.mcp.jsonexposes it automatically; just ask "pull 15 gyms in Mumbai". - claude.ai (website) — run
python -m leadgen_maps.mcp_server --http, expose it with a free tunnel, add it as a custom connector → the website executes leadgen on your machine.
Exact steps: CONNECT-CLAUDE.md. The plain CLI (--json
events) and the agent skill (skills/leadgen/SKILL.md)
also work.
Docs
- CONNECT-CLAUDE.md — let Claude Code + claude.ai run leadgen (MCP connector).
- deploy/HOSTING-VPS.md — host a public, multi-tenant MCP server on a free VPS (e.g.
leadgen.auradevs.co/mcp). - BUYER-GUIDE.md — bought it? Dead-simple per-OS setup (Windows/Mac/Linux).
- DOCUMENTATION.md — full guide (install, connectors, fields, hosting, edge cases).
- DISTRIBUTION.md — install channels (release binary,
go install, Homebrew, Scoop, winget). - ABOUT.md — what it is and why · prompt.md — paste into ChatGPT to drive it.
- TESTS.md — real runs with captured output + screenshots.
Built by Auradevs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file leadgen_maps-1.1.1.tar.gz.
File metadata
- Download URL: leadgen_maps-1.1.1.tar.gz
- Upload date:
- Size: 839.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bc70e2220fab447f3196539971c6798cece31da3193bfb36d878727a9d205e0
|
|
| MD5 |
1a53dad075e73da2f8982cac2a0a6fca
|
|
| BLAKE2b-256 |
2e810f8b8c4156a0ddaecfdfed9a8c012938811e3882b7f9172e101aeb63b700
|
File details
Details for the file leadgen_maps-1.1.1-py3-none-any.whl.
File metadata
- Download URL: leadgen_maps-1.1.1-py3-none-any.whl
- Upload date:
- Size: 845.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21a6d17f6bf5aaf61dd41600737107cae023a312e4b4827409633444610ef700
|
|
| MD5 |
2a9b9b7962befae80b7d32236b43b8ca
|
|
| BLAKE2b-256 |
3d25df314e26d01c65232274c729faa3baa9e56bd946663ee740a51f1fee6e76
|