WorkerKit

AI workers for Google Maps

Ready-made AI workers that turn addresses into coordinates, find the nearest branch or supplier, check how long a journey really takes, and build a day's route round a set of stops. Nothing to connect; each lookup is billed to your wallet at a published price.

What is an AI worker for Google Maps?

An AI worker for Google Maps answers the where and how-far questions a business runs on: the coordinates and postal parts of an address, the businesses of a given kind around a point, the details of one place such as its phone number and opening hours, the travel time and distance between two points, and the full matrix of times from several origins to several destinations. The platform reaches Google Maps Platform under its own key, so there is no Google Cloud account to create and no key to paste; each lookup is billed to the workspace wallet at a published price that depends on how much of a place the worker asks for.

What these workers do

Clean up an address list

A spreadsheet or CRM export of customer addresses geocoded into coordinates and standardised postal parts, with the ones that only resolve to a street or a town flagged for a human rather than silently kept.

Find the nearest branch for every customer

A route matrix from each customer to every branch or engineer base, so assignment is by drive time on real roads rather than straight-line guesswork, and the result written back to the record.

Plan the day's stops

A set of visits put in the order that makes the shortest round trip, with the travel time between each pair, and the itinerary written to the calendar or the board before anyone leaves.

Check reachability before dispatch

The travel time from the depot to a job at the planned departure, with live traffic when the worker is allowed it, so a job that cannot be reached in time is flagged while there is still time to change the plan.

Enrich records with real place details

The phone number, website, opening hours and rating of a prospect's or supplier's location, looked up by name and written back to the record together with the place id for next time.

How an AI worker runs in Google Maps

Nothing to connect, and only the question goes out

The field groups are the price

Route features are refused, never downgraded

Ask the cheap question first

The map is the input, your systems are the output

Google Maps questions, answered.

Do we need a Google Cloud account or an API key?

No. The platform holds its own Google Maps Platform key and reaches Google on your behalf, so a kit that uses Google Maps installs ready to run: no account to create, no key to paste, no consent screen and no credential that can expire or leave with somebody. What you do need is a funded workspace wallet, because every lookup is billed to it at a published price.

What does a lookup cost?

Each call carries a price on the wallet's usage sheet, and a place lookup costs more the more of the place the worker asks for: names, addresses and coordinates are the cheapest usable tier; phone numbers, opening hours and ratings cost more; reviews and amenities cost the most. Route lookups cost more with live traffic, many stops, two-wheeler routing or toll estimates. The tools default to the cheap tiers, an identical question within a few minutes is answered from memory rather than billed twice, and an empty wallet refuses the call rather than running up a debt.

Can we cap what a worker spends?

Yes, at two levels. Per worker, the field groups and route features it may use are switches: a worker allowed only the basic groups cannot be talked into fetching reviews, and one without the traffic feature is refused a live ETA rather than quietly given one. Per workspace, the wallet is the ceiling, and when it is empty every metered call is refused. A per-worker rate limit is available too, for a worker that gets stuck in a loop.

Is any of our data sent to Google?

Only what the question contains: the address, the coordinates or the search text the worker asks about. No records, contacts or documents travel with a lookup, and nothing identifies your organisation to Google beyond the platform's own key. If a worker geocodes a customer's address, that address is what Google sees, which is worth remembering when you decide which workers may use the app and on whose data.

How fresh and how reliable are the answers?

Place details come from Google's live index, so opening hours and phone numbers are as current as Google's, and a place that has moved or closed answers not found rather than stale data. Travel times without traffic are typical conditions and are marked as such; with the traffic feature they are live estimates for the departure time given. Every geocoded address carries a precision marker, so a worker can tell a rooftop match from a town-level guess and treat the two differently.

What AI workers can do in Google Maps

The tools a worker can be granted in Google Maps once you connect it. A kit grants only the ones its job needs, and you can narrow them further on the worker.

Geocode an Address

