lacspace-leads

Find local-business leads from Google Maps — free, no API keys.

● Live · v1.5.0npmSource
terminal
npx lacspace-leads restaurants --city Kathmandu --area Baneshwor -f xlsx
What it does

Everything, 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.

Runs locally, not as a hosted button

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.

Features

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.

How to use

Copy, paste, done

Real commands and snippets — from a one-liner to the typed library.

Sweep a whole city, best-reviewed first
terminal
npx lacspace-leads cafes --city Kathmandu \
  --area "Thamel,Baneshwor,Patan" \
  --country NP --sort reviews --desc -f xlsx

Runs three searches, merges + de-duplicates, normalises phones to +977…, sorts by reviews.

Outreach list, deliverable emails only
terminal
npx lacspace-leads "dental clinic" --city Pokhara \
  --preset outreach --verify-emails --has-valid-email -f csv

Keeps only leads whose email passed an MX check.

Everything within 1.5 km of a point
terminal
npx lacspace-leads salons \
  --near "27.7172,85.3240" --radius 1.5km -f csv

Adds a distanceKm column, sorted nearest-first.

Run a saved campaign
terminal
# campaign.json → { "searches":[…], "country":"NP",
#   "verifyEmails":true, "out":"master.xlsx", "append":true }
npx lacspace-leads --config campaign.json

Repeatable multi-search runs — pair with cron or CI for weekly sweeps.

Use it as a library
typescript
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");
Good for

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

Start now

Run lacspace-leads today

Free, open-source, no API keys. It's a CLI and a typed library.

terminal
npx lacspace-leads restaurants --city Kathmandu --area Baneshwor -f xlsx