# Google Maps

Your Toolhouse AI Worker can connect to Google Maps using 22 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=google_maps).

## Tools (22)

### `Google Maps Autocomplete`

Integration name: **GOOGLE\_MAPS\_AUTOCOMPLETE**

Returns place and query predictions for text input. Use when implementing as-you-type autocomplete functionality for place searches. Returns up to five predictions ordered by relevance.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                          | Type    | Required | Example          | Description                                                                                                                           |
| ---------------------------------- | ------- | :------: | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `input`                            | string  |     ✅    | `"pizza"`        | Text string to search for place predictions. Can be full words, substrings, place names, addresses, or plus codes. Must be non-empty. |
| `origin`                           | object  |          | —                | Latitude/longitude point for distance calculations.                                                                                   |
| `regionCode`                       | string  |          | `"us"`           | Region code in ccTLD format for formatting responses (e.g., 'us', 'br').                                                              |
| `inputOffset`                      | integer |          | `5`              | Zero-based Unicode character offset of cursor position in the input string.                                                           |
| `languageCode`                     | string  |          | `"en-US"`        | Preferred language for results using IETF BCP-47 language codes (e.g., 'en-US', 'es-ES').                                             |
| `locationBias`                     | object  |          | —                | Area to bias search results toward.                                                                                                   |
| `sessionToken`                     | string  |          | `"session_123"`  | User-generated string grouping calls into sessions for billing purposes.                                                              |
| `includedRegionCodes`              | array   |          | `["US"]`         | Up to 15 two-character country codes (ISO 3166-1 Alpha-2) to restrict results. Query predictions unavailable when this is set.        |
| `locationRestriction`              | object  |          | —                | Area to restrict search results within.                                                                                               |
| `includedPrimaryTypes`             | array   |          | `["restaurant"]` | Restricts results to up to five specified primary types (e.g., 'restaurant', 'cafe').                                                 |
| `includeQueryPredictions`          | boolean |          | —                | Includes query predictions in response for text searches (default: false).                                                            |
| `includePureServiceAreaBusinesses` | boolean |          | —                | Includes businesses without physical locations (default: false).                                                                      |

***

### `Google Maps Compute Route Matrix`

Integration name: **GOOGLE\_MAPS\_COMPUTE\_ROUTE\_MATRIX**

Calculates travel distance and duration matrix between multiple origins and destinations using the modern Routes API; supports OAuth2 authentication and various travel modes. Matrix is capped at 625 elements (e.g., 25×25); chunk larger sets to avoid RESOURCE\_EXHAUSTED errors. Response elements may be returned out of input order — always use originIndex and destinationIndex to map results. Only use elements where condition='ROUTE\_EXISTS'; the matrix may be incomplete.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example                                                                                                       | Description                                                                                                                                                                                                                  |
| ------------------- | ------ | :------: | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `units`             | string |          | `"IMPERIAL"`                                                                                                  | Unit system (e.g., 'METRIC' for kilometers, 'IMPERIAL' for miles) for displaying distances. Note: distanceMeters in responses is always in meters regardless of this setting; units affects only human-readable text output. |
| `origins`           | array  |     ✅    | `[{"address":"1600 Amphitheatre Parkway, Mountain View, CA"},{"latitude":37.403184,"longitude":-122.097371}]` | List of origin locations. Each can be specified as an address or latitude/longitude coordinates.                                                                                                                             |
| `fieldMask`         | string |          | `"originIndex,destinationIndex,duration,distanceMeters"`                                                      | Comma-separated list of response fields to include (e.g., 'originIndex,destinationIndex,duration,distanceMeters'). Use '\*' for all fields.                                                                                  |
| `travelMode`        | string |          | `"DRIVE"`                                                                                                     | Mode of transportation for the route matrix calculation.                                                                                                                                                                     |
| `destinations`      | array  |     ✅    | `[{"address":"85 10th Ave, New York, NY"},{"latitude":37.383047,"longitude":-122.044651}]`                    | List of destination locations. Each can be specified as an address or latitude/longitude coordinates.                                                                                                                        |
| `languageCode`      | string |          | `"en-US"`                                                                                                     | BCP-47 language code (e.g., 'en-US', 'es') for textual information.                                                                                                                                                          |
| `routingPreference` | string |          | `"TRAFFIC_AWARE"`                                                                                             | Specifies factors to consider when calculating the route.                                                                                                                                                                    |

***

### `Google Maps Distance Matrix Api`

Integration name: **GOOGLE\_MAPS\_DISTANCE\_MATRIX\_API**

