About mcp-google-maps-places-scraper
An Apify-backed MCP server for searching Google Maps or looking up known place IDs and URLs. It is for users gathering place details such as contact information, address, rating, hours, and categories.
Key features
- 01Search places by terms and locations
- 02Look up place IDs or URLs
- 03Return contact and address details
- 04Include ratings, hours, and categories
- 05Deduplicate results within a run
Use cases
- 01Find coffee shops in a specified area
- 02Retrieve hours for a known place
- 03Collect contact details and ratings for places
MCP support
Exposes the `search_google_maps_places` tool to MCP clients. It starts the Apify actor, waits for its run, and returns dataset rows.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mambalabsdev/mcp-google-maps-places-scraperAPIFY_TOKENSecretApify API token from https://console.apify.com/account/integrationsLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
1Saved tool list · updated 2d ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| dedupe | boolean | No | yes or no. Default yes: a place found twice in a run is returned and charged once. |
| places | array | No | Optional. Look up places you already know: a ChIJ place ID, or a Google Maps place URL. Each costs one place row. |
| language | string | No | Language code for names and categories, such as en or de. Default en. |
| locations | array | No | Optional. Each search term is run once per location, as "term in location". Leave empty when your searches already name the place. |
| only_country | string | No | Optional 2 letter country code, such as DE. Places in other countries are dropped and not charged. A search for Berlin can otherwise return Berlin, New Jersey, on later pages. |
| search_terms | array | No | What to search on Google Maps, such as dentist in Austin, TX. One search per entry. Each search returns up to about 120 to 200 places, so split a large area into neighborhoods. |
| max_charge_usd | number | No | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. |
| results_country | string | No | 2 letter code Google uses to tailor results. Default us. It does not limit results to that country; use only_country for that. |
| max_places_per_search | number | No | Whole number from 1 to 500. Default 20. Google stops most searches between 120 and 200 places. |
Details
From the project READMEGoogle Maps Places Scraper MCP Server
An MCP server for the Mamba Labs Google Maps Places Scraper actor on Apify. Google Maps place data as rows.
What's Inside
- What it does
- Quick start
- Prerequisites
- Example prompts
- Tool
- Inputs
- Pricing
- Full actor documentation
- License
What it does
Takes searches or known place IDs and returns one row per place with phone, website, address, coordinates, categories, rating, review count, hours, and attributes.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-google-maps-places-scraper": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-google-maps-places-scraper"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
Restart the client. The search_google_maps_places tool appears.
Prerequisites
- Node.js 18 or newer.
- An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
- "Find 20 coffee shops in Austin, TX with their phone and website."
- "Look up this Google place ID and give me its hours."
Tool
search_google_maps_places. One tool. Example arguments:
{
"search_terms": [
"coffee shop in Austin, TX"
],
"max_places_per_search": 5
}
Inputs
Every buyer facing input of the actor. Omitted inputs take the actor's own defaults.
| Input | Type | Required | Description |
|---|---|---|---|
search_terms | array | no | What to search on Google Maps, such as dentist in Austin, TX. One search per entry. Each search returns up to about 120 to 200 places, so split a large area into neighborhoods. |
locations | array | no | Optional. Each search term is run once per location, as "term in location". Leave empty when your searches already name the place. |
places | array | no | Optional. Look up places you already know: a ChIJ place ID, or a Google Maps place URL. Each costs one place row. |
max_places_per_search | number | no | Whole number from 1 to 500. Default 20. Google stops most searches between 120 and 200 places. |
only_country | string | no | Optional 2 letter country code, such as DE. Places in other countries are dropped and not charged. A search for Berlin can otherwise return Berlin, New Jersey, on later pages. |
dedupe | boolean | no | yes or no. Default yes: a place found twice in a run is returned and charged once. |
language | string | no | Language code for names and categories, such as en or de. Default en. |
results_country | string | no | 2 letter code Google uses to tailor results. Default us. It does not limit results to that country; use only_country for that. |
max_charge_usd | number | no | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
place-row, one place | $0.0015 | $0.001425 | $0.00135 | $0.001275 |
apify-actor-start, per run start | $0.007 | $0.007 | $0.007 | $0.007 |
Summaries, repeats, and refused input are free. Mamba Labs pays the platform costs of the run, Apify proxy traffic included.
Full actor documentation
apify.com/mambalabs/google-maps-places-scraper
License
MIT. See LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.