Google Maps

Geocoding, directions, places, and distance calculations

Google Maps is a comprehensive platform offering a wide array of APIs for mapping, geocoding, routing, places, environment data, and more. Through Sim, your agents can leverage key Google Maps Platform APIs to automate a variety of location-based workflows.

The following Google Maps APIs are included in this integration:

  • Geocoding API: Convert addresses into latitude/longitude coordinates and perform reverse geocoding.
  • Directions API: Calculate driving, walking, cycling, or transit directions and routes between locations.
  • Distance Matrix API: Compute travel distances and times for multiple origin and destination combinations.
  • Places API: Search for places (businesses, landmarks, establishments) by name, type, or proximity.
  • Place Details API: Retrieve detailed information for a specific place, such as address, ratings, hours, and contact info.
  • Elevation API: Obtain elevation data (height above sea level) for any set of locations globally.
  • Time Zone API: Look up time zone information for any geographic location.
  • Air Quality API: Fetch real-time air quality data for specific coordinates.

With these APIs, your Sim agents can automate location lookup and enrichment, plan optimal routes and deliveries, estimate times and distances, analyze place data, enrich records with geographic context, get environmental conditions, and more—all without manual work or external tools.

If you need capabilities beyond what's listed here or want to request support for additional Google Maps APIs, let us know!

Usage Instructions

Integrate Google Maps Platform APIs into your workflow. Supports geocoding addresses to coordinates, reverse geocoding, getting directions between locations, calculating distance matrices, searching for places, retrieving place details, elevation data, and timezone information.

Tools

google_maps_air_quality

Get current air quality data for a location

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key with Air Quality API enabled
latnumberYesLatitude coordinate
lngnumberYesLongitude coordinate
languageCodestringNoLanguage code for the response (e.g., "en", "es")

Output

ParameterTypeDescription
dateTimestringTimestamp of the air quality data
regionCodestringRegion code for the location
indexesarrayArray of air quality indexes
codestringIndex code (e.g., "uaqi", "usa_epa")
displayNamestringDisplay name of the index
aqinumberAir quality index value
aqiDisplaystringFormatted AQI display string
colorobjectRGB color for the AQI level
categorystringCategory description (e.g., "Good", "Moderate")
dominantPollutantstringThe dominant pollutant
pollutantsarrayArray of pollutant concentrations
codestringPollutant code (e.g., "pm25", "o3")
displayNamestringDisplay name
fullNamestringFull pollutant name
concentrationobjectConcentration info
valuenumberConcentration value
unitsstringUnits (e.g., "PARTS_PER_BILLION")
additionalInfoobjectAdditional info about sources and effects
healthRecommendationsobjectHealth recommendations for different populations

google_maps_directions

Get directions and route information between two locations

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
originstringYesStarting location (address or lat,lng)
destinationstringYesDestination location (address or lat,lng)
modestringNoTravel mode: driving, walking, bicycling, or transit
avoidstringNoFeatures to avoid: tolls, highways, or ferries
waypointsjsonNoArray of intermediate waypoints
unitsstringNoUnit system: metric or imperial
languagestringNoLanguage code for results (e.g., en, es, fr)

Output

ParameterTypeDescription
routesarrayAll available routes
summarystringRoute summary (main road names)
legsarrayRoute legs (segments between waypoints)
overviewPolylinestringEncoded polyline for the entire route
warningsarrayRoute warnings
waypointOrderarrayOptimized waypoint order (if requested)
distanceTextstringTotal distance as human-readable text (e.g., "5.2 km")
distanceMetersnumberTotal distance in meters
durationTextstringTotal duration as human-readable text (e.g., "15 mins")
durationSecondsnumberTotal duration in seconds
startAddressstringResolved starting address
endAddressstringResolved ending address
stepsarrayTurn-by-turn navigation instructions
instructionstringNavigation instruction (HTML stripped)
distanceTextstringStep distance as text
distanceMetersnumberStep distance in meters
durationTextstringStep duration as text
durationSecondsnumberStep duration in seconds
startLocationobjectStep start coordinates
endLocationobjectStep end coordinates
travelModestringTravel mode for this step
maneuverstringManeuver type (turn-left, etc.)
polylinestringEncoded polyline for the primary route

google_maps_distance_matrix

Calculate travel distance and time between multiple origins and destinations

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
originstringYesOrigin location (address or lat,lng)
destinationsjsonYesArray of destination locations
modestringNoTravel mode: driving, walking, bicycling, or transit
avoidstringNoFeatures to avoid: tolls, highways, or ferries
unitsstringNoUnit system: metric or imperial
languagestringNoLanguage code for results (e.g., en, es, fr)

Output