DEPRECATED: Legacy API that calculates travel distance and time for a matrix of origins and destinations. This API only works with API keys (no OAuth2 support). Use the modern 'Compute Route Matrix' action instead, which supports OAuth2 authentication. Supports different modes of transportation and options like departure/arrival times. Capped at 100 elements per request (elements = origins × destinations count); split large sets into batches.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type    | Required | Example              | Description                                                                                                                                                                                 |
| ---------------------------- | ------- | :------: | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `key`                        | string  |          | `"YOUR_API_KEY"`     | Your application's API key. This key identifies your application for purposes of quota management.                                                                                          |
| `mode`                       | string  |          | `"driving"`          | Specifies the mode of transport to use.                                                                                                                                                     |
| `avoid`                      | string  |          | `"tolls"`            | Indicates that the calculated route should avoid the specified features. Multiple values can be pipe-separated e.g. 'tolls\|highways'.                                                      |
| `units`                      | string  |          | `"imperial"`         | Specifies the unit system to use when displaying results. The default is metric.                                                                                                            |
| `region`                     | string  |          | `"us"`               | The region code, specified as a ccTLD ('top-level domain') two-character value. This helps influence results based on the region.                                                           |
| `origins`                    | string  |     ✅    | \`"Washington, DC    | New York City, NY"\`                                                                                                                                                                        |
| `language`                   | string  |          | `"en-US"`            | The language in which to return results. See the list of supported languages: <https://developers.google.com/maps/faq#languagesupport>                                                      |
| `arrival_time`               | integer |          | `1493890000`         | Specifies the desired time of arrival for transit directions, in seconds since midnight, January 1, 1970 UTC. You can specify either departure\_time or arrival\_time, but not both.        |
| `destinations`               | string  |     ✅    | \`"San Francisco, CA | Victoria, BC"\`                                                                                                                                                                             |
| `transit_mode`               | string  |          | `"bus"`              | Specifies one or more preferred modes of transit. This parameter may only be specified for transit directions. Multiple values can be pipe-separated e.g. 'bus\|train'.                     |
| `traffic_model`              | string  |          | `"best_guess"`       | Specifies the assumptions to use when calculating time in traffic. This parameter is only used if the request includes a departure\_time and mode is 'driving'.                             |
| `departure_time`             | —       |          | `1493879400`         | Specifies the desired time of departure. You can specify the time as an integer in seconds since midnight, January 1, 1970 UTC, or as the string 'now'. Required for duration\_in\_traffic. |
| `transit_routing_preference` | string  |          | `"less_walking"`     | Specifies preferences for transit routes. This parameter may only be specified for transit directions.                                                                                      |

***

### `Google Maps Geocode Address`

Integration name: **GOOGLE\_MAPS\_GEOCODE\_ADDRESS**

DEPRECATED: Legacy API to convert street addresses into geographic coordinates (latitude and longitude). This API works best with API key authentication. For OAuth connections without an API key, you may need to provide the 'key' parameter or use the newer 'Text Search' action instead. Use when you need to geocode an address or location to get its precise latitude/longitude coordinates.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example                                          | Description                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------ | ------ | :------: | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `key`        | string |          | `"YOUR_API_KEY"`                                 | Your application's API key. This parameter is required when using API key authentication. If not provided, will attempt to use OAuth authentication (requires X-Goog-User-Project header with project ID).                                                                                                                                                                                       |
| `bounds`     | string |          | \`"34.172684,-118.604794                         | 34.236144,-118.500938"\`                                                                                                                                                                                                                                                                                                                                                                         |
| `region`     | string |          | `"us"`                                           | Region code specified as a ccTLD (country code top-level domain) two-character value. This parameter will only influence, not fully restrict, results from the geocoder.                                                                                                                                                                                                                         |
| `address`    | string |          | `"1600 Amphitheatre Parkway, Mountain View, CA"` | The street address that you want to geocode, in the format used by the national postal service of the country concerned. Additional address elements such as business names and unit, suite or floor numbers should be avoided. Street address elements should be delimited by spaces (shown here as url-escaped to %20). If both address and components are provided, address takes precedence. |
| `language`   | string |          | `"en"`                                           | Language in which to return results. If not supplied, the geocoder attempts to use the preferred language as specified in the Accept-Language header, or the native language of the domain from which the request is sent.                                                                                                                                                                       |
| `components` | string |          | \`"postal\_code:94043                            | country:US"\`                                                                                                                                                                                                                                                                                                                                                                                    |

***

### `Google Maps Geocode Address With Query`

Integration name: **GOOGLE\_MAPS\_GEOCODE\_ADDRESS\_WITH\_QUERY**

Tool to map addresses to geographic coordinates with query parameter. Use when you need to convert a textual address into latitude/longitude coordinates using the modern v4beta API. Results may match multiple places — always verify `formattedAddress`, `region`, and `addressComponents` in the response before using returned coordinates.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                        | Description                                                                                                                                                                                                                                                                                  |
| --------------- | ------ | :------: | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `region_code`   | string |          | `"US"`                                         | Region code, specified as a ccTLD two-character value (e.g., 'US', 'FR'). This parameter affects results based on applicable law.                                                                                                                                                            |
| `address_query` | string |     ✅    | `"1600 Amphitheatre Parkway Mountain View CA"` | The unstructured address to geocode. This should be a single string containing the full address (e.g., '1600 Amphitheatre Parkway Mountain View CA'). Include city, state/region, and country where possible — incomplete or ambiguous strings may return zero results or incorrect matches. |
| `language_code` | string |          | `"en"`                                         | Language in which the results should be returned (e.g., 'en', 'es', 'fr').                                                                                                                                                                                                                   |

***

### `Google Maps Geocode Destinations`

Integration name: **GOOGLE\_MAPS\_GEOCODE\_DESTINATIONS**

Tool to perform destination lookup and return detailed destination information including primary place, containing places, sub-destinations, landmarks, entrances, and navigation points. Use when you need comprehensive destination data for an address, place ID, or geographic coordinates.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                | Description                                                                    |
| --------------- | ------ | :------: | -------------------------------------- | ------------------------------------------------------------------------------ |
| `place`         | string |          | `"places/ChIJj61dQgK6j4AR4GeTYWZsKWw"` | Resource name in format 'places/{placeId}' to retrieve destination by Place ID |
| `regionCode`    | string |          | `"US"`                                 | Two-character ccTLD region code for formatting/filtering (e.g., 'US', 'UK')    |
| `travelModes`   | array  |          | `["DRIVE"]`                            | Filter navigation points by travel mode. Supported values: DRIVE, WALK         |
| `addressQuery`  | object |          | —                                      | Address query in unstructured or structured format                             |
| `languageCode`  | string |          | `"en"`                                 | Preferred language code for results (e.g., 'en', 'es', 'fr')                   |
| `locationQuery` | object |          | —                                      | Location query using geographic coordinates                                    |

***

### `Google Maps Geocode Location`

Integration name: **GOOGLE\_MAPS\_GEOCODE\_LOCATION**

Tool to convert geographic coordinates (latitude and longitude) to human-readable addresses using reverse geocoding. Use when you need to find the address or place name for a given set of coordinates. A single coordinate pair may return multiple results; verify formattedAddress, region, and addressComponents before committing to a result.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                         | Description                                                                                     |
| -------------- | ------ | :------: | ------------------------------- | ----------------------------------------------------------------------------------------------- |
| `types`        | array  |          | `["street_address","locality"]` | Set of type tags to restrict results; results without specified types are removed               |
| `latitude`     | number |     ✅    | `37.4224764`                    | Latitude coordinate in degrees, range \[-90.0, +90.0]                                           |
| `longitude`    | number |     ✅    | `-122.0842499`                  | Longitude coordinate in degrees, range \[-180.0, +180.0]                                        |
| `regionCode`   | string |          | `"US"`                          | Region code specified as a ccTLD two-character value, affecting results based on applicable law |
| `languageCode` | string |          | `"en"`                          | Language code in which the results should be returned (BCP-47 format)                           |

***

### `Google Maps Geocode Place`

Integration name: **GOOGLE\_MAPS\_GEOCODE\_PLACE**

Tool to perform geocode lookup using a place identifier to retrieve address and coordinates. Use when you need to get detailed geographic information for a specific Google Place ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                         | Description                                                                                                                                                                                        |
| -------------- | ------ | :------: | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `place_id`     | string |     ✅    | `"ChIJj61dQgK6j4AR4GeTYWZsKWw"` | Place identifier to geocode. Must be in the format 'places/{placeId}' or just the place ID (e.g., 'ChIJj61dQgK6j4AR4GeTYWZsKWw'). The unique identifier for a place in the Google Places database. |
| `regionCode`   | string |          | `"US"`                          | Region code specified as a ccTLD two-character value, affecting results based on applicable law and address formatting.                                                                            |
| `languageCode` | string |          | `"en"`                          | Language code in which the results should be returned (BCP-47 format). Defaults to 'en' if not specified.                                                                                          |

***

### `Google Maps Geocoding Api`

Integration name: **GOOGLE\_MAPS\_GEOCODING\_API**

Convert addresses into geographic coordinates (latitude and longitude) and vice versa (reverse geocoding), or get an address for a Place ID. Uses the Geocoding API v4 (v4beta) which supports OAuth2 authentication. Exactly one of `address`, `latlng`, or `place_id` must be provided per request; omitting all three or mixing incompatible combinations yields no useful results.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                          | Description                                                                                                                                                                                                                                |
| -------------------- | ------ | :------: | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `key`                | string |          | `"YOUR_API_KEY"`                                 | Your application's API key. If not provided, will be extracted from connection metadata.                                                                                                                                                   |
| `bounds`             | string |          | \`"34.172684,-118.604794                         | 34.236144,-118.500938"\`                                                                                                                                                                                                                   |
| `latlng`             | string |          | `"40.714224,-73.961452"`                         | The latitude and longitude coordinates specifying the location for which you want the closest, human-readable address (e.g., '40.714224,-73.961452'). Provide for reverse geocoding.                                                       |
| `region`             | string |          | `"US"`                                           | The region code, specified as a ccTLD ('top-level domain') two-character value. This parameter will only influence, not fully restrict, results from the geocoder.                                                                         |
| `address`            | string |          | `"1600 Amphitheatre Parkway, Mountain View, CA"` | The street address or plus code that you want to geocode. Provide for geocoding (address to coordinates).                                                                                                                                  |
| `language`           | string |          | `"en"`                                           | The language in which to return results. If language is not supplied, the geocoder attempts to use the preferred language as specified in the Accept-Language header, or the native language of the domain from which the request is sent. |
| `place_id`           | string |          | `"ChIJd8BlQ2BZwokRAFUEcm_qrcA"`                  | The place ID of the place for which you wish to obtain the human-readable address. Provide for place ID geocoding.                                                                                                                         |
| `components`         | string |          | \`"postal\_code:94043                            | country:US"\`                                                                                                                                                                                                                              |
| `result_type`        | string |          | \`"street\_address                               | locality"\`                                                                                                                                                                                                                                |
| `location_type`      | string |          | \`"ROOFTOP                                       | RANGE\_INTERPOLATED"\`                                                                                                                                                                                                                     |
| `extra_computations` | array  |          | `["ADDRESS_DESCRIPTORS"]`                        | Use this parameter to specify additional features in the response. Can select multiple values.                                                                                                                                             |

***

### `Google Maps Geolocate`

Integration name: **GOOGLE\_MAPS\_GEOLOCATE**

Tool to determine location based on cell towers and WiFi access points. Use when you need to find the geographic location of a device using network infrastructure data.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter               | Type    | Required | Example                                                                                                             | Description                                                                                          |
| ----------------------- | ------- | :------: | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `carrier`               | string  |          | `"Vodafone"`                                                                                                        | Carrier name.                                                                                        |
| `radioType`             | string  |          | `"lte"`                                                                                                             | Radio type. Defaults to 'gsm'.                                                                       |
| `cellTowers`            | array   |          | `[{"cellId":42017512,"locationAreaCode":31511,"mobileCountryCode":310,"mobileNetworkCode":410}]`                    | Array of cell tower objects.                                                                         |
| `considerIp`            | boolean |          | `true`                                                                                                              | Whether to fall back to IP geolocation if WiFi and cell tower signals are missing. Defaults to true. |
| `wifiAccessPoints`      | array   |          | `[{"macAddress":"00:25:9c:cf:1c:ac","signalStrength":-65},{"macAddress":"00:25:9c:cf:1c:ad","signalStrength":-70}]` | Array of WiFi access point objects (minimum 2 required for success).                                 |
| `homeMobileCountryCode` | integer |          | `310`                                                                                                               | Mobile country code for device's home network. Range: 0-999.                                         |
| `homeMobileNetworkCode` | integer |          | `410`                                                                                                               | MNC for GSM/WCDMA/LTE/NR (0-999); SID for CDMA (0-32767).                                            |

***

### `Google Maps Get2d Tile`

Integration name: **GOOGLE\_MAPS\_GET2D\_TILE**

Tool to retrieve a 2D map tile image at specified coordinates for building custom map visualizations. Use when you need to download individual map tile images for roadmap, satellite, or terrain views. Requires a valid session token from the createSession endpoint.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example                     | Description                                                                                                                                                                                                     |
| ------------- | ------- | :------: | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x`           | integer |     ✅    | `0`                         | Tile column coordinate. Valid range: \[0, (2^zoom)-1].                                                                                                                                                          |
| `y`           | integer |     ✅    | `0`                         | Tile row coordinate. Valid range: \[0, (2^(zoom-1))-1]. Valid range: \[0, (2^zoom)-1], same as `x`.                                                                                                             |
| `z`           | integer |     ✅    | `0`                         | Zoom level ranging from 0 (entire world) to 22 (highly detailed).                                                                                                                                               |
| `key`         | string  |          | `"YOUR_API_KEY"`            | Google API key for authentication. If not provided, will be extracted from connection metadata. Required if not using Bearer token authentication.                                                              |
| `session`     | string  |     ✅    | `"your_session_token_here"` | Session token UUID obtained from /v1/createSession endpoint. Valid for approximately two weeks. Required for all 2D tile requests. Reuse across multiple tile requests; each createSession call consumes quota. |
| `orientation` | integer |          | `0`                         | Rotation parameter in degrees counter-clockwise. Valid values: 0, 90, 180, or 270.                                                                                                                              |

