**European Economic Area (EEA) developers**

> [!NOTE]
> If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](https://developers.google.com/maps/comms/eea/faq.md.txt).

The Geocoding API is a service that accepts a place as an
address, latitude and longitude coordinates, or Place ID. It converts the
address into latitude and longitude coordinates and a Place ID, or converts
latitude and longitude coordinates or a Place ID into an address.

The Geocoding API v4 provides both **hyperlocal destination and arrival intelligence** and **core coordinate-to-address resolution**. Whether you're building a last-mile delivery, rideshare, or turn-by-turn navigation experience, or normalizing street addresses into coordinates, v4 offers dedicated endpoints tailored to your use case.

Not sure which endpoint fits your application? See **[Choose a geocoding method](https://developers.google.com/maps/documentation/geocoding/choose-a-method.md.txt)**.

## What you can do with the Geocoding API

Geocoding API v4 includes the following capabilities and endpoints:

- **[Search for destinations](https://developers.google.com/maps/documentation/geocoding/search-for-destinations.md.txt)** : Retrieve hyperlocal arrival details for a destination from an address, Place ID, or coordinates---including building entrances, routable [navigation point tokens](https://developers.google.com/maps/documentation/geocoding/navigation-point-tokens.md.txt), building and grounds outlines, sub-destinations, and nearby landmarks.
- **[Geocode an address](https://developers.google.com/maps/documentation/geocoding/geocoding.md.txt)** : Convert street addresses into geographic coordinates and Place IDs (*forward geocoding*).
- **[Geocode a location](https://developers.google.com/maps/documentation/geocoding/reverse-geocoding.md.txt)** : Convert latitude and longitude coordinates into human-readable street addresses or administrative areas (*reverse geocoding*).
- **[Geocode a place](https://developers.google.com/maps/documentation/geocoding/places-geocoding.md.txt)**: Retrieve formatted address details and coordinates for a known Google Maps Place ID.

You can control where the results appear and constrain the results to a
particular region, county, or postal code.

## Try the demo

<iframe src="https://developers.devsite.google/frame/maps/documentation/geocoding/geocoding-v4-overview_ca1d2962c58d06298c5116dd4d1158e5f9a30efd92273c021036e9bf1b4fc126.frame" class="framebox inherit-locale " allow="clipboard-write https://developers.devsite.google" allowfullscreen is-upgraded></iframe>

## How the Geocoding API works

The Geocoding API v4 supports destination search alongside basic geocoding:

- **[Destination search (`SearchDestinations`)](https://developers.google.com/maps/documentation/geocoding/search-for-destinations.md.txt)** : Resolves an address, Place ID, or coordinate pair into a rich [`Destination`](https://developers.google.com/maps/documentation/geocoding/reference/rest/v4/geocode.destinations/searchDestinations.md.txt#destination) object. Use this method when physical arrival matters---such as identifying preferred building entrances, routing drivers to designated pickup or dropoff points using navigation point tokens, rendering building footprints on a map, or navigating multi-building complexes.
- **[Basic geocoding](https://developers.google.com/maps/documentation/geocoding/geocoding.md.txt)** : Converts between addresses, coordinates, and Place IDs:
  - **Geocoding**: Converts street addresses such as "1600 Amphitheatre Parkway, Mountain View, CA" into latitude and longitude coordinates or Place IDs to place map markers or center the map view frame.
  - **Reverse geocoding**: Converts latitude and longitude coordinates or Place IDs into human-readable street addresses for user-dropped map pins, location pickers, or UI display.
  - **Place geocoding**: Retrieves address details and coordinates for a known Google Maps Place ID.

The following table summarizes the resources available through the
Geocoding API v4 along with the data each method returns:

<br />

| Data resources | Data returned | Return format |
|---|---|---|
| [**Search for destinations**](https://developers.google.com/maps/documentation/geocoding/search-for-destinations.md.txt) (`POST /v4/geocode/destinations`) | Returns hyperlocal arrival intelligence: building and grounds polygons (`displayPolygon`), physical `entrances`, routable `navigationPoints` (with tokens), hierarchical `containingPlaces` and `subDestinations`, relational `landmarks`, and primary place details. See [Search for destinations](https://developers.google.com/maps/documentation/geocoding/search-for-destinations.md.txt). | - JSON |
| [Geocode an address](https://developers.google.com/maps/documentation/geocoding/geocoding.md.txt) (`GET /v4/geocode/address`) | Returns address, address components, and address types. See [Geocode response](https://developers.google.com/maps/documentation/geocoding/geocoding.md.txt#geocode_response). | - JSON |
| [Geocode a location](https://developers.google.com/maps/documentation/geocoding/reverse-geocoding.md.txt) (`GET /v4/geocode/location`) | Returns address, address components, and address types. See [Reverse geocoding response](https://developers.google.com/maps/documentation/geocoding/reverse-geocoding.md.txt#reverse_geocoding_response). | - JSON |
| [Geocode a place](https://developers.google.com/maps/documentation/geocoding/places-geocoding.md.txt) (`GET /v4/geocode/places`) | Returns address, address components, and address types. See [Place geocoding response](https://developers.google.com/maps/documentation/geocoding/places-geocoding.md.txt#place_geocoding_responses). | - JSON |

<br />

## Launch stage channels

Version 4 of the Geocoding API has separate channels for GA, Preview, and
Experimental features. If you'd like to use Preview or Experimental
features, make sure to specify the correct channel in your request. For example,
to access features of the Destinations endpoint in Experimental, use this HTTP
request: `https://geocode.googleapis.com/v4alpha/geocode/destinations`.

| Launch stage | Channel name |
|---|---|
| GA | `/v4/` |
| Preview | `/v4beta/` |
| Experimental | `/v4alpha/` |

- See the [REST reference](https://developers.google.com/maps/documentation/geocoding/reference/rest.md.txt) for a listing and description of all available REST resources.
- See [launch stages](https://developers.google.com/maps/launch-stages.md.txt) for more information about each stage.

## Features in Geocoding API v4

Version 4 of the Geocoding API offers these new features.

### Destination search method

v4 introduces a [Destination search
method](https://developers.google.com/maps/documentation/geocoding/search-for-destinations) that lets you
retrieve detailed information about various destinations based on different
input criteria, such as an address, place ID, or latitude and longitude
coordinates. The response includes [AI-powered
summaries](https://developers.google.com/maps/documentation/geocoding/ai-powered-summaries) and [navigation
point tokens](https://developers.google.com/maps/documentation/geocoding/navigation-point-tokens) that
contain contextual information that can be passed to the [Navigation
SDK](https://developers.google.com/maps/documentation/navigation/android-sdk) for precise routing.

> [!IMPORTANT]
> **Important:** If you've previously been using Geocoding v3, see the [instructions
> on migrating from v3 features to the `SearchDestinations`
> method](https://developers.google.com/maps/documentation/geocoding/geocoding-v4-migrate#migrate_from_geocoding_hyperlocal_data_to_destinations).

### Implemented on the Google Cloud standard platform

Geocoding API v4 is implemented on the [service
infrastructure](https://cloud.google.com/service-infrastructure/docs/overview)
on Google Cloud. This implementation brings with it a more secure and trusted
platform with enhanced security options like
[OAuth](https://developers.google.com/maps/documentation/geocoding/get-api-key-v4.md.txt#create-an-oauth-token). This
standard API design brings a level of consistency across the APIs that improve
the efficiency of development with Geocoding API v4.

### OAuth support added

Geocoding API v4 supports the use of [OAuth
2.0](https://developers.google.com/maps/documentation/geocoding/oauth-token) for authentication. Google
supports common OAuth 2.0 scenarios such as those for a web server.

### Field mask support added

Use [field masks](https://developers.google.com/maps/documentation/geocoding/choose-fields.md.txt) to specify what
information the response should return. For the [Geocode an
address](https://developers.google.com/maps/documentation/geocoding/geocoding), [Geocode a
location](https://developers.google.com/maps/documentation/geocoding/reverse-geocoding), and [Place
geocoding](https://developers.google.com/maps/documentation/geocoding/places-geocoding) methods, all fields
in the response object are returned by default. For the [Search for
destinations](https://developers.google.com/maps/documentation/geocoding/search-for-destinations) method,
you must specify a field mask in the API request.

## API security

The Geocoding API v4 is designed as a server-to-server API. Direct client-side
calls from a browser expose API keys to significant risk of theft and misuse, as
HTTP referrer restrictions are not sufficient protection for web service
endpoints.

We strongly recommend that you call the Geocoding API v4 from your own backend
server. For more details on secure implementation patterns and alternatives for
client-side needs, see [Security
considerations](https://developers.google.com/maps/documentation/geocoding/geocoding-v4-migrate#security-considerations).