ParameterTypeDescription
originAddressesarrayResolved origin addresses
destinationAddressesarrayResolved destination addresses
rowsarrayDistance matrix rows (one per origin)
elementsarrayElements (one per destination)
distanceTextstringDistance as text (e.g., "5.2 km")
distanceMetersnumberDistance in meters
durationTextstringDuration as text (e.g., "15 mins")
durationSecondsnumberDuration in seconds
durationInTrafficTextstringDuration in traffic as text
durationInTrafficSecondsnumberDuration in traffic in seconds
statusstringElement status (OK, NOT_FOUND, ZERO_RESULTS)

google_maps_elevation

Get elevation data for a location

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
latnumberYesLatitude coordinate
lngnumberYesLongitude coordinate

Output

ParameterTypeDescription
elevationnumberElevation in meters above sea level (negative for below)
latnumberLatitude of the elevation sample
lngnumberLongitude of the elevation sample
resolutionnumberMaximum distance between data points (meters) from which elevation was interpolated

google_maps_geocode

Convert an address into geographic coordinates (latitude and longitude)

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
addressstringYesThe address to geocode
languagestringNoLanguage code for results (e.g., en, es, fr)
regionstringNoRegion bias as a ccTLD code (e.g., us, uk)

Output

ParameterTypeDescription
formattedAddressstringThe formatted address string
latnumberLatitude coordinate
lngnumberLongitude coordinate
locationjsonLocation object with lat and lng
placeIdstringGoogle Place ID for this location
addressComponentsarrayDetailed address components
longNamestringFull name of the component
shortNamestringAbbreviated name
typesarrayComponent types
locationTypestringLocation accuracy type (ROOFTOP, RANGE_INTERPOLATED, etc.)

google_maps_geolocate

Geolocate a device using WiFi access points, cell towers, or IP address

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key with Geolocation API enabled
homeMobileCountryCodenumberNoHome mobile country code (MCC)
homeMobileNetworkCodenumberNoHome mobile network code (MNC)
radioTypestringNoRadio type: lte, gsm, cdma, wcdma, or nr
carrierstringNoCarrier name
considerIpbooleanNoWhether to use IP address for geolocation (default: true)
cellTowersarrayNoArray of cell tower objects with cellId, locationAreaCode, mobileCountryCode, mobileNetworkCode
wifiAccessPointsarrayNoArray of WiFi access point objects with macAddress (required), signalStrength, etc.

Output

ParameterTypeDescription
latnumberLatitude coordinate
lngnumberLongitude coordinate
accuracynumberAccuracy radius in meters

google_maps_place_details

Get detailed information about a specific place

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
placeIdstringYesGoogle Place ID
fieldsstringNoComma-separated list of fields to return
languagestringNoLanguage code for results (e.g., en, es, fr)

Output

ParameterTypeDescription
placeIdstringGoogle Place ID
namestringPlace name
formattedAddressstringFormatted street address
latnumberLatitude coordinate
lngnumberLongitude coordinate
typesarrayPlace types (e.g., restaurant, cafe)
ratingnumberAverage rating (1.0 to 5.0)
userRatingsTotalnumberTotal number of user ratings
priceLevelnumberPrice level (0=Free, 1=Inexpensive, 2=Moderate, 3=Expensive, 4=Very Expensive)
websitestringPlace website URL
phoneNumberstringLocal formatted phone number
internationalPhoneNumberstringInternational formatted phone number
openNowbooleanWhether the place is currently open
weekdayTextarrayOpening hours formatted by day of week
reviewsarrayUser reviews (up to 5 most relevant)
authorNamestringReviewer name
authorUrlstringReviewer profile URL
profilePhotoUrlstringReviewer photo URL
ratingnumberRating given (1-5)
textstringReview text
timenumberReview timestamp (Unix epoch)
relativeTimeDescriptionstringRelative time (e.g., "a month ago")
photosarrayPlace photos
photoReferencestringPhoto reference for Place Photos API
heightnumberPhoto height in pixels
widthnumberPhoto width in pixels
htmlAttributionsarrayRequired attributions
urlstringGoogle Maps URL for the place
utcOffsetnumberUTC offset in minutes
vicinitystringSimplified address (neighborhood/street)
businessStatusstringBusiness status (OPERATIONAL, CLOSED_TEMPORARILY, CLOSED_PERMANENTLY)

Search for places using a text query

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
querystringYesSearch query (e.g., "restaurants in Times Square")
locationjsonNoLocation to bias results towards ({lat, lng})
radiusnumberNoSearch radius in meters
typestringNoPlace type filter (e.g., restaurant, cafe, hotel)
languagestringNoLanguage code for results (e.g., en, es, fr)
regionstringNoRegion bias as a ccTLD code (e.g., us, uk)

Output