***

### `Google Maps Get3d Tiles Root`

Integration name: **GOOGLE\_MAPS\_GET3D\_TILES\_ROOT**

Tool to retrieve the 3D Tiles tileset root configuration for photorealistic 3D map rendering. Use when you need to initialize a 3D renderer with Google's photorealistic tiles following the OGC 3D Tiles specification. The Map Tiles API is billable per request; cache the root response client-side and avoid repeated calls.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example          | Description                                                                                                       |
| --------- | ------ | :------: | ---------------- | ----------------------------------------------------------------------------------------------------------------- |
| `key`     | string |          | `"YOUR_API_KEY"` | Your Google Maps API key with Map Tiles API enabled. If not provided, will be extracted from connection metadata. |

***

### `Google Maps Get Direction`

Integration name: **GOOGLE\_MAPS\_GET\_DIRECTION**

Fetches detailed directions between an origin and a destination, supporting intermediate waypoints and various travel modes. Automatically uses the modern Routes API with OAuth2 when available, falling back to legacy API with API key if provided.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example                         | Description                                                                                                                                                                                                                |
| ------------- | ------ | :------: | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `mode`        | string |          | `"driving"`                     | The mode of transportation for which to calculate directions.                                                                                                                                                              |
| `avoid`       | string |          | `"tolls"`                       | Specifies features to avoid in the generated route. Multiple values can be combined using a pipe delimiter (e.g., 'tolls\|highways'). Valid options include 'tolls', 'highways', and 'ferries'.                            |
| `units`       | string |          | `"metric"`                      | The unit system for displaying distances. Defaults to 'imperial'.                                                                                                                                                          |
| `origin`      | string |     ✅    | `"Disneyland"`                  | The starting point for the directions. This can be a textual address (e.g., '123 Main St, Los Angeles, CA'), a place name (e.g., 'Disneyland'), or latitude/longitude coordinates (e.g., '34.0522,-118.2437').             |
| `language`    | string |          | `"en"`                          | The language code for returning results, e.g., 'en' for English, 'es' for Spanish. Defaults to 'en'.                                                                                                                       |
| `waypoints`   | string |          | \`"Hollywood Bowl               | Getty Center"\`                                                                                                                                                                                                            |
| `destination` | string |     ✅    | `"Universal Studios Hollywood"` | The ending point for the directions. This can be a textual address (e.g., '456 Park Ave, New York, NY'), a place name (e.g., 'Universal Studios Hollywood'), or latitude/longitude coordinates (e.g., '40.7128,-74.0060'). |

***

### `Google Maps Get Place Details`

Integration name: **GOOGLE\_MAPS\_GET\_PLACE\_DETAILS**

Retrieves comprehensive details for a place using its resource name (places/{place\_id} format). Use when you need detailed information about a specific place.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example                                                                                        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| -------------- | ------ | :------: | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`         | string |     ✅    | `"places/ChIJj61dQgK6j4AR4GeTYWZsKWw"`                                                         | Google Place ID ONLY - an alphanumeric code (NOT a business name, address, or search query). Accepts 'places/{place\_id}' or just the place\_id. Place IDs typically start with 'ChIJ' followed by alphanumeric characters. To find a place ID from a business name, first use TEXT\_SEARCH or NEARBY\_SEARCH.                                                                                                                                                |
| `fieldMask`    | string |          | `"id,displayName,formattedAddress"`                                                            | Comma-separated list of place fields to return (no spaces allowed). Use '\*' for all fields (not recommended for performance/cost). Common fields: id, displayName, formattedAddress, location, types, rating, photos, reviews, regularOpeningHours, nationalPhoneNumber, internationalPhoneNumber, websiteUri, googleMapsUri. Note: 'emailAddress' and 'phoneNumber' are NOT valid fields - use 'nationalPhoneNumber' or 'internationalPhoneNumber' instead. |
| `regionCode`   | string |          | `"US"`                                                                                         | Unicode country/region code (CLDR format) for region-specific display names. Examples: 'US', 'GB', 'FR', 'JP'. This affects how place names and addresses are formatted.                                                                                                                                                                                                                                                                                      |
| `languageCode` | string |          | `"en"`                                                                                         | Preferred language code for place details (BCP-47 format). Examples: 'en' (English), 'es' (Spanish), 'fr' (French), 'ja' (Japanese). If not specified, defaults to the language of the request location.                                                                                                                                                                                                                                                      |
| `sessionToken` | string |          | `"CjQSMAoSCXKp2I5aRbcdEeKlv62-kRkSFAoSCeMG0J90bdcdEeowxViZXGNIGhQqEgkeNhAlOBZXaRJQ1h-KoiIQAQ"` | URL-safe base64 string (max 36 characters) for Autocomplete session billing. Used to group this request with previous Autocomplete requests for billing purposes.                                                                                                                                                                                                                                                                                             |

