Scrape, deduplicate, enrich, and export piano teacher leads across the NYC Metro area — built for piano sales reps.
No spreadsheets. No manual research. Just leads.
Pull leads from Google Maps Places API using targeted search terms per territory.
Detects duplicate leads by name, phone, and domain. Flags conflicts for review.
WHOIS domain lookups and a confidence score (0–10) to prioritize outreach.
Filter and export to CSV by territory, status, rating, source, or rep assignment.
Mark leads as new, contacted, taken, or not interested. Assign to reps.
Crawl teacher websites for contact info and piano-related keywords.
A clean pipeline — every step is transparent and re-runnable.
Run the Google Maps scraper on a territory. Pulls up to 60 results per search term across all ZIP codes.
Raw results are cleaned into structured Lead objects, then compared against existing leads to skip duplicates.
WHOIS data is pulled for each website. Confidence scores are calculated based on data completeness.
Filter by territory, status, score, or rep. Export to CSV and start calling.
Each territory maps to a curated list of ZIP codes. Add new territories in config/territories.py.
Requires Python 3.12+ and a Google Maps API key.