Interactive scrollable sales explainer for the Google Maps Platform Places API (New): a live, queryable index of businesses and points of interest reached via Text Search, Nearby Search, Place Details, Autocomplete, and Place Photos. Covers what's included, the search and ranking filters built into Text and Nearby Search, how Autocomplete session tokens bill a whole type-ahead interaction once instead of per keystroke, the rich place-attribute and AI-generated summary fields available on Place Details, how field masking determines which of five SKU tiers a request is billed at, why that field-masking decision is where Navagis adds value over a direct Google Cloud signup, the legacy-to-New API migration, how it bridges to the rest of Google Maps Platform and to Places Insights, example Text Search and Nearby Search request/response pairs, the reliability SLA, SKU-tiered pricing, and a three-step get-started close, with animated stats, flow diagrams, a click-to-run request demo, and a comparison table, styled in Google's Material color and type language.

01 / overview

The Places API: Google's search, details, and autocomplete engine for real-world places

The Places API is Google's live, queryable index of businesses and points of interest — the same data source behind Google Maps and Search. Send a free-text query or a radius, get back a ranked list of real places; hand it a place ID and get back hours, ratings, photos, reviews, and AI-generated summaries, refreshed continuously rather than licensed as a static snapshot.

in one line

  • It is: a live lookup API — search, details, autocomplete, and photos, returned as JSON, billed by which fields you ask for.
  • It is not: a bulk dataset you can dump into a warehouse and query offline — for that, Places Insights is the product.
Place Details resultplaces.get
idSTRING
displayNameTEXT
formattedAddressSTRING
ratingDOUBLE
currentOpeningHoursOBJECT
···· photos, reviews, generativeSummary — each one billed at a different SKU tier
0places indexed worldwide
0core methods: search, nearby, details, autocomplete, photos
0place-attribute field groups on Place Details alone
0SKU tiers your field mask can land in

02 / what's included

Five methods cover search, lookup, type-ahead, and imagery

Text Search and Nearby Search find candidate places from a query or a location; Place Details pulls the full record for one place ID; Autocomplete drives a type-ahead search box; Place Photos serves the imagery a place record references. All five run on the same POST-JSON, field-masked request shape.

Included

  • Text Search — free-form query, e.g. "vegan restaurants in Austin"
  • Nearby Search — radius + place-type search around a point
  • Place Details — the full record for one place ID
  • Autocomplete — type-ahead place & address predictions
  • Place Photos — imagery served by photo reference

Not included

  • Address ↔ coordinate conversion (Geocoding API)
  • Deliverability certification (Address Validation API)
  • Turn-by-turn routing (Routes API)
  • Bulk place-attribute export for analytics (Places Insights)

common request parameters

textQueryincludedType locationBiaslocationRestriction rankPreferencelanguageCode regionCode

every request is

HTTPS POSTJSON bodyField-masked

03 / search & ranking

Search that filters like a product, not just a keyword box

Text Search and Nearby Search take real filtering parameters directly in the request — price, rating, open-now status, even EV-charger requirements — instead of forcing you to over-fetch and filter client-side. Nearby Search also lets you choose how results are ordered.

built-in filters

  • priceLevels and minRating narrow Text Search results in the same call, no second round-trip
  • rankPreference reorders Nearby Search by POPULARITY (default) or raw DISTANCE
  • evOptions filters for a minimum charging rate and specific connector types — genuine EV-aware search, not a bolt-on

text search filters

priceLevelsminRatingopenNowstrictTypeFilteringevOptions

nearby search ranking & scope

rankPreferenceincludedTypesexcludedTypesincludedPrimaryTypes

04 / autocomplete sessions

One bill for the whole search, not one per keystroke

Autocomplete is meant to fire on every keystroke, so Google prices it by session, not by call. Generate a session token once, reuse it across every prediction request as the user types, and pass it again to the Place Details call that closes the search — the entire sequence is billed once, at session pricing, instead of per keystroke.