***

### `Google Maps Get Route`

Integration name: **GOOGLE\_MAPS\_GET\_ROUTE**

Calculates one or more routes between two specified locations. Uses various travel modes and preferences; addresses must be resolvable by Google Maps. Response `duration` is a string with 's' suffix (e.g., `"4557s"`); parse before displaying.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                      | Type    | Required | Example                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------ | ------- | :------: | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `units`                        | string  |          | `"IMPERIAL"`                                     | Unit system (e.g., 'METRIC' for kilometers, 'IMPERIAL' for miles) for displaying distances. Note: `routes.distanceMeters` in the response is always in meters regardless of this setting; `units` only affects human-readable distance formatting in other fields.                                                                                                                                                                                                                                                                |
| `fieldMask`                    | string  |          | `"routes.distanceMeters,routes.duration"`        | Comma-separated list of `Route` object fields to include in the response (e.g., 'routes.distanceMeters,routes.duration'). If not specified, a default fieldMask is used based on travelMode: for TRANSIT mode, transit-specific fields (transitDetails, steps, etc.) are included; for other modes, basic route fields (distanceMeters, duration, polyline) are included. Fields not listed are absent from the response; explicitly include all needed fields such as `routes.legs.steps` and `routes.polyline.encodedPolyline`. |
| `travelMode`                   | string  |          | `"DRIVE"`                                        | Mode of transportation for the route.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `languageCode`                 | string  |          | `"en-US"`                                        | BCP-47 language code (e.g., 'en-US', 'es') for textual information like navigation instructions.                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `origin_address`               | string  |     ✅    | `"1600 Amphitheatre Parkway, Mountain View, CA"` | Starting point for the route calculation. Can be an address (e.g., '1600 Amphitheatre Parkway, Mountain View, CA') or coordinates as 'latitude,longitude' (e.g., '48.8566,2.3522').                                                                                                                                                                                                                                                                                                                                               |
| `routingPreference`            | string  |          | `"TRAFFIC_AWARE"`                                | Specifies routing preference: `TRAFFIC_UNAWARE` (fastest, ignores traffic), `TRAFFIC_AWARE` (considers traffic, optimized), `TRAFFIC_AWARE_OPTIMAL` (most accurate traffic-based routing), or `ROUTING_PREFERENCE_UNSPECIFIED` (behavior similar to `TRAFFIC_UNAWARE`). Cannot be set when travelMode is WALK, BICYCLE, or TRANSIT - must be omitted for these modes.                                                                                                                                                             |
| `destination_address`          | string  |     ✅    | `"85 10th Ave, New York, NY"`                    | Destination point for the route calculation. Can be an address (e.g., '85 10th Ave, New York, NY') or coordinates as 'latitude,longitude' (e.g., '40.7484,-73.9967').                                                                                                                                                                                                                                                                                                                                                             |
| `computeAlternativeRoutes`     | boolean |          | —                                                | Computes and returns alternative routes if true.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `routeModifiers_avoidTolls`    | boolean |          | —                                                | Attempts to avoid toll roads if true.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `routeModifiers_avoidFerries`  | boolean |          | —                                                | Attempts to avoid ferries if true.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `routeModifiers_avoidHighways` | boolean |          | —                                                | Attempts to avoid highways if true.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