Turn a street address, place name or plus code into coordinates, a formatted address, its parts (street, city, postal code, country) and a Google place id. Use this when you HAVE an address and need where it is; for a partial or ambiguous name use maps_autocomplete_places first, and for 'find me a X' use maps_search_places. Billed per call at the geocoding rate (the cheapest Maps tier). Set regionCode to bias toward a country and locationBias to prefer matches inside a rectangle. Zero results come back as an empty list with an accessInfo hint, not an error. Every result carries a granularity (ROOFTOP is exact; APPROXIMATE is a locality-level guess).

Reverse Geocode

Turn a latitude/longitude into the addresses at that point, from the exact street address down to the locality and country, each with its place id and address parts. Use this when you HAVE coordinates (from a device, a data export, or a route leg) and need a human-readable place. Billed per call at the geocoding rate. Narrow server-side with `types` (e.g. 'street_address', 'locality', 'postal_code') or `granularity` (ROOFTOP, RANGE_INTERPOLATED, GEOMETRIC_CENTER, APPROXIMATE) so you read only the level you need. A point on open water returns an empty list with an accessInfo hint.

Time Zone at a Location

Find the IANA time zone (e.g. 'America/Chicago') and the UTC offset at a coordinate for a given instant, daylight saving included. Use it to turn 'call them at 9am their time' into a real instant, or to stamp a location's local time on a schedule. Pass `timestamp` (ISO 8601) for a date other than now, because offsets change with DST. Billed per call at the cheapest tier. The response carries rawOffsetSeconds, dstOffsetSeconds, the combined utcOffset ('+02:00') and timestampLocal, the instant expressed in the LOCATION's zone (not yours). Use maps_geocode first if you only have an address.

Search Places

Free-text place search: 'pizza in Soho', 'dentists near Leeds', 'Acme Ltd Manchester'. Returns up to 20 places per page with the field GROUPS you ask for. THIS CALL IS BILLED, AND THE FIELD GROUPS SET THE PRICE: the default groups (address, location, types, basics) are the Pro tier; adding contact, hours or ratings moves the whole call to the Enterprise tier; adding reviews or amenities to the Enterprise + Atmosphere tier, which also returns far more text. Ask only for the groups you will read - it is cheaper and shorter. Groups: identity (always), address, location, types, basics (name, status, primary type, Google Maps link), photos, contact (phone, website), hours, ratings (rating, review count, price level), reviews, amenities. A group the token may not read is left out and named in accessInfo. Narrow server-side with includedType, openNow, minRating, priceLevels, a locationBias circle (prefer) or a locationRestriction rectangle (only). Each page is a separate billed call: pass nextPageToken back as pageToken with every other argument unchanged. Use maps_get_place to expand one result and maps_autocomplete_places (much cheaper) when you only need to identify a place by a partial name.

Search Nearby

Find places of given TYPES around a point: 'the pharmacies within 2 km of this coordinate', 'every car_repair within 10 km of the depot'. Unlike maps_search_places there is no free text: you give a centre, a radius (up to 50,000 m) and type filters (includedTypes / excludedTypes / includedPrimaryTypes / excludedPrimaryTypes, up to 50 each), and rank by POPULARITY (default) or DISTANCE. THIS CALL IS BILLED AT THE PRO TIER OR ABOVE, and the field GROUPS set the price: the default groups (address, location, types, basics) are Pro; contact/hours/ratings move it to Enterprise; reviews/amenities to Enterprise + Atmosphere. Ask only for what you will read. A group the token may not read is left out and named in accessInfo. Up to 20 results, no paging. Use maps_geocode first if you only have an address for the centre.

Get Place Details

