Google Maps
Overview
Section titled “Overview”Google Maps is Google’s mapping and location platform, offering geocoding, directions, place search, satellite imagery, and customizable map tiles. With the Google Maps integration in SquadOS, your agents can convert addresses to coordinates, calculate distances and travel times between multiple points, search for nearby businesses, and retrieve rich place details — all via API, without opening a browser.
- Official website: https://maps.google.com/
- Composio documentation: docs.composio.dev/toolkits/google_maps
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) or API key (API_KEY) to connect.
You will need the following fields (for API key connections):
| Field | Required | Description |
|---|---|---|
api_key | Yes | Google Maps Platform API key generated in the Google Cloud Console, with the required APIs enabled. |
How to get credentials
Section titled “How to get credentials”OAuth 2.0 (recommended)
Section titled “OAuth 2.0 (recommended)”Composio provides a managed OAuth app for Google Maps. To use your own OAuth credentials (white-label):
- Go to the Google Cloud Console and create or select a project.
- Under APIs & Services → Credentials, click Create credentials → OAuth client ID.
- Configure the consent screen (type External for general users).
- Note the generated Client ID and Client Secret.
- Follow the full guide at composio.dev/auth/googleapps to configure the Composio redirect URL.
API key
Section titled “API key”- Go to the Google Cloud Console and select your project.
- Under APIs & Services → Credentials, click Create credentials → API key.
- Copy the generated key.
- Under APIs & Services → Library, enable the Maps Platform APIs your agents need (e.g., Maps JavaScript API, Places API, Routes API, Geocoding API).
- (Recommended) Restrict the key by IP or HTTP referrer to limit unauthorized use.
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Google Maps. - Click the card to open the details modal and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you authorize access via OAuth 2.0 or enter the API key obtained above.
- Once done, you’re sent back to SquadOS with the account connected and the tool available for your agents. (Connection-flow details in Organization Tools.)
How do I set up custom Google OAuth credentials for Google Maps?
Section titled “How do I set up custom Google OAuth credentials for Google Maps?”For a step-by-step guide on creating and configuring your own Google OAuth credentials with Composio, see composio.dev/auth/googleapps.
Why am I seeing “App is blocked” when connecting Google Maps?
Section titled “Why am I seeing “App is blocked” when connecting Google Maps?”The OAuth client is requesting scopes that Google hasn’t verified for that client. This usually happens when you add extra scopes beyond the defaults. Remove the additional scopes from your auth config, or create your own OAuth app and submit the scopes for verification. See composio.dev/auth/googleapps.
Why am I getting “Google Maps API has not been used in project” error?
Section titled “Why am I getting “Google Maps API has not been used in project” error?”When using custom OAuth credentials, the Google Maps API must be enabled in the Google Cloud project that owns those credentials. Enable it in Google Cloud Console under APIs & Services, wait a few minutes, and retry.
Why am I getting “Error 400: invalid_scope”?
Section titled “Why am I getting “Error 400: invalid_scope”?”The requested scopes are invalid or incorrectly formatted in the authorization URL. Verify your scope values against the Google OAuth scopes docs.
Why does the OAuth consent screen show “Composio” instead of my app?
Section titled “Why does the OAuth consent screen show “Composio” instead of my app?”By default, the consent screen uses Composio’s OAuth app. To show your own app name and logo, create your own OAuth app and set a custom redirect URL. See White-labeling authentication.
Why am I getting 401 errors on tool calls?
Section titled “Why am I getting 401 errors on tool calls?”The user’s access token is no longer valid. Common causes: the user revoked access, changed their password or 2FA, a Workspace admin policy changed, or Google’s refresh token limit (~50 per account) was exceeded. Re-authenticating the user typically resolves this.
Available actions
Section titled “Available actions”Autocomplete Place Predictions
Section titled “Autocomplete Place Predictions”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
input | string | Yes | Text string to search for place predictions. Can be full words, substrings, place names, addresses, or plus codes. Must be non-empty. |
origin | object | No | Latitude/longitude point for distance calculations. |
regionCode | string | No | Region code in ccTLD format for formatting responses (e.g., us, br). |
inputOffset | integer | No | Zero-based Unicode character offset of cursor position in the input string. |
languageCode | string | No | Preferred language for results using IETF BCP-47 language codes (e.g., en-US, es-ES). |
locationBias | object | No | Area to bias search results toward. |
sessionToken | string | No | User-generated string grouping calls into sessions for billing purposes. |
includedRegionCodes | array | No | Up to 15 two-character country codes (ISO 3166-1 Alpha-2) to restrict results. Query predictions unavailable when this is set. |
locationRestriction | object | No | Area to restrict search results within. |
includedPrimaryTypes | array | No | Restricts results to up to five specified primary types (e.g., restaurant, cafe). |
includeQueryPredictions | boolean | No | Includes query predictions in response for text searches (default: false). |
includePureServiceAreaBusinesses | boolean | No | Includes businesses without physical locations (default: false). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Compute Route Matrix
Section titled “Compute Route Matrix”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
units | string (METRIC | IMPERIAL) | No | Unit system (e.g., METRIC for kilometers, IMPERIAL for miles) for displaying distances. distanceMeters in responses is always in meters regardless of this setting; units affects only human-readable text output. |
origins | array | Yes | List of origin locations. Each can be specified as an address or latitude/longitude coordinates. |
fieldMask | string | No | Comma-separated list of response fields to include (e.g., originIndex,destinationIndex,duration,distanceMeters). Use * for all fields. |
travelMode | string (DRIVE | BICYCLE | WALK | TWO_WHEELER | TRANSIT) | No | Mode of transportation for the route matrix calculation. |
destinations | array | Yes | List of destination locations. Each can be specified as an address or latitude/longitude coordinates. |
languageCode | string | No | BCP-47 language code (e.g., en-US, es) for textual information. |
routingPreference | string (ROUTING_PREFERENCE_UNSPECIFIED | TRAFFIC_UNAWARE | TRAFFIC_AWARE | TRAFFIC_AWARE_OPTIMAL) | No | Specifies factors to consider when calculating the route. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Distance Matrix (Legacy)
Section titled “Distance Matrix (Legacy)”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
key | string | No | Your application’s API key. This key identifies your application for purposes of quota management. |
mode | string (driving | walking | bicycling | transit) | No | Specifies the mode of transport to use. |
avoid | string (tolls | highways | ferries | indoor) | No | Indicates that the calculated route should avoid the specified features. Multiple values can be pipe-separated, e.g., tolls|highways. |
units | string (metric | imperial) | No | Specifies the unit system to use when displaying results. The default is metric. |
region | string | No | The region code, specified as a ccTLD two-character value. Helps influence results based on the region. |
origins | string | Yes | The starting point for calculating travel distance and time. Supply one or more locations separated by the pipe character (|), in the form of a place ID (prefixed with place_id:), an address, latitude/longitude coordinates, a plus code, or an encoded polyline (prefixed with enc: and a colon). |
language | string | No | The language in which to return results. |
arrival_time | integer | No | Desired arrival time for transit directions, in seconds since midnight, January 1, 1970 UTC. Cannot be used together with departure_time. |
destinations | string | Yes | One or more locations to use as the finishing point. Accepts the same formats as origins. |
transit_mode | string (bus | subway | train | tram | rail) | No | Specifies one or more preferred modes of transit. Only for transit directions. Multiple values can be pipe-separated, e.g., bus|train. |
traffic_model | string (best_guess | pessimistic | optimistic) | No | Specifies assumptions for calculating time in traffic. Only used if the request includes departure_time and mode is driving. |
departure_time | string | No | Desired departure time. Specify 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 | fewer_transfers) | No | Specifies preferences for transit routes. Only for transit directions. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Geocode Address
Section titled “Geocode Address”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
key | string | No | Your application’s API key. 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 | No | Bounding box of the viewport within which to bias geocode results. Format: southwest_lat,southwest_lng|northeast_lat,northeast_lng. Influences, but does not fully restrict, results. |
region | string | No | Region code specified as a ccTLD two-character value. Influences, but does not fully restrict, results. |
address | string | No | The street address to geocode, in the format used by the national postal service. If both address and components are provided, address takes precedence. |
language | string | No | Language in which to return results. |
components | string | No | Component filters separated by a pipe (|). Each filter is a component:value pair. Examples: country:US or postal_code:94043|country:US. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Geocode Address With Query
Section titled “Geocode Address With Query”GOOGLE_MAPS_GEOCODE_ADDRESS_WITH_QUERY
Maps addresses to geographic coordinates using the modern v4beta API. Results may match multiple places — always verify formattedAddress, region, and addressComponents in the response before using returned coordinates.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
region_code | string | No | Region code, specified as a ccTLD two-character value (e.g., US, FR). Affects results based on applicable law. |
address_query | string | Yes | The unstructured address to geocode. 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 | No | Language in which the results should be returned (e.g., en, es, fr). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Geocode Destinations
Section titled “Geocode Destinations”GOOGLE_MAPS_GEOCODE_DESTINATIONS
Performs destination lookup and returns 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
place | string | No | Resource name in format places/{placeId} to retrieve destination by Place ID. |
regionCode | string | No | Two-character ccTLD region code for formatting/filtering (e.g., US, UK). |
travelModes | array | No | Filter navigation points by travel mode. Supported values: DRIVE, WALK. |
addressQuery | object | No | Address query in unstructured or structured format. |
languageCode | string | No | Preferred language code for results (e.g., en, es, fr). |
locationQuery | object | No | Location query using geographic coordinates. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Reverse Geocode Location
Section titled “Reverse Geocode Location”GOOGLE_MAPS_GEOCODE_LOCATION
Converts geographic coordinates (latitude and longitude) to human-readable addresses using reverse geocoding. A single coordinate pair may return multiple results; verify formattedAddress, region, and addressComponents before committing to a result.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
types | array | No | Set of type tags to restrict results; results without specified types are removed. |
latitude | number | Yes | Latitude coordinate in degrees, range [-90.0, +90.0]. |
longitude | number | Yes | Longitude coordinate in degrees, range [-180.0, +180.0]. |
regionCode | string | No | Region code specified as a ccTLD two-character value, affecting results based on applicable law. |
languageCode | string | No | Language code in which the results should be returned (BCP-47 format). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Geocode Place by ID
Section titled “Geocode Place by ID”GOOGLE_MAPS_GEOCODE_PLACE
Performs 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
place_id | string | Yes | 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 | No | Region code specified as a ccTLD two-character value, affecting results based on applicable law and address formatting. |
languageCode | string | No | Language code in which the results should be returned (BCP-47 format). Defaults to en if not specified. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Geocoding API
Section titled “Geocoding API”GOOGLE_MAPS_GEOCODING_API
Converts addresses into geographic coordinates (latitude and longitude) and vice versa (reverse geocoding), or gets 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
key | string | No | Your application’s API key. If not provided, will be extracted from connection metadata. |
bounds | string | No | The bounding box of the viewport within which to bias geocode results (e.g., 34.172684,-118.604794|34.236144,-118.500938). Influences, but does not fully restrict, results. |
latlng | string | No | The latitude and longitude coordinates for reverse geocoding (e.g., 40.714224,-73.961452). |
region | string | No | The region code, specified as a ccTLD two-character value. Influences, but does not fully restrict, results. |
address | string | No | The street address or plus code to geocode. |
language | string | No | The language in which to return results. |
place_id | string | No | The place ID for which to obtain the human-readable address. |
components | string | No | A components filter with elements separated by a pipe (|). E.g., postal_code:94043|country:US. Supplying only components without address may return ZERO_RESULTS for some queries. |
result_type | string | No | A filter of one or more address types, separated by a pipe (|). E.g., street_address|locality. Used for reverse geocoding. |
location_type | string | No | A filter of one or more location types, separated by a pipe (|). E.g., ROOFTOP|RANGE_INTERPOLATED. Used for reverse geocoding. |
extra_computations | array | No | Specifies additional features in the response. Can select multiple values. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Geolocate Device
Section titled “Geolocate Device”GOOGLE_MAPS_GEOLOCATE
Determines 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
carrier | string | No | Carrier name. |
radioType | string (gsm | cdma | wcdma | lte | nr) | No | Radio type. Defaults to gsm. |
cellTowers | array | No | Array of cell tower objects. |
considerIp | boolean | No | Whether to fall back to IP geolocation if WiFi and cell tower signals are missing. Defaults to true. |
wifiAccessPoints | array | No | Array of WiFi access point objects (minimum 2 required for success). |
homeMobileCountryCode | integer | No | Mobile country code for device’s home network. Range: 0–999. |
homeMobileNetworkCode | integer | No | MNC for GSM/WCDMA/LTE/NR (0–999); SID for CDMA (0–32767). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get 2D Map Tile
Section titled “Get 2D Map Tile”GOOGLE_MAPS_GET2D_TILE
Retrieves 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
x | integer | Yes | Tile column coordinate. Valid range: [0, (2^zoom)-1]. |
y | integer | Yes | Tile row coordinate. Valid range: [0, (2^zoom)-1]. |
z | integer | Yes | Zoom level ranging from 0 (entire world) to 22 (highly detailed). |
key | string | No | Google API key for authentication. If not provided, will be extracted from connection metadata. Required if not using Bearer token authentication. |
session | string | Yes | Session token UUID obtained from the /v1/createSession endpoint. Valid for approximately two weeks. Reuse across multiple tile requests; each createSession call consumes quota. |
orientation | integer | No | Rotation parameter in degrees counter-clockwise. Valid values: 0, 90, 180, or 270. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get 3D Tiles Root
Section titled “Get 3D Tiles Root”GOOGLE_MAPS_GET3D_TILES_ROOT
Retrieves 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
key | string | No | Your Google Maps API key with Map Tiles API enabled. If not provided, will be extracted from connection metadata. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Directions
Section titled “Get Directions”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
mode | string (driving | walking | bicycling | transit) | No | The mode of transportation for which to calculate directions. |
avoid | string | No | 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 | imperial) | No | The unit system for displaying distances. Defaults to imperial. |
origin | string | Yes | The starting point for the directions. 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 | No | The language code for returning results, e.g., en for English, es for Spanish. Defaults to en. |
waypoints | string | No | A pipe-separated (|) string of intermediate locations (addresses, place names, or coordinates) to visit between the origin and destination. For example: Anaheim, CA|Long Beach, CA or Hollywood Bowl|Getty Center. |
destination | string | Yes | The ending point for the directions. Can be a textual address, a place name, or latitude/longitude coordinates. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Place Details
Section titled “Get Place Details”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | 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 | No | 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. |
regionCode | string | No | Unicode country/region code (CLDR format) for region-specific display names. Examples: US, GB, FR, JP. |
languageCode | string | No | Preferred language code for place details (BCP-47 format). Examples: en, es, fr, ja. |
sessionToken | string | No | URL-safe base64 string (max 36 characters) for Autocomplete session billing. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Route
Section titled “Get Route”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
units | string (METRIC | IMPERIAL) | No | Unit system for displaying distances. routes.distanceMeters in the response is always in meters; units only affects human-readable distance formatting in other fields. |
fieldMask | string | No | Comma-separated list of Route object fields to include in the response. If not specified, a default fieldMask is used based on travelMode. Explicitly include all needed fields such as routes.legs.steps and routes.polyline.encodedPolyline. |
travelMode | string (DRIVE | BICYCLE | WALK | TWO_WHEELER | TRANSIT) | No | Mode of transportation for the route. |
languageCode | string | No | BCP-47 language code (e.g., en-US, es) for textual information like navigation instructions. |
origin_address | string | Yes | 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 (ROUTING_PREFERENCE_UNSPECIFIED | TRAFFIC_UNAWARE | TRAFFIC_AWARE | TRAFFIC_AWARE_OPTIMAL) | No | Specifies routing preference. Cannot be set when travelMode is WALK, BICYCLE, or TRANSIT. |
destination_address | string | Yes | Destination point for the route calculation. Can be an address or coordinates as latitude,longitude. |
computeAlternativeRoutes | boolean | No | Computes and returns alternative routes if true. |
routeModifiers_avoidTolls | boolean | No | Attempts to avoid toll roads if true. |
routeModifiers_avoidFerries | boolean | No | Attempts to avoid ferries if true. |
routeModifiers_avoidHighways | boolean | No | Attempts to avoid highways if true. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Lookup Aerial Video
Section titled “Lookup Aerial Video”GOOGLE_MAPS_LOOKUP_AERIAL_VIDEO
Looks 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
address | string | No | A US postal address. Either videoId or address must be provided, but not both. |
videoId | string | No | An ID returned from videos.renderVideo. Either videoId or address must be provided, but not both. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Embed Google Map
Section titled “Embed Google Map”GOOGLE_MAPS_MAPS_EMBED_API
Generates 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
mode | string (place | view | directions | streetview | search) | Yes | The mode of the embedded map. |
api_key | string | No | 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 | No | Parameters for view mode. |
place_params | object | No | Parameters for place mode. |
search_params | object | No | Parameters for search mode. |
directions_params | object | No | Parameters for directions mode. |
streetview_params | object | No | Parameters for streetview mode. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Nearby Search
Section titled “Nearby Search”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
radius | number | Yes | Radius of the circular search area in meters. |
latitude | number | Yes | Latitude coordinate of the search center in decimal degrees. |
fieldMask | string | No | Comma-separated list of place fields for the response. Fields are automatically prefixed with places. if missing. Use * for all fields (not recommended for production). Common fields: displayName, formattedAddress, id, types, rating, location, businessStatus, regularOpeningHours, photos. |
longitude | number | Yes | Longitude coordinate of the search center in decimal degrees. |
excludedTypes | array | No | List of place types to exclude from Table A. Results matching any of these types are omitted. Up to 50 types allowed. |
includedTypes | array | No | List of place types to include from Table A. Results will match at least one of these types. Up to 50 types allowed. Common types: restaurant, cafe, bank, atm, hospital, pharmacy, school, park, gym, hotel, airport, gas_station. |
maxResultCount | integer | No | Maximum number of search results to return. Valid range: 1–20. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Place Photo
Section titled “Get Place Photo”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
maxwidth | integer | No | 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 | No | 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 | Yes | 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 the legacy API. Note: photo references cannot be cached and may expire over time. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Render Aerial Video
Section titled “Render Aerial Video”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
address | string | Yes | US postal address for which to render aerial video. Must be a valid US address with street, city, state, and postal code. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Text Search
Section titled “Text Search”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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
fieldMask | string | No | Comma-separated list of place fields to return. The places. prefix is optional and will be added automatically. Use * for all fields (not recommended for performance/cost). Common aliases: name→displayName, address→formattedAddress, url/website→websiteUri. |
textQuery | string | Yes | 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. |
maxResultCount | integer | No | Maximum number of place results to return (must be 1–20). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Tiles Session
Section titled “Create Tiles Session”GOOGLE_MAPS_TILES_CREATE_SESSION
Creates 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.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
scale | string (scaleFactor1x | scaleFactor2x | scaleFactor4x) | No | Label scaling factor for high-resolution displays. Valid values: scaleFactor1x (standard), scaleFactor2x (2x resolution), or scaleFactor4x (4x resolution). |
region | string | Yes | Two-letter CLDR region code representing the user’s location (e.g., US, GB, FR). Helps Google Maps provide region-specific content. |
styles | array | No | JSON style objects for customizing map appearance (roadmap only). Allows custom styling of map features like roads, buildings, and landmarks. |
highDpi | boolean | No | Enable high-resolution tiles for high DPI displays. Works only with 2x or 4x scale factors. |
mapType | string (roadmap | satellite | terrain | streetview) | Yes | 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 | No | Render map layers separately (true) or combined into a single image (false). |
language | string | Yes | IETF language tag specifying the display language for map labels and information (e.g., en-US, es-ES, fr-FR). |
layerTypes | array | No | 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 | png) | No | Output format for tile images. Valid values: jpeg or png. If omitted, the format will be auto-selected by the API. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |