Agent skill

Google Maps Lead Scraper

by gosom in gosom/google-maps-scraper

Turns a plain request such as finding dentists in a city into a local Google Maps crawl run with Docker, then monitors it and helps you work with the results.

MITAuto-check: warningsData & Analytics

Install Google Maps Lead Scraper

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add gosom/google-maps-scraper --skill google-maps-scraper -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gosom/google-maps-scraper google-maps-scraper --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gosom/google-maps-scraper.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-maps-scraper .claude/skills/google-maps-scraper && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
google-maps-scraper
GitHub stars
6.3k
Token cost
~1.8k tokens
SKILL.md length
893 words
Files
16 (incl. scripts, references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Turns a plain request such as finding dentists in a city into a local Google Maps crawl run with Docker, then monitors it and helps you work with the results.

  • Works in 7 steps: Refresh the workflow → Understand the request → Offer the proxy choice → …
  • Building a list of local businesses with contact details
  • SKILL.md covers Guardrails, Workflow and Reference routing
  • Runs Shell and JavaScript scripts from its folder; calls bash and node

What it does

The agent asks only for the essentials: business type or search phrase, location and desired coverage (a quick sample, a normal search or wide area coverage). It fills in defaults of English, CSV output, no email extraction, no extra reviews and shallow depth, summarizes the inferred setup briefly and skips confirmation when intent and location are clear. A query-planning reference guides turning the request into queries. At the start of each workflow a helper updates only this skill if a newer version exists, and the agent then rereads its own instructions.

It explains whether the requested volume makes a proxy optional or recommended and offers three paths: use an existing proxy, see sponsor recommendations, or continue without one. Proxy credentials are never requested in chat, printed or logged, and no proxy is described as guaranteeing results. Crawls start with conservative depth and concurrency, run locally through Docker with scripts for setup, monitoring and recovery, and keep partial output if they fail or are interrupted. The guidance is written in plain language for marketing and lead-generation users, with references on coverage, local execution, recovery and results.

When your agent uses it

  • Building a list of local businesses with contact details
  • Collecting Google Maps reviews and ratings for a set of places
  • Running a quick sample crawl before committing to a large area

Example prompts

  • “Find dentists in Berlin and give me a CSV with phone numbers and websites.”
  • “Scrape Google Maps for coffee shops in Austin with their ratings and reviews.”
  • “Do a quick sample search for plumbers in Leeds before we run the full area.”

Requirements

  • Docker
  • Node.js
  • macOS, Linux, or Windows through WSL
  • Compatibility (from SKILL.md): Requires Docker and Node.js on macOS, Linux, or Windows through WSL.
  • Pre-approved tools (allowed-tools): Bash(node:*), Bash(bash:*), Bash(docker:*), Read, Write

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Refresh the workflow
  2. Understand the request
  3. Offer the proxy choice
  4. Configure credentials safely
  5. Prepare queries and validate locally
  6. Run and monitor the full crawl
  7. Present and continue working with results

What it can do on your machine

Read from SKILL.md and the folder at commit d0b51bc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(node:*)
    • Bash(bash:*)
    • Bash(docker:*)
    • Read
    • Write

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 8 files in scripts/ (Shell and JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Docker and Node.js on macOS, Linux, or Windows through WSL.

    From compatibility in the SKILL.md frontmatter.

Context cost

Google Maps Lead Scraper loads about 1.8k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 893 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:57
    red configuration briefly before setup. Do not ask for confirmation when the intent and location are already clear.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gosom/google-maps-scraper at commit d0b51bc, republished under its MIT licence (© gosom). 893 words, ~1,823 tokens.

Download SKILL.mdSave it as .claude/skills/google-maps-scraper/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
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.
allowed-tools
Bash(node:*), Bash(bash:*), Bash(docker:*), Read, Write
compatibility
Requires Docker and Node.js on macOS, Linux, or Windows through WSL.
license
MIT
metadata.author
gosom
metadata.email
hi@gosom.dev
metadata.version
1.12.1
metadata.repository
https://github.com/gosom/google-maps-scraper

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 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 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.

Show full SKILL.md (372 more words)Show less
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. 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 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.

6. Present and continue working with results

After a successful crawl, read result handling. Count the complete result set and show at most 20 preview rows with the most useful available fields:

  • Business name
  • Category
  • Rating and review count
  • Phone
  • Website
  • Address
  • Emails when requested

Offer to save, analyze, filter, convert, or expand the crawl. Suggest a deeper or grid search only when the user's coverage goal or unexpectedly low result count justifies it.

Show the GitHub star suggestion only after the first successful result presentation in a conversation:

If this workflow was useful, consider starring https://github.com/gosom/google-maps-scraper.

Reference routing

© gosom, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files (scripts, references) in skills/google-maps-scraper of gosom/google-maps-scraper.

  • SKILL.md
  • references/advanced-coverage.md
  • references/local-execution.md
  • references/proxy-setup.md
  • references/proxy-sponsors.json
  • references/query-planning.md
  • references/recovery.md
  • references/results.md
  • scripts/configure-proxy.sh
  • scripts/ensure-latest.sh
  • scripts/helpers_test.sh
  • scripts/run-local.sh
  • scripts/select-proxy-sponsors.mjs
  • scripts/select-proxy-sponsors.test.mjs
  • scripts/status-local.mjs
  • scripts/status-local.test.mjs

Open the folder on GitHubat commit d0b51bc

Compare with similar skills

Google Maps Lead Scraper next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Google Maps Lead Scraper compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Google Maps Lead Scraper this skillgosom/google-maps-scraper6.3k—~1.8kAutomated safety check: WarnMIT
Apify Multi-Platform Scraperapify/agent-skills2.4k2 repos~1.4kAutomated safety check: NotesNone
Google Maps API Skillbrowser-act/skills6.1k1 repos~1.4kAutomated safety check: PassMIT
Google Maps ScraperMahanaicoach/google-maps-scraper-kit1.3k—~2.8kAutomated safety check: PassMIT
Google Maps Contact Extractbrowser-act/skills6.1k—~2.9kAutomated safety check: PassMIT
Apify Google Maps Leadsapify/awesome-skills262—~3.8kAutomated safety check: PassApache-2.0

Similar skills

  • Official

    Scrapes public data from social, maps, search and review platforms by choosing from about a hundred Apify Actors and running them through the Apify CLI.

    2.4k GitHub starsUsed in 2 repos~1.4k tokens
    Data & AnalyticsAuto-check: notes
  • Google Maps API Skill

    browser-act/skills

    This skill helps users automatically scrape business data from Google Maps using the BrowserAct Google Maps API.

    6.1k GitHub starsUsed in 1 repo~1.4k tokens
    Marketing & SEOAuto-check passed
  • Google Maps Scraper

    Mahanaicoach/google-maps-scraper-kit

    Scrape Google Maps business listings (name, address, phone, website, rating, reviews, lat/lng, hours, emails) via the local gosom google-maps-scraper REST API.

    1.3k GitHub stars~2.8k tokensUpdated 2 days ago
    Data & AnalyticsAuto-check passed
  • Google Maps Contact Extract

    browser-act/skills

    Extracts business contact details from Google Maps search results and place detail pages, then visits each business website to collect emails, phone numbers, and social media profiles (Facebook…

    6.1k GitHub stars~2.9k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Apify Google Maps Leads

    apify/awesome-skills

    Official

    Build a local-business lead database from Google Maps in one Apify pipeline: search by target audience + geography, enrich each place with company contacts from its website, leads enrichment (names…

    262 GitHub stars~3.8k tokensUpdated 14 days ago
    Data & AnalyticsAuto-check passed
  • Apify Lead Scoring Enrichment

    apify/awesome-skills

    Official

    Score and enrich a CSV of B2B leads using Apify Actors. An agent skill from apify/awesome-skills.

    262 GitHub stars~4.4k tokensUpdated 14 days ago
    Data & AnalyticsAuto-check: notes

Questions about Google Maps Lead Scraper

What does Google Maps Lead Scraper do?

Turns a plain request such as finding dentists in a city into a local Google Maps crawl run with Docker, then monitors it and helps you work with the results. The agent asks only for the essentials: business type or search phrase, location and desired coverage (a quick sample, a normal search or wide area coverage). It fills in defaults of English, CSV output, no email extraction, no extra reviews and shallow depth, summarizes the inferred setup briefly and skips confirmation when intent and location are clear.

When should I use Google Maps Lead Scraper?

Google Maps Lead Scraper fits situations like: building a list of local businesses with contact details; collecting Google Maps reviews and ratings for a set of places; running a quick sample crawl before committing to a large area.

How do I install Google Maps Lead Scraper in Claude Code?

Run `npx skills add gosom/google-maps-scraper --skill google-maps-scraper -a claude-code`. Or copy the skill folder (skills/google-maps-scraper in gosom/google-maps-scraper) into .claude/skills/google-maps-scraper in your project. Claude Code loads it when a task matches its description.

How do I install Google Maps Lead Scraper in Codex?

Run `npx skills add gosom/google-maps-scraper --skill google-maps-scraper -a codex`. Or copy the skill folder (skills/google-maps-scraper in gosom/google-maps-scraper) into .agents/skills/google-maps-scraper in your project. Codex loads it when a task matches its description.

Can I use Google Maps Lead Scraper in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gosom/google-maps-scraper --skill google-maps-scraper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-maps-scraper, .gemini/skills/google-maps-scraper, .github/skills/google-maps-scraper and .opencode/skills/google-maps-scraper in your project.

What does Google Maps Lead Scraper need to run?

Going by SKILL.md and its folder, Google Maps Lead Scraper needs a shell and JavaScript for the scripts in its folder and the command-line tools its instructions call (bash and node). Our summary lists: Docker; Node.js; macOS, Linux, or Windows through WSL. Its frontmatter pre-approves these tools: Bash(node:*), Bash(bash:*), Bash(docker:*), Read, Write. Compatibility (from SKILL.md): Requires Docker and Node.js on macOS, Linux, or Windows through WSL..

Does Google Maps Lead Scraper access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Google Maps Lead Scraper safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Google Maps Lead Scraper use?

Google Maps Lead Scraper is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Google Maps Lead Scraper use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.

What are the alternatives to Google Maps Lead Scraper?

Skills that share tags, products or a category with Google Maps Lead Scraper: Apify Multi-Platform Scraper (apify/agent-skills, 2.4k stars), Google Maps API Skill (browser-act/skills, 6.1k stars), Google Maps Scraper (Mahanaicoach/google-maps-scraper-kit, 1.3k stars) and Google Maps Contact Extract (browser-act/skills, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Google Maps Lead Scraper?

gosom (a GitHub user) maintains it in gosom/google-maps-scraper, which has 6,300 GitHub stars. The repository was last updated on September 24, 2026.

Source: gosom/google-maps-scraper on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.