No API · Zero duplicates · Run it from any AI

Turn Google Maps into a lead list.

Name a business type and a city. leadgen finds the listings and delivers phone, website, geo-coordinates, rating, reviews & a lead score — straight into Notion, Google Sheets, or CSV. Run it from your terminal, or just ask an AI to do it.

Install in 30 seconds → Let an AI run it

Works on Windows · macOS · Linux · Python & Go editions · drives your own Chrome — no API keys, no monthly SaaS fee.

NOTION· GOOGLE SHEETS· CSV / EXCEL· CLAUDE CODE· CLAUDE.AI· CHATGPT
Why leadgen

Apollo for the businesses Apollo forgot.

Apollo is built for big corporate B2B and barely knows your local café, dentist, or gym — and it hides phones & emails behind expensive plans. leadgen pulls the things that actually matter for a neighbourhood business, and that Apollo simply doesn't have.

📍

Local-superior data

Geo-coordinates, Google Place ID, rating, reviews + review text, opening hours, photos and a computed Lead Score. Apollo has none of this for an SMB.

🕳️

The no-website filter

Surface businesses with no site at all — your prime web-design & marketing prospects. Apollo can't filter for this at all.

🎯

Straight to your DB

Notion · Google Sheets · CSV / Excel. A live progress bar with ETA — no CSV-first detour, no dashboard to log into.

♻️

Zero duplicates

Dedupes against the destination. Re-run the same search any day — only genuinely new businesses get added.

🤖

Run it from any AI

Ships as an MCP server. Ask Claude Code, claude.ai, or ChatGPT "pull 15 gyms in Mumbai" and it just happens.

🔑

No API, no lock-in

Drives your own Chrome — no Google API keys, no rate-limited platform, no recurring SaaS bill. It's yours.

leadgen vs Apollo

What you get for a local business.

Same Apollo-grade company export — plus the local fields Apollo never collects.

FieldleadgenApollo
Phone number (no paywall)IncludedPaid plan
"Has no website" filterYesNot possible
Map coordinates + Place IDYes
Rating, reviews & review textYes
Opening hours & photosYes
Computed Lead ScoreYesScore (B2B only)
Writes to Notion / Sheets directlyYesCSV export
Monthly platform fee$0From ~$49/mo
The output

41 columns per business. You pick what to keep.

One de-duplicated row per business, matching Apollo's company export and adding the local-only fields (highlighted) that Apollo doesn't have.

Company

NameCategoryNiche DescriptionFounded Year

Web & Contact

Website URLDomain Has Website ✓/✗PhoneEmail

Social

FacebookInstagramLinkedInTwitter/X

Location

Street AddressAreaCity StatePostal CodeCountry LatitudeLongitude Plus CodeMaps URL

Reputation — Apollo has none of these

RatingReviews Price LevelHours Top Reviews (text)Photos

Meta & Workflow

Place IDLead Score StatusTagsKeywords RegionSource SearchDate Added

Run leadgen fields to print the full schema. Firmographics (employees, revenue, technologies) are enrichment-only columns — present but blank unless you wire an enrichment add-on, exactly like Apollo.

Three ways to run it

Your terminal, your AI, or a server for everyone.

Same CLI, same 41-field output, whichever way you drive it.

01 — TERMINAL

Just run the command

One line. Watch the live progress bar fill as leads stream into your DB.

leadgen run --niche "dentist" \
  --location "Pune" --limit 40 \
  --website without --to notion

# health + schema
leadgen doctor
leadgen fields
02 — ASK AN AI

Talk to it in plain English

Ships an MCP server, so Claude Code, claude.ai & ChatGPT call it as a native tool.

# Claude Code (bundled .mcp.json)
"pull 15 gyms in Mumbai
 without a website into a CSV"

# claude.ai → Settings → Connectors
add  https://your-host/mcp
03 — HOST IT

One URL for everyone

Multi-tenant by default. Thousands of users, each isolated, bring their own Notion.

cloudflared tunnel create leadgen
cloudflared tunnel route dns \
  leadgen leadgen.you.com

python -m leadgen_maps.mcp_server --http
# → https://leadgen.you.com/mcp

Exact steps for every path live in CONNECT-CLAUDE.md (MCP + auth) and HOSTING-VPS.md. Each user's Notion token stays on the server, per-user — never an env key, never pasted in chat.

Install

Install. Connect. Run.

One command to install, one click to connect — no keys, no .env, no config. The only thing you need is Google Chrome.

StepCommand
1 · Installpipx install leadgen-mapsany OS · public on PyPI
2 · Browser enginepython -m playwright install chromium
3 · Connect (one click)leadgen connect notion  ·  leadgen connect googleno keys, ever
4 · Runleadgen run --niche "cafe" --location "Kolkata" --limit 20 --to notion
Docker (alt)docker pull ghcr.io/subhadeeproy3902/leadgen+ MCP-ready

Destinations: notion · gsheets · csv · xlsx · pdf (combine with commas). Run leadgen doctor to verify internet, connectors & Chrome. Connect details: CONNECT.md · bought it? → BUYER-GUIDE.md.

Proof, not promises

Real runs. Real leads. Captured output.

Cafés, dentists, hotels, restaurants, interior designers & real-estate agents in Kolkata — pulled, de-duplicated and saved. The CSVs are in the repo.

41fields per business
0API keys required
3destinations (Notion/Sheets/CSV)
2editions (Python & Go)

See TESTS.md for real runs with captured output & screenshots, and data/master_leads.csv for a live sample (with WhatsApp outreach pitches generated per lead).

FAQ

Questions, answered.

Do I need a Google API key or any paid API?

No. leadgen drives a real Google Chrome browser the way a person would — there are no API keys, no quotas, and no per-request billing. The only requirement is that Chrome is installed.

How is it different from Apollo or other scrapers?

Apollo targets corporate B2B and hides contact details behind paid plans. leadgen is built for local SMBs: it adds geo-coordinates, Place ID, ratings, review text, hours, photos and a Lead Score that Apollo doesn't collect — plus a "no website" filter to find your best web/marketing prospects.

Where do the leads go?

Straight into Notion, Google Sheets, or a CSV/Excel file — with a live progress bar and ETA. It dedupes against the destination, so re-running a search only adds genuinely new businesses.

Can an AI run it for me?

Yes. leadgen ships an MCP server. Claude Code picks it up automatically from the bundled .mcp.json; claude.ai and ChatGPT can use it as a connector/tool. Just ask in plain English — "pull 15 gyms in Mumbai without a website."

Python or Go — which edition?

Same CLI and same 41-field output. Choose Python for Notion + Google Sheets + scripting; choose the Go single binary when you want zero dependencies and a one-line terminal install.

Is it multi-tenant if I host it?

Yes. One server and one URL can serve thousands of users, each isolated. The default destination is a CSV returned inline to that user; each user can opt into their own Notion via a one-time connect page — never your account, never an env key.

Get started

Your next 30 leads are one command away.

Install it, point it at a city, and watch the list fill.