lacspace-leads
Find local-business leads from Google Maps — free, no API keys.
npx lacspace-leads restaurants --city Kathmandu --area Baneshwor -f xlsxEverything, in one command
lacspace-leads is a complete, keyless lead-generation tool. It sweeps whole cities neighbourhood-by-neighbourhood, verifies emails by MX lookup, normalises phones to E.164, and de-duplicates as it accumulates a master list across runs — everything a real prospecting workflow needs, from the terminal or as a typed library.
lacspace-leads drives a real browser over Google Maps, so it runs on your machine — not as a hosted button here (that would break Google's Terms and can't run in a serverless function). It's one command to try locally, no setup.
What's inside
City sweep
Comma-separate areas/types and it runs each search, then merges and de-duplicates into one list.
Verified emails
Visit each website to find an email, then MX-verify the domain — keep only deliverable contacts.
8 social networks
Facebook, Instagram, WhatsApp, LinkedIn, X, YouTube, TikTok and Telegram from the business site.
E.164 phones
Normalise every phone to +CC… with one flag — CRM-ready out of the box.
Radius search
Centre on a coordinate and keep only what's within range, sorted nearest-first.
Master list
--append merges each run into your file and de-duplicates, so daily runs build one clean database.
Saved campaigns
Describe repeatable searches + shared options in one --config JSON file; run them on a schedule.
Deep controls
Presets, filters (incl. has-contact / name-exclude), sort, proxy, retries, jitter, concurrency and callbacks.
Any format
JSON, NDJSON, CSV or Excel — plus a built-in converter between all four, both ways.
Copy, paste, done
Real commands and snippets — from a one-liner to the typed library.
npx lacspace-leads cafes --city Kathmandu \
--area "Thamel,Baneshwor,Patan" \
--country NP --sort reviews --desc -f xlsxRuns three searches, merges + de-duplicates, normalises phones to +977…, sorts by reviews.
npx lacspace-leads "dental clinic" --city Pokhara \
--preset outreach --verify-emails --has-valid-email -f csvKeeps only leads whose email passed an MX check.
npx lacspace-leads salons \
--near "27.7172,85.3240" --radius 1.5km -f csvAdds a distanceKm column, sorted nearest-first.
# campaign.json → { "searches":[…], "country":"NP",
# "verifyEmails":true, "out":"master.xlsx", "append":true }
npx lacspace-leads --config campaign.jsonRepeatable multi-search runs — pair with cron or CI for weekly sweeps.
import { searchLeads, serialize } from "lacspace-leads";
const leads = await searchLeads({
city: "Kathmandu", type: "restaurants", limit: 40,
enrich: true, country: "NP", headless: true,
});
const { data } = serialize(leads, "csv");What people build with it
✓ Build a prospect list for cold outreach or field sales
✓ Map every business of a type across a city
✓ Enrich an existing list with phones, emails and socials
✓ Keep a living, de-duplicated master database updated daily
Run lacspace-leads today
Free, open-source, no API keys. It's a CLI and a typed library.
npx lacspace-leads restaurants --city Kathmandu --area Baneshwor -f xlsx