Atlas / Skills / gosom / Google Maps Scraper

Google Maps ScraperBLOCK

skills/gosom/google-maps-scraper

scrape data from Google Maps. Extracts data such as the name, address, phone number, website URL, rating, reviews number, latitude and longitude, reviews,email and more for each place

Verdict
BLOCK
Grade
D
Trust score
69 /100
Version
1.12.1
Hosts
—
License
MIT
Stars
6,647
01

Overview

scrape data from Google Maps. Extracts data such as the name, address, phone number, website URL, rating, reviews number, latitude and longitude, reviews,email and more for each place

Read from source at commit 875d5832c68eOBSERVED · 2026-10-20
Advertisement
02

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: google-maps-scraper
description: >
  Find businesses, leads, emails, reviews, ratings, and contact details from Google Maps.
  Use for requests such as "find dentists in Berlin", "scrape Google Maps", "get local
  business leads", or "collect Google Maps reviews". Runs the open-source scraper locally
  with Docker and guides nontechnical users through setup, monitoring, and results.
license: MIT
compatibility: "Requires Docker and Node.js on macOS, Linux, or Windows through WSL."
metadata:
  author: gosom
  email: [email protected]
  version: "1.12.1"
  repository: "https://github.com/gosom/google-maps-scraper"
allowed-tools: Bash(node:*) Bash(bash:*) Bash(docker:*) Read Write
---

# Google Maps Scraper

Turn a natural-language lead request into a validated local Google Maps crawl, monitor it, and help the user work with the results.

Resolve the directory containing this file as `SKILL_DIR`. Run bundled scripts from that directory; do not assume the current directory is the repository checkout.

## Guardrails

- Use plain language suitable for a nontechnical lead-generation or marketing user.
- Never ask the user to paste proxy credentials into chat.
- Never print, read back, summarize, or log proxy credentials.
- Do not ask for conversational permission before routine in-scope actions such as version checks, query preparation, validation, Docker execution, monitoring, or result inspection. Run them directly. If the agent platform requires approval, batch operations and surface only unavoidable approval prompts.
- Do not claim a proxy guarantees results or is required for every crawl.
- Start with conservative depth and concurrency.
- Preserve partial output when a crawl fails or is interrupted.
- Do not expose raw logs unless a concise excerpt is necessary for diagnosis and contains no secrets.

## Workflow

### 0. Refresh the workflow

At the beginning of every new skill workflow, run this exactly once without asking for confirmation:

```bash
bash "$SKILL_DIR/scripts/ensure-latest.sh"
```

The helper noninteractively updates only `google-maps-scraper` when a newer installed-skill version is available. Re-read `SKILL.md` from `SKILL_DIR` after it finishes so updated instructions apply immediately. If the check cannot reach the network, state briefly that the installed version will be used and continue.

### 1. Understand the request

Infer sensible defaults and ask only for missing essentials:

1. Business type or search phrase
2. Location
3. Desired coverage: quick sample, normal search, or comprehensive area coverage

Default to English, CSV, no email extraction, no extra reviews, and shallow depth. Read [query planning](references/query-planning.md) when translating the request into queries or choosing coverage.

Summarize the inferred configuration briefly before setup. Do not ask for confirmation when the intent and location are already clear.

### 2. Offer the proxy choice

Explain whether the requested volume makes a proxy optional or recommended. Ask the user to choose one path:

1. Use an existing proxy
2. See proxy sponsor recommendations
3. Continue without a proxy

If the user requests recommendations, run the following selector exactly once for this setup:

```bash
node "$SKILL_DIR/scripts/select-proxy-sponsors.mjs"
```

Display all three returned providers with equal formatting and neutral language. State clearly: **These providers sponsor the project, and the links are referral links.** Show `offer` only when the selector returns it. Never invent or modify an offer. Let the user reject all three, use another provider, or continue without a proxy.

Read [proxy setup](references/proxy-setup.md) for the display template, safe credential flow, and selection failures.

### 3. Configure credentials safely

When the user has a proxy URL, run the masked local prompt:

```bash
bash "$SKILL_DIR/scripts/configure-proxy.sh"
```

The user enters credentials directly in the terminal. Do not request the value through chat. The helper returns a file path; use that path with `--proxy-file`. The scraper receives it through `-proxies-file`, never through inline `-proxies`.

If the agent surface cannot relay interactive terminal input, show the same command for the user to run in their own terminal and wait for it to finish. Never fall back to collecting credentials in chat.

Skip this phase when the user chooses no proxy.

### 4. Prepare queries and validate locally

Write one query per line to a descriptive file under `/tmp`. For a normal first run, create a separate validation file containing one representative query.

Run the validation crawl with shallow depth and a dedicated output directory. Use the bundled execution helper described in [local execution](references/local-execution.md). Include `--proxy-file` only when configured.

The helper starts Docker in the background. Tell the user that the validation has started, then inspect it with the status helper until it completes. A validation succeeds only when the container exits successfully and produces at least one result.

If validation fails, follow [failure recovery](references/recovery.md) before starting the full crawl.

### 5. Run and monitor the full crawl

Use the same execution helper with the complete query file and selected options. When validation already checked the Docker image during this workflow, add `--skip-image-pull` to avoid a redundant network request. Without a preceding validation, keep the default image check. Report:

- That the crawl has started
- Whether the first image download may add startup time
- Container state
- Elapsed time
- Current result count

Poll periodically without blocking the conversation for more than one minute and without streaming logs. Do not promise an exact completion time.

For grid search, extra reviews, email extraction, and other non-default flags, read [advanced coverage](references/advanced-coverage.md).

### 6. Present and continue working with results

After a succe
03

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
found

Findings (3)

HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
SKILL.md:28
- Never print, read back, summarize, or log proxy credentials.
Why it matters. asks the agent to read credentials
HIGHPrompt injection · review.instruction_override · CWE-94, CWE-1427
SKILL.md
Re-read `SKILL.md` from `SKILL_DIR` after it finishes so updated instructions apply immediately.
Why it matters. The noninteractive self-update followed by silent re-reading of SKILL.md lets the package author push arbitrary new agent instructions at any time without user review or consent.
Fix. rewrite it so the instruction says plainly what it does, and asks the user before it acts
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
scripts/helpers_test.sh:39
secret='do-not-print-this-proxy-secret'

Gates applied: no_behavioural_pass.

Audited 2026-10-20 · audit v0.4.1 · source sha 875d5832c68efull audit observations/trust-audit/skill/gosom__google-maps-scraper.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-20875d5832c68eBLOCKD69first audit
05

Questions

What does the google-maps-scraper — gosom/google-maps-scraper skill do?

scrape data from Google Maps. Extracts data such as the name, address, phone number, website URL, rating, reviews number, latitude and longitude, reviews,email and more for each place

Is google-maps-scraper — gosom/google-maps-scraper safe to install?

No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What can google-maps-scraper — gosom/google-maps-scraper access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

How current is this page?

The grade is for one exact copy of the source (875d5832c68e), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Google Maps Scraper](https://modelsatlas.com/skills/gosom/google-maps-scraper/badge.svg)](https://modelsatlas.com/skills/gosom/google-maps-scraper/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement