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
Buyer setup (dead simple, both editions): lemonsqueezy/SETUP.md. How the keyless connect stays secure (auth broker): broker/README.md.
🐍 Python edition — use pipx (not pip)
Why not
pip install? On modern Linux/macOS it's blocked (externally-managed-environment), and on Windows it installsleadgento a folder that's not on your PATH (soleadgen"is not recognized"). pipx fixes both — it's the right tool for installing CLI apps.
1. Install pipx once (per OS):
# Windows (then CLOSE and reopen the terminal)
py -m pip install --user pipx
py -m pipx ensurepath
# macOS
brew install pipx && pipx ensurepath
# Linux (Debian/Ubuntu/Mint)
sudo apt install -y pipx && pipx ensurepath
2. Install leadgen + its browser:
pipx install leadgen-maps
leadgen install-browser # one-time Chromium download (no separate playwright step)
leadgen connect notion # browser opens → authorize once → done
leadgen run --niche "cafe" --location "Kolkata" --limit 30 --to notion
•
leadgenstill not found? Reopen the terminal, or run it aspython -m leadgen_maps …. • Got an old version (leadgen versionshows 1.0.0)?pipx upgrade leadgen-maps. • Already usedpip? Undo withpip uninstall leadgen-maps, then use pipx.
Connectors: Notion, Google Sheets, CSV, XLSX, PDF.
🐹 Go edition — single binary, zero Python, zero pip
The no-hassle path. In your download, open bin/ and pick your OS:
# macOS / Linux
chmod +x leadgen && sudo mv leadgen /usr/local/bin/
# Windows: run leadgen.exe (optionally move it to a folder on your PATH)
leadgen connect notion # one-time browser authorize (no .env)
leadgen run --niche "cafe" --location "Kolkata" --limit 30 --to notion
Needs only Google Chrome — nothing else to install. Same leadgen commands as
the Python edition. (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 async MCP server so any MCP-capable AI can call leadgen as a tool. A
scrape takes minutes, so leadgen_run starts a background job and returns an
ETA instantly; leadgen_status fetches the leads when ready. One job per user.
- Claude Code / Cursor (local) — add
lemonsqueezy/mcp/leadgen.mcp.json; just ask "pull 15 gyms in Mumbai". - claude.ai (website) — host it on a VPS and add the HTTPS URL +
/mcpas a custom connector.
Docs
- lemonsqueezy/SETUP.md — buyer setup, both editions, dead simple.
- lemonsqueezy/mcp/MCP-SETUP.md — use it from an AI assistant.
- deploy/MCP-VPS-SETUP.md — host the async MCP server on a VPS, 24/7.
- broker/README.md — the auth broker that keeps the OAuth secret off the package.
- skills/leadgen/SKILL.md — the agent operating manual.
- TESTS.md — real runs with captured output.
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.4.tar.gz.
File metadata
- Download URL: leadgen_maps-1.1.4.tar.gz
- Upload date:
- Size: 843.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8298fbdf31f01f746e9dc36c7ba42642cac7442091eda31255d8aeb6651baaa1
|
|
| MD5 |
a40ddba705e34671a820f82a76bab5a2
|
|
| BLAKE2b-256 |
26c886eba0a84f5a102e0a02024e525f67375508f850aa22045854b570d2a29d
|
File details
Details for the file leadgen_maps-1.1.4-py3-none-any.whl.
File metadata
- Download URL: leadgen_maps-1.1.4-py3-none-any.whl
- Upload date:
- Size: 848.2 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 |
b28b6ef2d547332c6934c43bca9e154029eb4aa454849322a8f38a569218f76b
|
|
| MD5 |
6b40a894833f7d819f1ef4f06815781c
|
|
| BLAKE2b-256 |
f0462597f33af1704a6cf5499b32652388f01f2a5d9d2151d93347bde8b56c17
|