***

### `Google Maps Lookup Aerial Video`

Integration name: **GOOGLE\_MAPS\_LOOKUP\_AERIAL\_VIDEO**

Tool to look up an aerial view video by address or video ID. Returns video metadata including state and URIs for playback. Use when you need to retrieve a previously rendered aerial video or check the status of a video render request. Note that receiving a video is a billable event.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                          | Description                                                                                       |
| --------- | ------ | :------: | ------------------------------------------------ | ------------------------------------------------------------------------------------------------- |
| `address` | string |          | `"1600 Amphitheatre Parkway, Mountain View, CA"` | A US postal address. Either videoId or address must be provided, but not both.                    |
| `videoId` | string |          | `"ChYKFEhlbGxvIEZyb20gR29vZ2xlIE1hcHMSAggB"`     | An ID returned from videos.renderVideo. Either videoId or address must be provided, but not both. |

***

### `Google Maps Maps Embed Api`

Integration name: **GOOGLE\_MAPS\_MAPS\_EMBED\_API**

Tool to generate an embeddable Google Map URL and HTML iframe code. Use when you need to display a map (place, view, directions, street view, search) on a webpage without JavaScript. Note: This API only works with API keys (no OAuth2 support). It generates embed URLs and does not make direct API calls. Generated embed URLs are publicly accessible; avoid passing sensitive or internal location queries.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example        | Description                                                                                                                                |
| ------------------- | ------ | :------: | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `mode`              | string |     ✅    | `"place"`      | The mode of the embedded map.                                                                                                              |
| `api_key`           | string |          | `"AIzaSyD..."` | Google Maps API key. Required if not provided via connection metadata. The Maps Embed API only supports API key authentication, not OAuth. |
| `view_params`       | object |          | —              | Parameters for 'view' mode.                                                                                                                |
| `place_params`      | object |          | —              | Parameters for 'place' mode.                                                                                                               |
| `search_params`     | object |          | —              | Parameters for 'search' mode.                                                                                                              |
| `directions_params` | object |          | —              | Parameters for 'directions' mode.                                                                                                          |
| `streetview_params` | object |          | —              | Parameters for 'streetview' mode.                                                                                                          |

