google-maps-scraper-kit
Local Google Maps lead extraction, operated by Claude. Clean CSVs with phones, emails, websites and socials. No API keys, runs on your machine.
- 评测生成时间(北京时间)
- 本报告引擎
- v3.16.0
- 当前引擎
- v3.16.0
规则版本一致,但报告只反映生成时的证据,不代表项目代码和安全状态始终不变。
进入后确认来源与额度,提交才会创建任务。
综合采用结论
证据充分,整体质量与安全表现优秀
- 基础评测完成+25/25确定性评分与静态安全扫描已完成
- README 有效证据+10/254,068 个去重后的有效字符
- 独立证据来源+16/204 类非重复证据,重复文件不叠加
- 仓库元数据+10/10已取得仓库状态与采用数据
- 活跃记录+5/5已取得最近提交时间
- AI 复核+15/15已完成结构化 AI 证据复核
Google Maps 抓取作业时序
SKILL.md 明确 Claude 与本地 REST API 之间的创建、轮询、下载三段请求响应关系
左右滑动查看完整图示
- • SKILL.md 第 1 步:POST /api/v1/jobs 返回 {"id":"<uuid>"}
- • SKILL.md 第 2 步:GET /api/v1/jobs/{id} 轮询 "Status" 至 ok 或 failed
- • SKILL.md 第 3 步:GET /api/v1/jobs/{id}/download 输出 results.csv
- 通过: Agent Skills 格式校验 1/1 个通过
- 通过: 1 个有效 Skill 含可核实的指令步骤或示例
- SKILL.md 第 1 步:POST /api/v1/jobs 必填 keywords、lat/lon(字符串)、max_time(秒),缺失返回 422
- SKILL.md 第 2 步:响应字段为 "Status",取值 working→ok/failed,并给出后台轮询脚本
- SKILL.md 输出规则:默认仅保留 title、phone、emails、website、category、address、review_rating、review_count,其余 26 列丢弃
- README Responsible use:无代理大量使用会导致 IP 临时限流,抓取 Maps 违反 Google ToS,需遵守 GDPR/CCPA/CAN-SPAM
- README 项目布局列出 docker-compose.yml、scripts/scrape.py、.claude/commands 与 SETUP.md,并声明 MIT 许可
- 问题与用途描述
- 有效 README
- 安装或接入步骤
- 可执行示例
- 通过: Agent Skills 格式校验 1/1 个通过
- 缺少限制、权限或边界
- README 未直接列出限制/权限边界,相关约束分散在 SKILL.md 的 Responsible use 与 Safety 章节
- 社交信息覆盖率仅约 40–70%,无网站商家无法获取,属部分能力
- 抓取 Google Maps 违反其 ToS,且电话/邮箱属个人数据,需用户自行承担合规责任
- 轮询依赖后台 Bash 规避前台 sleep 限制,属 Claude 环境特定约束,换环境需调整
需要本地生成商家线索清单的销售/营销人员、希望用 Claude Code 斜杠命令批量抓取并按城市筛选的场景、对数据不出本机、无 API key 有要求的用户
需要抓取 Instagram/TikTok/YouTube 等社媒数据的场景(SKILL.md 明确 NOT for)、期望 100% 社交信息覆盖或可直接转售原始 Google 数据的用途
也有自己的公开项目?先看完证据,再用当前规则生成独立报告。
评测我的项目 →静态扫描不是安全保证,生产接入前仍应人工复核权限和数据边界。
- 01补充限制、权限或边界
方法、证据与局限展开收起
GitHub Repository API
4 个文件 · 18,062 字符
v3.16.0 · AI 复核已启用(deepseek-flash)
- 静态评测不会安装或执行项目代码
- 安全扫描基于高信号文件与已知模式,不能替代人工审计
- 流行度只反映采用程度,不代表安全或工程质量
30 天热度趋势
README
Google Maps Scraper Kit
Local Google Maps lead extraction, operated by Claude. Name a business type and a city. Get back a clean, outreach-ready CSV: name, phone, email, website, category, address, rating, and review count. Optional Instagram, Facebook, and LinkedIn enrichment.
Everything runs on your machine. No SaaS, no credits, no API keys.
Why it exists
Ask a chat AI to "scrape Google Maps" and it hits a consent wall and JavaScript-rendered pages. Result: close to zero structured rows. This kit runs a real headless scraping engine locally and gives Claude a precise operating manual for it. Result: dozens to hundreds of verified listings per query.
Capabilities
| Lead-ready output | The engine captures ~34 raw fields. The kit keeps the 8 you contact and qualify with, and writes a CSV. --full keeps everything. |
| Email extraction | On by default. Pulls contact emails from each business website. |
| Social enrichment | --socials finds Instagram, Facebook, and LinkedIn profiles. Runs in code (HTTP + regex), zero AI tokens. |
| Auto-geocoding | Type a city name. Coordinates are resolved for you. |
| Batch jobs | Many keywords, one job, one CSV. |
| Claude-native | A skill plus four slash commands. Claude handles create, poll, download, clean, and present. |
| Safe defaults | API bound to 127.0.0.1, secrets git-ignored, rate-limit and data-law guardrails built into the skill. |
Quick start
Requires Docker Desktop.
docker compose up -d
./scripts/scrape.sh "coffee shops in Austin TX" 30.2672 -97.7431 5
Or open the folder in Claude Code and say:
Scrape gyms in Miami and give me phones and websites.
Detailed setup: SETUP.md. Skill reference: SKILL.md.
Using it in Claude Code
| Command | Action |
|---|---|
/scrape <business> in <city, ST> [depth] | Run one scrape, return a clean table and CSV |
/scrape-batch <keywords-file> [--city "City, ST"] | Run many queries as one job |
/scrape-setup | Start the engine and run a health check |
/scrape-jobs [list | delete <id>] | List or delete jobs |
Plain language works too. The skill triggers on requests like "build me a lead list of dentists in Denver, CO" or "pull Google Maps listings for plumbers in Phoenix". It does not scrape social platforms directly.
Without Claude
scripts/scrape.py is a standalone, dependency-free Python CLI: single queries, batches, geocoding,
socials, CSV output. scripts/scrape.sh covers the single-query case in bash.
Responsible use
This drives a real scraper against Google Maps. Light use is fine. Heavy use without proxies can get your IP temporarily rate-limited (minutes to hours). Your Google account is not affected.
- Run one job at a time. Start at
depth 5and raise only when needed. - Watch for block signals:
failedjobs, empty results, or far fewer rows than an identical earlier run. - Add proxies for large or repeated runs. The engine rotates them automatically:
Supported:"proxies": ["socks5://user:pass@host:port", "http://host2:port2"]socks5,socks5h,http,https. - Scraping Maps is against Google's Terms of Service. Treat output as leads to verify, not a dataset to resell. Phones and emails are personal data: follow GDPR, CCPA, and CAN-SPAM.
For large requests, Claude flags the risk and suggests proxies, then proceeds. It refuses only clearly abusive use.
Project layout
google-maps-scraper-kit/
├── docker-compose.yml local engine on 127.0.0.1:8080
├── .env.example config template
├── scripts/
│ ├── scrape.py Python CLI: single, batch, geocoding, socials, CSV
│ └── scrape.sh bash CLI: single query
├── examples/ sample job body and batch keyword list
├── .claude/
│ ├── settings.json pre-approved local commands for hands-free runs
│ ├── commands/ /scrape, /scrape-batch, /scrape-setup, /scrape-jobs
│ └── skills/google-maps-scraper/SKILL.md
├── CLAUDE.md project instructions for Claude Code
└── SETUP.md full setup guide
License
Built by Mahan. MIT licensed. Third-party components: CREDITS.md.