{"repo":"erikfiala/google-maps-scraper","free":true,"listed":false,"github":"https://github.com/erikfiala/google-maps-scraper","clone":"git clone https://github.com/erikfiala/google-maps-scraper.git","description":"Self-hosted Google Maps multi-category scraper with configurable fields and website email enrichment","language":"TypeScript","stars":78,"topics":[],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"Google Maps Scraper Self-hosted Playwright scraper for Google Maps — harvest by category, checkpoint to JSONL, enrich emails and phones, export a CSV of only the fields you enable. No Monid, Apify, Bright Data, or other paid scrape APIs. Quick Start · Output Fields · Categories · CLI · Contributing Quick start Default category is marketing-agency (enabled in config). Pilot scrape uses CA + NY unless you pass --states all or a custom list. Configuring output fields Edit config/scraper.json → fields . Each key is true / false . Field Default Notes ------- --------- -------- name true Business name email true From website enrich; export keeps rows with email only when this is true phone false From Maps place details; website enrich fills gaps when enabled address false From Maps website false From Maps category true Harvest category slug maps url false Google Maps URL place id false Durable place id city false Parsed when available state false Parsed when available country false Country code from harvest Behavior - CSV columns = only fields set to true , in the order above. - Email enrich ( npm run enrich ) runs when fields.email is true ; extracts emails from business websites. - Phone enrich runs in the same pass when fields.phone is true ; keeps the Maps phone when present, otherwise fills from tel: links / phone patterns on the site. Skips places that already have a phone. - Enrich is a no-op only when both fields.email and fields.phone are false . - Maps scrape still stores","default_branch":null,"files":null,"tree":[],"storefront":"/r/erikfiala","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/erikfiala/google-maps-scraper/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}