ParameterTypeDescription
placesarrayList of places found
placeIdstringGoogle Place ID
namestringPlace name
formattedAddressstringFormatted address
latnumberLatitude
lngnumberLongitude
typesarrayPlace types
ratingnumberAverage rating (1-5)
userRatingsTotalnumberNumber of ratings
priceLevelnumberPrice level (0-4)
openNowbooleanWhether currently open
photoReferencestringPhoto reference for Photos API
businessStatusstringBusiness status
nextPageTokenstringToken for fetching the next page of results

google_maps_reverse_geocode

Convert geographic coordinates (latitude and longitude) into a human-readable address

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
latnumberYesLatitude coordinate
lngnumberYesLongitude coordinate
languagestringNoLanguage code for results (e.g., en, es, fr)

Output

ParameterTypeDescription
formattedAddressstringThe formatted address string
placeIdstringGoogle Place ID for this location
addressComponentsarrayDetailed address components
longNamestringFull name of the component
shortNamestringAbbreviated name
typesarrayComponent types
typesarrayAddress types (e.g., street_address, route)

google_maps_snap_to_roads

Snap GPS coordinates to the nearest road segment

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key with Roads API enabled
pathstringYesPipe-separated list of lat,lng coordinates (e.g., "60.170880,24.942795|60.170879,24.942796")
interpolatebooleanNoWhether to interpolate additional points along the road

Output

ParameterTypeDescription
snappedPointsarrayArray of snapped points on roads
locationobjectSnapped location coordinates
latnumberLatitude
lngnumberLongitude
originalIndexnumberIndex in the original path (if not interpolated)
placeIdstringPlace ID for this road segment
warningMessagestringWarning message if any (e.g., if points could not be snapped)

google_maps_speed_limits

Get speed limits for road segments. Requires either path coordinates or placeIds.

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key with Roads API enabled
pathstringNoPipe-separated list of lat,lng coordinates (required if placeIds not provided)
placeIdsarrayNoArray of Place IDs for road segments (required if path not provided)

Output

ParameterTypeDescription
speedLimitsarrayArray of speed limits for road segments
placeIdstringPlace ID for the road segment
speedLimitnumberSpeed limit value
unitsstringSpeed limit units (KPH or MPH)
snappedPointsarrayArray of snapped points corresponding to the speed limits
locationobjectSnapped location coordinates
latnumberLatitude
lngnumberLongitude
originalIndexnumberIndex in the original path
placeIdstringPlace ID for this road segment

google_maps_timezone

Get timezone information for a location

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key
latnumberYesLatitude coordinate
lngnumberYesLongitude coordinate
timestampnumberNoUnix timestamp to determine DST offset (defaults to current time)
languagestringNoLanguage code for timezone name (e.g., en, es, fr)

Output

ParameterTypeDescription
timeZoneIdstringIANA timezone ID (e.g., "America/New_York", "Europe/London")
timeZoneNamestringLocalized timezone name (e.g., "Eastern Daylight Time")
rawOffsetnumberUTC offset in seconds (without DST)
dstOffsetnumberDaylight Saving Time offset in seconds (0 if not in DST)
totalOffsetSecondsnumberTotal UTC offset in seconds (rawOffset + dstOffset)
totalOffsetHoursnumberTotal UTC offset in hours (e.g., -5 for EST, -4 for EDT)

google_maps_validate_address

Validate and standardize a postal address

Input

ParameterTypeRequiredDescription
apiKeystringYesGoogle Maps API key with Address Validation API enabled
addressstringYesThe address to validate (as a single string)
regionCodestringNoISO 3166-1 alpha-2 country code (e.g., "US", "CA")
localitystringNoCity or locality name
enableUspsCassbooleanNoEnable USPS CASS validation for US addresses

Output

ParameterTypeDescription
formattedAddressstringThe standardized formatted address
latnumberLatitude coordinate
lngnumberLongitude coordinate
placeIdstringGoogle Place ID for this address
addressCompletebooleanWhether the address is complete and deliverable
hasUnconfirmedComponentsbooleanWhether some address components could not be confirmed
hasInferredComponentsbooleanWhether some components were inferred (not in input)
hasReplacedComponentsbooleanWhether some components were replaced with canonical values
validationGranularitystringGranularity of validation (PREMISE, SUB_PREMISE, ROUTE, etc.)
geocodeGranularitystringGranularity of the geocode result
addressComponentsarrayDetailed address components
longNamestringFull name of the component
shortNamestringAbbreviated name
typesarrayComponent types
missingComponentTypesarrayTypes of address components that are missing
unconfirmedComponentTypesarrayTypes of components that could not be confirmed
unresolvedTokensarrayInput tokens that could not be resolved

On this page

Start building today
Trusted by over 60,000 builders.
Build Agentic workflows visually on a drag-and-drop canvas or with natural language.
Get started