how a session works

  • generate a fresh sessionToken (a UUID) client-side when a new search starts
  • reuse that same token on every prediction request as the user keeps typing
  • pass it once more to Place Details on the selected result — that call closes the session
  • skip the token, or reuse one indefinitely, and you're billed per request instead of per search
"r" → "re" → "rest…"same sessionToken on every keystroke
Place Detailssame token closes the session
Billed oncesession pricing, not per-keystroke pricing

05 / place attributes & ai

The response is richer than a name and an address

Place Details doesn't stop at contact info. EV charging connector types and rates, parking and payment options, accessibility features, and Google's AI-generated place and review summaries are all fields on the same response — gated by field mask, like everything else.

notable fields

  • accessibilityOptions exposes wheelchair-accessible entrance, parking, restroom, and seating as individual booleans
  • evChargeOptions returns connector type, count, and max charging rate per station
  • generativeSummary and reviewSummary are Google-authored natural-language summaries, not raw review text
  • secondaryOpeningHours covers cases like a separate drive-through or delivery schedule

real-world attributes

evChargeOptionsfuelOptionsparkingOptionsaccessibilityOptionspaymentOptions

hours & status

currentOpeningHoursregularOpeningHourssecondaryOpeningHoursbusinessStatus

ai-generated (enterprise + atmosphere)

generativeSummaryreviewSummaryeditorialSummary

06 / field masks & skus

The single header that decides your bill

Every Places API (New) call must send an X-Goog-FieldMask header (or fields param) naming exactly the response fields you want back. That mask, not the endpoint you called, is what determines which of five SKU tiers — Essentials IDs Only, Essentials, Pro, Enterprise, and Enterprise + Atmosphere — the request is billed at.

the trap teams fall into

  • asking for reviews on a card that only renders a name and a pin pushes the entire call into the priciest tier
  • the mask is enforced per request, not per project — two calls to the same endpoint can land in two different SKU tiers
  • a leaner mask usually means a smaller, faster response too, not just a cheaper one

essentials

iddisplayNameformattedAddresslocationtypes

pro

ratinguserRatingCountpriceLevelcurrentOpeningHourswebsiteUri

enterprise / enterprise + atmosphere

reviewseditorialSummarygenerativeSummary

07 / why go through us

A Google Cloud account gets you the API. It doesn't get you the field-mask audit.

Anyone can enable the Places API in five minutes. What most self-serve teams skip is mapping every UI element to the cheapest field mask that still renders it, and wiring up session tokens correctly on Autocomplete — the two decisions that actually control the bill.

NavagisDirect self-serve
Field-mask / SKU cost audit before launch
Autocomplete session-token implementation review
Legacy → New API migration support
One invoice across Places, other Maps Platform APIs, and BigQuery
Volume pricing negotiated across products, not per-API~
Dedicated technical support with an escalation path back into Google~
Requests hit Google's own Places API endpoints

"~" = available direct through standard Google Cloud support and volume-discount programs, but not proactively applied or bundled the way it is through a partner relationship.

08 / legacy → new

Legacy Places API still runs — new features don't land there

The original Places API (Nearby Search, Text Search, Place Search, Place Details, Place Autocomplete) still works and is billed as a flat per-call rate regardless of which fields you use. Places API (New) replaced it as the actively developed surface: POST + JSON instead of query-string GET, field-mask-based pricing that typically costs less for lean requests, and the search filters, session pricing, and AI-generated summaries covered above — none of which ship on the legacy surface.

what changes in the move

  • legacy GET query-string calls become POST requests with a JSON body
  • snake_case fields (formatted_address) become camelCase (formattedAddress)
  • billing shifts from flat per-call to per-field-mask SKU tier
Legacy Places APIGET, snake_case, flat per-call pricing
Places API (New)POST, camelCase, field-mask SKU pricing

09 / extend with maps platform

A place ID is a key into the rest of Maps Platform

Once you have a place ID, bridge straight into the API built for the next step — no separate vendor, no separate place model to reconcile.