***

### `Google Maps Nearby Search`

Integration name: **GOOGLE\_MAPS\_NEARBY\_SEARCH**

Searches for places (e.g., restaurants, parks) within a specified circular area, with options to filter by place types and customize the returned fields and number of results.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type    | Required | Example                | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ---------------- | ------- | :------: | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `radius`         | number  |     ✅    | `1500`                 | Radius of the circular search area in meters.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `latitude`       | number  |     ✅    | `-33.8670522`          | Latitude coordinate of the search center in decimal degrees.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `fieldMask`      | string  |          | `"places.displayName"` | Comma-separated list of place fields for the response. Fields are automatically prefixed with 'places.' if missing. Common fields: displayName, formattedAddress, id, types, rating, userRatingCount, location, businessStatus, regularOpeningHours, photos, reviews. Use '\*' for all fields (not recommended for production). Valid field names include: displayName, formattedAddress, shortFormattedAddress, id, types, primaryType, primaryTypeDisplayName, location, viewport, plusCode, rating, userRatingCount, reviews, regularOpeningHours, currentOpeningHours, photos, websiteUri, googleMapsUri, businessStatus, priceLevel, priceRange, addressComponents, utcOffsetMinutes, internationalPhoneNumber, nationalPhoneNumber, editorialSummary, accessibilityOptions, parkingOptions, paymentOptions, delivery, dineIn, takeout, reservable, servesBreakfast, servesLunch, servesDinner, servesBeer, servesWine, allowsDogs, outdoorSeating, liveMusic, goodForChildren, goodForGroups. |
| `longitude`      | number  |     ✅    | `151.1957362`          | Longitude coordinate of the search center in decimal degrees.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `excludedTypes`  | array   |          | `["cafe"]`             | List of place types to exclude from Table A. Results matching any of these types are omitted. Up to 50 types allowed. Must be provided as a list, e.g., \['cafe'] for a single type or \['cafe', 'store'] for multiple types. Must use valid Table A types only.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `includedTypes`  | array   |          | `["restaurant"]`       | List of place types to include from Table A. Results will match at least one of these types. Up to 50 types allowed. Must be provided as a list, e.g., \['restaurant'] for a single type or \['atm', 'bank'] for multiple types. Common types: restaurant, cafe, bank, atm, hospital, pharmacy, school, park, gym, hotel, airport, gas\_station. IMPORTANT: 'food' is NOT a valid type (it's in Table B); use specific types like restaurant, cafe, bakery, fast\_food\_restaurant instead. Note: 'locality' is valid, but 'city', 'town', 'sublocality', 'landmark', and 'point\_of\_interest' are NOT valid for filtering.                                                                                                                                                                                                                                                                                                                                                                        |
| `maxResultCount` | integer |          | `5`                    | Maximum number of search results to return. Valid range: 1-20. The actual count may be lower based on available places.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

***

### `Google Maps Place Photo`

Integration name: **GOOGLE\_MAPS\_PLACE\_PHOTO**

Retrieves high quality photographic content from the Google Maps Places database. Use when you need to download a place photo using a photo\_reference obtained from Place Details, Nearby Search, or Text Search requests. Images are scaled proportionally to fit within specified dimensions.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type    | Required | Example                                                                                                                                                                                  | Description                                                                                                                                                                                                                                                                                                                                                               |
| ----------------- | ------- | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `maxwidth`        | integer |          | `400`                                                                                                                                                                                    | Maximum desired width of the image in pixels (1-1600). Image will be scaled proportionally. You must specify either maxwidth, maxheight, or both.                                                                                                                                                                                                                         |
| `maxheight`       | integer |          | `400`                                                                                                                                                                                    | Maximum desired height of the image in pixels (1-1600). Image will be scaled proportionally. You must specify either maxwidth, maxheight, or both.                                                                                                                                                                                                                        |
| `photo_reference` | string  |     ✅    | `"ATJ83zhSSAtkh5LTozXMhBghqubeOxnZWUV2m7Hv2tQaIzKQJgvZk9eCaEjBW0r0Zx1oJ9RF1G7oeM34sQQMOv8s2zA0sgGBiyBgvdyMxeVByRgHUXmv-rkJ2wyvNv17jyTSySm_-_6R2B0v4eKX257HOxvXlx_TSwp2NrICKrZM2d5d2P4q"` | A string identifier that uniquely identifies a photo. Can be either: (1) A full photo resource name in format 'places/{place\_id}/photos/{photo}' from the new Places API, or (2) Just the photo reference string from legacy API. Obtained from Place Details, Nearby Search, or Text Search requests. Note: Photo references cannot be cached and may expire over time. |

***

### `Google Maps Render Aerial Video`

Integration name: **GOOGLE\_MAPS\_RENDER\_AERIAL\_VIDEO**

Starts rendering an aerial view video for a US postal address. Returns a video ID that can be used with lookupVideo to retrieve the video once rendering completes. Rendering typically takes up to a few hours.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                                | Description                                                                                                               |
| --------- | ------ | :------: | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| `address` | string |     ✅    | `"1600 Amphitheatre Parkway, Mountain View, CA 94043"` | US postal address for which to render aerial video. Must be a valid US address with street, city, state, and postal code. |

***

### `Google Maps Text Search`

Integration name: **GOOGLE\_MAPS\_TEXT\_SEARCH**

Searches for places on Google Maps using a textual query (e.g., "restaurants in London", "Eiffel Tower"). Results may include CLOSED\_PERMANENTLY or TEMPORARILY\_CLOSED places — filter by businessStatus=OPERATIONAL. Include city/region and business type in textQuery to avoid empty or irrelevant results. Deduplicate using id or formattedAddress, not name alone. Throttle to \~1 req/s; OVER\_QUERY\_LIMIT (HTTP 429) requires exponential backoff.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type    | Required | Example                                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------- | ------- | :------: | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `fieldMask`      | string  |          | `"displayName,formattedAddress,rating"` | Comma-separated list of place fields to return. Common fields include: displayName, formattedAddress, types, rating, userRatingCount, priceLevel, websiteUri, nationalPhoneNumber, internationalPhoneNumber, regularOpeningHours, location, photos, googleMapsUri, businessStatus, id. The 'places.' prefix is optional and will be added automatically. Use '\*' for all fields (not recommended for performance/cost). Common aliases are supported: 'name'->displayName, 'address'->formattedAddress, 'url'/'website'->websiteUri, 'type'->types, 'phone'->nationalPhoneNumber. Invalid field names (e.g., places.phoneNumber instead of places.nationalPhoneNumber) cause errors. Many fields (rating, websiteUri, regularOpeningHours, nationalPhoneNumber) may be absent even when requested — handle nulls. |
| `textQuery`      | string  |     ✅    | `"restaurants in London"`               | Text query for searching places. Matched against place name, address, and category. Underspecified queries (missing city, region, or business type) yield empty or irrelevant results. Brand-name-only queries return multiple franchise branches — validate formattedAddress against the intended location.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `maxResultCount` | integer |          | `5`                                     | Maximum number of place results to return (must be 1-20). Note: Google prefers `pageSize`, but this action uses `maxResultCount`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

***

### `Google Maps Tiles Create Session`

Integration name: **GOOGLE\_MAPS\_TILES\_CREATE\_SESSION**

Tool to create a session token required for accessing 2D Tiles and Street View imagery. Use when you need to initialize tile-based map rendering or street view display. The session token is valid for approximately two weeks and must be included in all subsequent tile requests. Each call consumes quota — cache and reuse the returned token across all tile requests within its validity window rather than creating a new session per request.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type    | Required | Example                                                                             | Description                                                                                                                                                                                     |
| ------------- | ------- | :------: | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scale`       | string  |          | `"scaleFactor1x"`                                                                   | Label scaling factor for high-resolution displays. Valid values: 'scaleFactor1x' (standard), 'scaleFactor2x' (2x resolution), or 'scaleFactor4x' (4x resolution).                               |
| `region`      | string  |     ✅    | `"US"`                                                                              | Two-letter CLDR region code representing the user's location (e.g., 'US', 'GB', 'FR'). This helps Google Maps provide region-specific content.                                                  |
| `styles`      | array   |          | `[{"stylers":[{"color":"#ffffff"}],"elementType":"geometry","featureType":"road"}]` | JSON style objects for customizing map appearance (roadmap only). Allows custom styling of map features like roads, buildings, and landmarks.                                                   |
| `highDpi`     | boolean |          | `true`                                                                              | Enable high-resolution tiles for high DPI displays. Works only with 2x or 4x scale factors. Set to true for sharper images on high-resolution screens.                                          |
| `mapType`     | string  |     ✅    | `"roadmap"`                                                                         | Base map type. Valid values: 'roadmap' for standard road map, 'satellite' for satellite imagery, 'terrain' for terrain maps, or 'streetview' for street view imagery.                           |
| `overlay`     | boolean |          | `true`                                                                              | Render map layers separately (true) or combined into a single image (false). Set to true if you want individual overlay layers.                                                                 |
| `language`    | string  |     ✅    | `"en-US"`                                                                           | IETF language tag specifying the display language for map labels and information (e.g., 'en-US', 'es-ES', 'fr-FR').                                                                             |
| `layerTypes`  | array   |          | `["layerRoadmap"]`                                                                  | Overlay options for the map. Valid values: 'layerRoadmap' (road overlay), 'layerStreetview' (street view overlay), 'layerTraffic' (traffic layer). Note: terrain mapType requires layerRoadmap. |
| `imageFormat` | string  |          | `"jpeg"`                                                                            | Output format for tile images. Valid values: 'jpeg' or 'png'. If omitted, the format will be auto-selected by the API.                                                                          |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/google-maps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
