gmapsscraper

Scrape Google Maps business leads (names, phones, emails, websites, ratings) from Claude, Cursor or any MCP client via the gmapsscraper.io API.

Documentation

gmapsscraper MCP Server

npm version license

MCP (Model Context Protocol) server for gmapsscraper.io — lets Claude, Cursor, Windsurf and any MCP client scrape Google Maps business data in plain conversation: names, addresses, phones, emails, websites, ratings, review counts, categories and coordinates.

"Find 50 dentists in Chicago with their emails" → done, right in your AI chat.

Tools

ToolWhat it does
scrape_google_mapsSearch Google Maps and return business leads (blocks until done, ~30–120s)
start_scrape_jobFire-and-forget version — returns a job id immediately
get_scrape_resultsFetch results of a previously started job
get_creditsCheck remaining credit balance

Each scrape costs 2 credits; multiple keywords in one call cost the same. Free tier: 10 credits (5 searches, no credit card) — get an API key at gmapsscraper.io/dashboard.

Setup

Claude Code

claude mcp add gmapsscraper -e GMAPSSCRAPER_API_KEY=your_key -- npx -y @gmapsscraper/mcp

Claude Desktop / Cursor / Windsurf

Add to your MCP config (claude_desktop_config.json, .cursor/mcp.json, etc.):

{
  "mcpServers": {
    "gmapsscraper": {
      "command": "npx",
      "args": ["-y", "@gmapsscraper/mcp"],
      "env": {
        "GMAPSSCRAPER_API_KEY": "your_key"
      }
    }
  }
}

Cursor Directory / Open Plugins

Installing from a plugin directory uses the bundled mcp.json, which deliberately ships without an env block — the Open Plugins spec only expands ${PLUGIN_ROOT} and ${PLUGIN_DATA}, so a secret placeholder would be passed through literally and the server would fail to authenticate.

Set the key in your own environment before starting the client:

# macOS / Linux — add to ~/.zshrc or ~/.bashrc
export GMAPSSCRAPER_API_KEY=your_key
# Windows PowerShell
setx GMAPSSCRAPER_API_KEY "your_key"

Restart the client afterwards so it picks up the variable. If a scrape returns an auth error, run get_credits first — it fails fast and confirms whether the key is being seen.

Requires Node.js ≥ 18. The server runs locally over stdio and talks to the gmapsscraper.io API — no other infrastructure involved.

Example prompts

  • "Scrape coffee shops in Austin TX with emails and give me a table"
  • "Find plumbers in Miami, then draft a cold email for the top 5 by rating"
  • "Start a scrape for 'wedding photographer in Denver CO', I'll check back later"
  • "How many gmapsscraper credits do I have left?"

Data returned per business

title, address, phone, email, website, rating, reviews_count, category, latitude, longitude, google_maps_url, opening_hours

Results are capped at 100 businesses per response to keep your context tidy; the full CSV is always available from the dashboard.

Related

License

MIT © gmapsscraper.io