Google Maps Scraper Kit is a local tool that collects business listings from Google Maps and saves selected contact and business details as CSV files. It is for lead generation and can be operated through Claude Code, with optional website email and social-profile collection.
Borrowing it
Nothing to install: this file belongs to Mahanaicoach/google-maps-scraper-kit. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Mahanaicoach/google-maps-scraper-kit/master/.claude/skills/google-maps-scraper/SKILL.mdgit clone --depth 1 https://github.com/Mahanaicoach/google-maps-scraper-kitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mahanaicoach/google-maps-scraper-kit/google-maps-scraper)<a href="https://agentmods.dev/skills/mahanaicoach/google-maps-scraper-kit/google-maps-scraper"><img src="https://agentmods.dev/badge/skills/mahanaicoach/google-maps-scraper-kit/google-maps-scraper/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mahanaicoach/google-maps-scraper-kit/google-maps-scraper"><img src="https://agentmods.dev/badge/skills/mahanaicoach/google-maps-scraper-kit/google-maps-scraper.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00167 | $0.03277 |
| Opus 5.5 | $0.00067 | $0.01311 |
| Sonnet 5.5 | $0.00033 | $0.00655 |
| Haiku 4.5 | $0.00017 | $0.00328 |
Grade A, and why
google-maps-scraper scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s http://localhost:8080/api/v1/jobs >/dev/null 2>&1 && echo UP || echo DOWN How it starts
The opening of the file, as written. The whole thing — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Google Maps Scraper
Turn a business type and a location into clean lead rows by driving the local engine's job API.
Mental model
The engine (gosom/google-maps-scraper) runs as a local Docker container with a REST API at
http://localhost:8080. It has no auth, so it stays bound to localhost. A scrape is an async job:
create it, poll until it is done, then download a CSV. One job can run many keywords. Each result has
up to 34 raw fields.
Step 0: Check the engine is running
curl -s http://localhost:8080/api/v1/jobs >/dev/null 2>&1 && echo UP || echo DOWN
If DOWN: run docker compose up -d from the kit root, wait ~10s, and retry. If Docker is not
installed, point the user to SETUP.md.
Step 1: Create a job (POST /api/v1/jobs)
Required fields. The API returns 422 without them:
keywords: array of search strings. Bake the location into each term:"plumbers in Denver CO".lat,lon: strings, the city's coordinates:"39.7392","-104.9903".max_time: integer seconds, the job's wall-clock limit, e.g.300. The API stores it as nanoseconds internally, but you always send seconds.
Recommended fields:
depth(default 10): how far to scroll, so roughly how many listings per keyword. Start at5.lang"en",zoom15(city level),radius10000(meters),fast_modefalse.emailtrue: on by default in the kit. Emails are the most valuable lead field. The engine visits each business website to find them, which is a little slower. Setfalseonly for a deliberately fast run without emails.
curl -s -X POST http://localhost:8080/api/v1/jobs \
-H "Content-Type: application/json" \
-d '{"name":"job","keywords":["coffee shops in Austin TX"],"lang":"en","zoom":15,
"lat":"30.2672","lon":"-97.7431","fast_mode":false,"radius":10000,
"depth":5,"email":true,"max_time":300}'
# → {"id":"<uuid>"} (HTTP 201; note: lowercase "id")
Handle two things on every scrape:
- Emails: on by default (
email:true). Turn them off only if the user wants a fast run.- Socials: ask first. Before creating the job, ask the user once whether they also want Instagram, Facebook and LinkedIn profiles (see "Social profiles" below). Never skip the question silently.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago Changed · +15 lines · +72 tokens per session 8dd11b301b0d
- 1mo ago First seen · 169 lines · 95 tokens per session scan A 691ab3764166
google-maps-scraper is a skill published in the GitHub repository Mahanaicoach/google-maps-scraper-kit (1,942 stars, last pushed 14d ago), licensed MIT. It adds 167 tokens to every session and 3,277 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
contact-details-scraper
Collect contact details from any webpage — email, phone, name, title, social profiles. Use when the user wants to extract visible contact information from a given URL.
dentist-clinic-lead-scraper
Collect dentist and dental clinic leads from Google Maps — business name, address, phone, website, rating. Use when the user wants to prospect dental practices for B2B outreach.
email-address-extractor
Extract email addresses from any webpage — email, associated name, context, source URL. Use when the user wants to collect all visible email addresses from a page or set of pages.
google-maps-chain-location-scraper
Collect chain location details from Google Maps — location name, address, phone, hours, rating. Use when the user wants to map all locations of a chain brand or franchise.
google-maps-phone-extractor
Extract phone numbers from Google Maps listings — business name, phone, address, category. Use when the user wants to collect phone contacts from local business listings.
phone-number-extractor
Extract phone numbers from any webpage — phone number, format, associated name or company, source URL. Use when the user wants to collect visible phone contacts from a page or site.