Read ONE place by its Google place id, with exactly the field GROUPS you ask for. Use it to expand a result from maps_search_places, maps_autocomplete_places or maps_geocode - typically for the contact details, opening hours, rating or reviews the search did not fetch. THIS CALL IS BILLED, AND THE FIELD GROUPS SET THE PRICE: address, location and types alone are the cheap Essentials tier; basics (the place's name, status, primary type) makes it Pro; contact, hours or ratings make it Enterprise; reviews or amenities make it Enterprise + Atmosphere. Ask only for the groups you will read - if you already have the name from a search, you do not need basics again. A group the token may not read is left out and named in accessInfo. An unknown or retired id answers 404 NOT_FOUND: take ids from a fresh search or geocode response.

Autocomplete a Place

Turn a partial or ambiguous name into up to 5 place predictions, each with its place id and a two-line label (main text + secondary text such as the city). This is the CHEAPEST way to identify a place (about a tenth of a place search): use it to disambiguate 'the Hilton in Manchester' or 'Acme Ltd' before calling maps_get_place, and prefer it over maps_search_places whenever you only need to know WHICH place, not its details. Bias with a locationBias circle or restrict with a locationRestriction rectangle, filter with includedPrimaryTypes (up to 5, or '(cities)' / '(regions)') and includedRegionCodes (up to 15 two-letter codes), and pass origin to get each prediction's straight-line distance. Billed per call at the autocomplete rate.

Get a Place Photo

Turn a photo reference from a place's `photos` list into a short-lived image URI you can embed or download right away. Pass the photo's `name` exactly as returned ('places/{placeId}/photos/{ref}') and the size you want (maxWidthPx and/or maxHeightPx, 1-4800; default width 800). Billed per call at the photo rate. The URI expires within minutes, so fetch it when you are about to use it and never store it; photo names also expire, so always take them from a fresh maps_search_places or maps_get_place response (request the 'photos' field group). Display the photo's authorAttributions beside the image wherever it is shown.

Compute a Route

Route from an origin to a destination, optionally through up to 25 intermediate stops, for DRIVE (default), WALK, BICYCLE, TRANSIT or TWO_WHEELER. Each waypoint is an address, a placeId, or latitude+longitude (one form only). Returns distanceMeters, durationSeconds (with traffic when the call was traffic-aware, else typical conditions), staticDurationSeconds, a description like 'via M1', warnings, legs, and, with includeSteps, turn-by-turn instructions (steps are ON by default for TRANSIT, where the lines, stops and departure/arrival times ARE the answer). THIS CALL IS BILLED, AND SOME OPTIONS COST MORE: a plain route is the Essentials tier; routingPreference TRAFFIC_AWARE or TRAFFIC_AWARE_OPTIMAL, more than 10 intermediates, or optimizeWaypointOrder move it to Pro (2x); travelMode TWO_WHEELER or includeTolls to Enterprise (3x). Those options need the token's route features (traffic_aware, extended_waypoints, two_wheeler, tolls); without one the request is REFUSED with FEATURE_NOT_ALLOWED rather than silently downgraded, so drop the option or ask the admin. departureTime (ISO 8601) is required for a future-time ETA and must not be in the past except for TRANSIT; arrivalTime is TRANSIT only. computeAlternativeRoutes is not available with intermediates. For many origins x destinations use maps_route_matrix instead.

Compute a Route Matrix

Distance and travel time for EVERY origin x destination pair in one call: 'which of our 8 branches is closest to each of these 20 customers', 'drive time from the depot to every stop'. Returns one element per pair (origin-major order) with distanceMeters, durationSeconds, staticDurationSeconds and a condition (ROUTE_EXISTS or ROUTE_NOT_FOUND). THIS CALL IS BILLED PER ELEMENT (origins x destinations), so a 10 x 10 matrix costs 100 units: keep both lists tight. Limits: 625 elements in total, 100 when routingPreference is TRAFFIC_AWARE_OPTIMAL or travelMode is TRANSIT, and 50 waypoints in total when any is an address or placeId (geocode them to coordinates first for bigger matrices). Options cost more exactly as on maps_compute_routes: traffic-aware routing is the Pro tier per element and needs the traffic_aware feature; TWO_WHEELER or includeTolls is Enterprise. A request needing an ungranted feature is refused, never downgraded. For one journey with its legs and steps use maps_compute_routes.

Browse Google Maps kits

All apps