Every one of these runs on the same Google Cloud billing account and the same API key management as the Places API itself — one platform relationship to negotiate and support, not four.

Geocoding APIResolve a free-text address into a precise coordinate before or after a Places lookup.
Routes APIFeed a place ID straight in as an origin or destination for directions and ETAs.
Address Validation APIConfirm deliverability once you have the formatted address a Place record returned.
Places InsightsGo beyond live lookups into bulk BigQuery analytics across every place in a market.

pairs well with

Geocoding API Routes API Address Validation API Places Insights Maps JavaScript API BigQuery

10 / example requests

What a request actually looks like

One Text Search, one Nearby Search — both POST/JSON, both field-masked. Click run on either card; these are mocked responses, not a live connection.

text search (new)

a free-form query, essentials + pro fields

POST https://places.googleapis.com/v1/places:searchText
X-Goog-Api-Key: YOUR_API_KEY
X-Goog-FieldMask: places.displayName,places.formattedAddress,
                  places.rating,places.currentOpeningHours

{ "textQuery": "vegan restaurants in Austin, TX" }

200 OK · 0.3s elapsed

fieldvalue
displayNameBouldin Creek Cafe
formattedAddress1900 S 1st St, Austin, TX 78704
rating4.4 (3,208 reviews)
nearby search (new)

radius + type, essentials fields only

POST https://places.googleapis.com/v1/places:searchNearby
X-Goog-Api-Key: YOUR_API_KEY
X-Goog-FieldMask: places.displayName,places.location,places.types

{ "includedTypes": ["coffee_shop"],
  "locationRestriction": { "circle": {
    "center": { "latitude": 30.267, "longitude": -97.743 },
    "radius": 800.0 } } }

200 OK · 0.2s elapsed

fieldvalue
displayNameRadio Coffee & Beer
location30.2419, -97.8081
typescoffee_shop, cafe

11 / reliability

Backed by an SLA, not a best-effort promise

If a search box, a store locator, or a dispatch flow depends on this call succeeding, uptime is the actual pitch. The Places API carries Google Cloud's standard Maps Platform commitment, with public, auditable status history.

the commitment

  • 99.9% monthly uptime SLA
  • service credits owed if Google misses it

the proof

  • public status dashboard with incident history
  • the same index that powers Google Maps and Search results
Your request 99.9% SLAcredits if missed Place result
Any incident Public dashboardauditable history You can verify it yourself

12 / pricing

You set the price by choosing the field mask and the session strategy

There's no single "Places API price" — every call is billed at the SKU tier of the most expensive field in its mask, and Autocomplete is billed by session, not by keystroke. A card that only needs a name, address, and pin stays in Essentials; add reviews and the whole call jumps to Enterprise.

This is exactly where a field-mask and session-token audit pays for itself: shaving a UI's field mask from Enterprise down to Pro or Essentials, and making sure Autocomplete is actually using session tokens, are usually the two biggest levers on the bill.

SKU tierrelative cost
Essentials IDs Onlylowest
Essentialslow
Promoderate
Enterprisehigh
Enterprise + Atmospherehighest

Tier order and structure reflect Google's published SKU model for Places API (New) as of this writing; per-tier dollar rates change periodically and should be confirmed in the Cloud Billing console or the pricing reference above before quoting. Legacy Places API is priced and billed differently — a flat rate per call regardless of fields requested.

13 / get started

Design the field mask and session strategy before you write the integration

The biggest cost decisions in a Places integration happen before the first line of code — deciding what each screen actually needs to render, and whether Autocomplete is wired for sessions. Get those right and everything downstream, from the API call to the invoice, follows.

1
Map every screen to the fields it needswrite the field mask before the API call, not after seeing the bill
2
Wire Autocomplete for session tokensconfirm the token is generated once per search and closed by the Details call
3
Launch with per-SKU billing alertsmonitor which tier your real traffic lands in, not just total call volume