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
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
| Tool | What it does |
|---|---|
scrape_google_maps | Search Google Maps and return business leads (blocks until done, ~30–120s) |
start_scrape_job | Fire-and-forget version — returns a job id immediately |
get_scrape_results | Fetch results of a previously started job |
get_credits | Check 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
- 📦 Node.js SDK —
npm install @gmapsscraper/sdk(this server is built on it) - 🐍 Python SDK —
pip install gmapsscraper-sdk - 🤖 Claude agent skills
- 📘 API docs / llms.txt