Google Maps Places MCP server
Registry name: io.github.johnisanerd/google-maps-places. Maintained by AlphaOSINT (Apify developer johnvc, GitHub johnisanerd).
What it does
Search Google Maps for places by keyword and location and get business name, address, phone, website, rating, review count, categories, coordinates and opening hours.
Bulk place lists from Google Maps, where Google Local returns the local results for a single search. Use it for lead lists, market mapping and store-location research.
Paid service on Apify’s hosted endpoint
This server is not self-hosted. It runs on Apify’s hosted MCP endpoint (mcp.apify.com), which starts the Apify Actor johnvc/google-maps-places-api for each tool call. You need an Apify account, and every call is billed to that account at the Actor’s prices below. Apify’s own pricing and terms apply to the account.
| Charge | Price (USD) | What it covers |
|---|---|---|
| place Place (standard) | $0.002 | Per unique place returned in standard mode: name, address, phone, website, coordinates, and (when available) rating, review count, price level, category. |
| Place (rich details) | $0.004 | Per unique place when Rich Details is enabled: adds opening hours, rating, review count, category types, description, photo thumbnail, booking links, and Place ID. |
Prices shown are Apify’s free-plan rates; paid Apify plans get lower per-event prices. Apify also bills a token amount per run start and per stored row ($0.00005, $0.00001). Prices change from time to time; the Actor’s page on Apify shows the current ones.
Data source and terms
Google Maps’ public place listings, collected by scraping. The server returns the data as published at the time of the call. You are responsible for using it in line with the source’s terms and the laws that apply to you. AlphaOSINT is not affiliated with the source.
Endpoint
- Transport: Streamable HTTP
- URL:
https://mcp.apify.com/?tools=johnvc/google-maps-places-api - Auth: Apify OAuth, or
Authorization: Bearer <APIFY_TOKEN>
Setup
Claude Code
claude mcp add --transport http google-maps-places "https://mcp.apify.com/?tools=johnvc/google-maps-places-api"
VS Code (.vscode/mcp.json)
{
"servers": {
"google-maps-places": {
"type": "http",
"url": "https://mcp.apify.com/?tools=johnvc/google-maps-places-api"
}
}
}
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"google-maps-places": {
"url": "https://mcp.apify.com/?tools=johnvc/google-maps-places-api"
}
}
}
Claude Desktop (Settings → Connectors → Add custom connector, paste the URL). Older versions without remote connectors can bridge through mcp-remote in claude_desktop_config.json:
{
"mcpServers": {
"google-maps-places": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.apify.com/?tools=johnvc/google-maps-places-api"
]
}
}
}
Each client opens an Apify sign-in (OAuth) on first use. To use a token instead, send Authorization: Bearer <APIFY_TOKEN> as a header; create one under Apify Console → Settings → API & Integrations.
Tools
| Tool | What it does |
|---|---|
johnvc--google-maps-places-api |
Runs the Actor with the parameters below and returns the result rows. |
get-actor-run |
Status of a run started by the tool, for long runs. |
get-dataset-items |
Pages through a run’s full output by datasetId when it is larger than the inline result. |
get-key-value-store-record |
Reads a record a run stored, such as a run report. |
abort-actor-run |
Stops a run. |
Apify’s endpoint adds the four helper tools automatically whenever an Actor tool is loaded.
Parameters of johnvc--google-maps-places-api
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerms |
array | yes | ["coffee shops in Austin, TX"] |
One or more searches, for example ‘coffee shops in Austin, TX’ or ‘dentists in 90210’. Each term is searched independently. Include a location here, or set the Location field below to apply one to every term. |
location |
string | Optional place to focus all search terms on, for example ‘Austin, TX, United States’. Leave blank if your terms already include a location. | ||
maxResultsPerSearch |
integer | 20 |
How many places to return per search term. Results come in pages of about 20; the Actor pulls just enough pages to reach this count, then stops early when a term runs out of places. Minimum 20. | |
language |
string | Optional two-letter language code for results, for example ‘en’, ‘es’, ‘fr’. |
Example arguments:
{
"searchTerms": [
"coffee shops in Austin, TX"
]
}
Output
The tool returns JSON rows with these fields.
| Field | Type | Description |
|---|---|---|
searchTerm |
string | The search term this place was returned for. |
position |
integer | Rank of the place within its result page. |
title |
string | Business or place name. |
address |
string | Full street address. |
latitude |
number | Latitude coordinate. |
longitude |
number | Longitude coordinate. |
rating |
number | Average star rating, when available. |
ratingCount |
integer | Number of ratings, when available. |
priceLevel |
string | Relative price indicator such as ‘$$’ or ‘$1-10’, when available. |
type |
string | Primary place category. |
types |
array | All place categories. |
phoneNumber |
string | Contact phone number, when available. |
website |
string | Website URL, when available. |
description |
string | Short place description, when available. |
openingHours |
object | Map of weekday to opening hours, when available. |
bookingLinks |
array | Booking or reservation links, when available. |
thumbnailUrl |
string | Place photo thumbnail. |
cid |
string | Google customer/place identifier. |
fid |
string | Google feature identifier. |
placeId |
string | Google Place ID. |
error_message |
string | Present only on error rows; explains why a request could not be completed. |
cached |
boolean | True when the place came from an identical search made in the last 24 hours; false when it was fetched in this run. |
fetchedAt |
string | When the results page holding this place was fetched (ISO 8601, UTC). |
cacheAgeDays |
number | Present only on reused rows: how old the reused results page was, in days (0.25 = 6 hours). |
Links
- Actor on Apify: johnvc/google-maps-places-api
- Data source page on AlphaOSINT: /sources/google-maps-places-scraper-fast-cheap-bulk-places/
- All AlphaOSINT MCP servers: /mcp/