All work
Case Study · 06 Solo build

Maps Lead Extractor.

A SerpAPI-driven CLI that sweeps any geography + keyword combination and writes enriched CSVs a sales team can actually use.

01 · The problem

Local lead research is manual, repetitive, and slow.

Every sales team pulling local business data from Google Maps hits the same wall — a day per geography, a week per region, a month per country. The data is public; the friction is time.

The extractor automates the friction layer so the operator only has to think about the strategy: which geographies, which keywords, what depth.

02 · The approach

A small CLI. A SerpAPI call. A clean CSV.

The tool is a small Python CLI. The operator supplies a geography and keyword; the tool paginates through SerpAPI results and writes an enriched CSV with everything the sales team needs — business name, address, phone, website, category, rating, review count.

Configurable depth (10 to 500+ results per query) and environment-based credentials mean it drops cleanly into any sales workflow without touching a UI.

03 · Architecture

How it fits together.

01 / Input

CLI args

Geography + keyword + depth. Nothing more to configure. Runs from cron or manually.

02 / Fetch

SerpAPI

Paginated Google Maps queries. Clean retries. Backoff-safe. .env-based credentials.

03 / Enrich

Per-record fields

Business name, address, phone, website, category, rating, review count. Everything usable out of the box.

04 / Output

CSV

UTF-8 with header row. Deduped. Sorted by category then rating. Ready to import anywhere.

04 · The work beneath the surface

Non-obvious decisions.

  • Rate-aware pagination — the tool knows SerpAPI quotas and never blows the budget on a single run.
  • Resume logic — if interrupted, it resumes from the last successful page rather than re-fetching the whole set.
  • Deterministic output — same geography + keyword = same CSV, so downstream processes can diff reliably between runs.
05 · Stack

What it's built with.

Runtime

Python 3.11 · standard library + requests

Data

SerpAPI Google Maps endpoint · paginated fetch

Output

UTF-8 CSV · deduped · sorted · ready-for-import

Config

.env-based credentials · CLI args for geo + keyword + depth

06 · Takeaway

Why this one matters.

A sales team that used to spend a week on local lead research runs this tool in ten minutes. The product is the embodiment of my philosophy: find the repeatable bottleneck in your client's workflow, then write a small, sharp tool that removes it.

Want something like this built for your company?

I'm currently available for select engagements.