# Google Maps

Search Google Maps places, or get one place by ID. Takes q, ll, location and more, all optional. Served by Litescrape.

Search Google Maps places, or get one place by ID.

- Tool ID: `litescrape/google-maps`
- Provider: [Litescrape](/providers/litescrape.md)
- Capability: [Google Maps places](/tools/google-maps/places.md)
- Price: $0.00015 per call
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_call",
  "amountUsd": 0.00015
}
```

Pricing source: [https://litescrape.com/pricing](https://litescrape.com/pricing). $0.15 per 1,000 successful HTTP 200 requests; every native endpoint costs one call. Failed requests are not billed. Prepaid credits expire after six months..

Price verification date: 2026-11-03.

## Complete input schema


```json
{
  "additionalProperties": false,
  "properties": {
    "q": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "The business, category, address, or natural-language query to search. Required when type is search.\n\nExamples: coffee shops in Austin, dentist near Denver"
    },
    "ll": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "A complete viewport containing latitude, longitude, and either zoom or radius.\n\nFormat: @lat,lon,14z or @lat,lon,5000m"
    },
    "location": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "A named geographic location resolved by the API. Cannot be combined with ll or lat/lon.\n\nRequires z or m."
    },
    "lat": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Latitude for a coordinate-based viewport. Must be supplied with lon and either z or m."
    },
    "lon": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Longitude for a coordinate-based viewport. Must be supplied with lat and either z or m."
    },
    "z": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Google Maps zoom level for location or lat/lon geography.\n\nAccepted range: 3 through 30. Cannot be combined with m."
    },
    "m": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "Search radius in meters for location or lat/lon geography.\n\nAccepted range: 1 through 15,028,132. Cannot be combined with z."
    },
    "nearby": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "description": "Uses the supplied geography as a nearby-search scope.\n\nRequires ll, location, or a lat/lon pair."
    },
    "data": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "A Google Maps protobuf parameter sequence for search filters or an exact place.\n\nMaximum length: 8,192 characters. Exact-place data requires type=place."
    },
    "place_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "A Google place identifier used to resolve one exact place or request live foot traffic.\n\nCannot be combined with data_cid or exact-place data on the primary Maps endpoint. It is the only required parameter on /api/google/maps/popular-times. Every response is fetched live. Places without published busy hours return HTTP 404 not_found and are not billed."
    },
    "data_cid": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "A decimal Google CID used to resolve one exact place.\n\nCannot be combined with place_id or exact-place data."
    },
    "type": {
      "anyOf": [
        {
          "enum": [
            "search",
            "place"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Chooses a result search or an exact place response. Required for query and filter searches.\n\nUse place when sending an exact-place data sequence."
    },
    "hl": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Language used for Google Maps labels and returned text.\n\nExamples: en, es, fr, de"
    },
    "gl": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Two-letter country code used for regional result localization.\n\nExamples: us, gb, ca, au"
    },
    "google_domain": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Validated Google domain used for the request.\n\nExamples: google.com, google.co.uk, google.ca"
    },
    "start": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "Native Maps result offset: 0, 20, 40, and so on. Each request returns up to 20 places and each successful request costs one credit.\n\nUse pagination.next when it is present instead of constructing the next request manually."
    },
    "min_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "Minimum price level for returned places.\n\nMust be non-negative and cannot exceed max_price."
    },
    "max_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "Maximum price level for returned places.\n\nMust be non-negative and cannot be lower than min_price."
    },
    "min_rating": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Preferred minimum Google rating.\n\nGoogle treats this as a relevance preference."
    },
    "open_state": {
      "anyOf": [
        {
          "enum": [
            "now",
            "24h"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Filters by the current open state.\n\nCannot be combined with open_on_day or open_at_hour."
    },
    "open_on_day": {
      "anyOf": [
        {
          "enum": [
            "mon",
            "tue",
            "wed",
            "thu",
            "fri",
            "sat",
            "sun"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Filters for places open on a specific day."
    },
    "open_at_hour": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "description": "Filters for places open at a specific hour using 24-hour time.\n\nAccepted range: 0 through 23. Requires open_on_day."
    }
  },
  "type": "object",
  "allOf": [
    {
      "anyOf": [
        {
          "required": [
            "q"
          ],
          "properties": {
            "q": {
              "not": {
                "enum": [
                  null,
                  ""
                ]
              }
            }
          }
        },
        {
          "required": [
            "place_id"
          ],
          "properties": {
            "place_id": {
              "not": {
                "enum": [
                  null,
                  ""
                ]
              }
            }
          }
        },
        {
          "required": [
            "data_cid"
          ],
          "properties": {
            "data_cid": {
              "not": {
                "enum": [
                  null,
                  ""
                ]
              }
            }
          }
        },
        {
          "required": [
            "data"
          ],
          "properties": {
            "data": {
              "not": {
                "enum": [
                  null,
                  ""
                ]
              }
            }
          }
        }
      ]
    },
    {
      "if": {
        "required": [
          "q"
        ],
        "properties": {
          "q": {
            "not": {
              "enum": [
                null,
                ""
              ]
            }
          }
        }
      },
      "then": {
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "const": "search"
          }
        }
      }
    },
    {
      "if": {
        "required": [
          "lat"
        ],
        "properties": {
          "lat": {
            "not": {
              "enum": [
                null,
                ""
              ]
            }
          }
        }
      },
      "then": {
        "required": [
          "lat",
          "lon"
        ]
      }
    },
    {
      "if": {
        "required": [
          "lon"
        ],
        "properties": {
          "lon": {
            "not": {
              "enum": [
                null,
                ""
              ]
            }
          }
        }
      },
      "then": {
        "required": [
          "lat",
          "lon"
        ]
      }
    }
  ]
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "litescrape/google-maps",
  "input": {
    "q": "787 Coffee New York",
    "type": "search",
    "hl": "en",
    "gl": "us"
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://litescrape.com/docs/reference#maps-parameters)

[REST inspection](https://api.agentik.cc/v1/tools/litescrape/google-maps) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/litescrape/google-maps) · [Agent index](/llms.txt)
