**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).

Address descriptors include additional information that help describe a location
using landmarks and areas. Check out the [address descriptors demo](https://mapsplatform.google.com/demos/address-descriptors/)
to explore the feature.

> [!NOTE]
> **Note:** Address descriptors are more useful in denser locations. If there are no relevant landmarks or areas the response may be empty. Some regions don't have detailed area data and will return landmarks only.

## Additional parameters

Address descriptors can be enabled through the use of the `extra_computations`
parameter. Include `extra_computations=ADDRESS_DESCRIPTORS` in a [geocoding request](https://developers.google.com/maps/documentation/geocoding/guides-v3/requests-geocoding.md.txt)
, [reverse geocoding request](https://developers.google.com/maps/documentation/geocoding/guides-v3/requests-reverse-geocoding.md.txt)
, or a [places geocoding request](https://developers.google.com/maps/documentation/geocoding/guides-v3/requests-places-geocoding.md.txt)
to receive address descriptors in your response.

## Example in geocoding

The following query contains the address of a place in Delhi:

    https://maps.googleapis.com/maps/api/geocode/json?address=4118,+Kalan+Mehal+Chandni+Chowk,+New+Delhi&extra_computations=ADDRESS_DESCRIPTORS&key=YOUR_API_KEY

## Example in places geocoding

The following query contains the place ID of a place in Delhi:

    https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJyxAX8Bj9DDkRgBfAnBYa66Q&extra_computations=ADDRESS_DESCRIPTORS&key=YOUR_API_KEY

> [!NOTE]
> **Note**: Not all places are compatible with address descriptors. Very large places (for example, an airport) or areas (for example, a postal region) will never receive an address descriptor.

## Example in reverse geocoding

The following query contains the latitude/longitude value for a location in
Delhi:

    https://maps.googleapis.com/maps/api/geocode/json?latlng=28.640964,77.235875&extra_computations=ADDRESS_DESCRIPTORS&key=YOUR_API_KEY

> [!NOTE]
> **Note**: Reverse geocoding includes a single address descriptor at the response level. Geocoding and places geocoding will receive an address descriptor for each compatible result in the response

### Response

An example `address_descriptor` is as follows:

    {
      "address_descriptor" : {
         "areas" : [
            {
               "containment" : "OUTSKIRTS",
               "display_name" : {
                  "language_code" : "en",
                  "text" : "Turkman Gate"
               },
               "place_id" : "ChIJ_7LLvyb9DDkRMKKxP9YyXgs"
            },
            {
               "containment" : "OUTSKIRTS",
               "display_name" : {
                  "language_code" : "en",
                  "text" : "Chandni Chowk"
               },
               "place_id" : "ChIJWcXciBr9DDkRUb4dCDykTwI"
            },
            {
               "containment" : "NEAR",
               "display_name" : {
                  "language_code" : "en",
                  "text" : "Katar Ganj"
               },
               "place_id" : "ChIJH3cWUyH9DDkRaw-9CjvcRvY"
            }
         ],
         "landmarks" : [
            {
               "display_name" : {
                  "language_code" : "en",
                  "text" : "Delite Cinema"
               },
               "straight_line_distance_meters" : 29.9306755065918,
               "place_id" : "ChIJLfiYDCT9DDkROoEa7NdupUM",
               "travel_distance_meters" : 418.7794799804688,
               "spatial_relationship" : "ACROSS_THE_ROAD",
               "types" : [ "establishment", "movie_theater", "point_of_interest" ]
            },
            {
               "display_name" : {
                  "language_code" : "en",
                  "text" : "YES Bank"
               },
               "straight_line_distance_meters" : 66.83731079101562,
               "place_id" : "ChIJFYHM3yb9DDkRRKGkZl2mpSQ",
               "travel_distance_meters" : 489.0340270996094,
               "spatial_relationship" : "DOWN_THE_ROAD",
               "types" : [ "bank", "establishment", "finance", "point_of_interest" ]
            },
            {
               "display_name" : {
                  "language_code" : "en",
                  "text" : "UCO Bank"
               },
               "straight_line_distance_meters" : 25.38849639892578,
               "place_id" : "ChIJ-c6_wCb9DDkRjIk1LeqRtGM",
               "travel_distance_meters" : 403.2246398925781,
               "spatial_relationship" : "ACROSS_THE_ROAD",
               "types" : [ "atm", "bank", "establishment", "finance", "point_of_interest" ]
            },
            {
               "display_name" : {
                  "language_code" : "en",
                  "text" : "Delhi By Cycle Meeting Point"
               },
               "straight_line_distance_meters" : 44.02867126464844,
               "place_id" : "ChIJNxVfkSb9DDkRJD22l-eGFdM",
               "travel_distance_meters" : 97.41281890869141,
               "spatial_relationship" : "AROUND_THE_CORNER",
               "types" : [
                  "establishment",
                  "point_of_interest",
                  "tourist_attraction",
                  "travel_agency"
               ]
            },
            {
               "display_name" : {
                  "language_code" : "en",
                  "text" : "Axis Bank Branch"
               },
               "straight_line_distance_meters" : 102.3495178222656,
               "place_id" : "ChIJr3uaDCT9DDkR8roHTVSn1x4",
               "travel_distance_meters" : 330.8566284179688,
               "spatial_relationship" : "DOWN_THE_ROAD",
               "types" : [ "bank", "establishment", "finance", "point_of_interest" ]
            }
         ]
      }
    }

There are two arrays in each `address_descriptor` object: `landmarks` and
`areas`. The `landmarks` array contains up to 5 results ranked in order of
relevance by taking account of proximity to the requested coordinate, the
prevalence of the landmark and its visibility. Each landmark result contains the
following values:

- `place_id` is the place ID of the landmarks result. See the [place ID
  overview](https://developers.google.com/maps/documentation/places/web-service/place-id).
- `display_name` is the display name of the landmark and contains `language_code` and `text`.
- `straight_line_distance_meters` is the point to point distance in meters between the input coordinate and the landmarks result.
- `travel_distance_meters` is the distance in meters as traveled via the road network (ignoring road restrictions) between the input coordinate and the landmarks result.
- `spatial_relationship` is the estimated relationship between the input coordinate and the landmarks result:
  - `"NEAR"` is the default relationship when none of the following applies.
  - `"WITHIN"` when the input coordinate is contained within the bounds of the structure associated with the landmark.
  - `"BESIDE"` when the input coordinate is directly adjacent to the landmark or landmark's access point.
  - `"ACROSS_THE_ROAD"` when the input coordinate is directly opposite of the landmark on the other side of the route.
  - `"DOWN_THE_ROAD"` when the input coordinate is along the same route as the landmark, but not `"BESIDES"` or `"ACROSS_THE_ROAD"`.
  - `"AROUND_THE_CORNER"` when the input coordinate is along a perpendicular route as the landmark (restricted to a single turn).
  - `"BEHIND"` when the input coordinate is spatially close to the landmark, but far from its access point.
- `types` are the [Place types](https://developers.google.com/maps/documentation/places/web-service/supported_types#table1) of the landmark.

The `areas` object contains up to 3 responses and limits itself to places that
represent small regions, such as neighborhoods, sublocalities, and large
complexes. Areas that contain the requested coordinate are listed first and
ordered from smallest to largest. Each `areas` result contains the following
values:

- `place_id` is the place ID of the areas result. See the [place ID
  overview](https://developers.google.com/maps/documentation/places/web-service/place-id).
- `display_name` is the display name of the area and contains `language_code` and `text`.
- `containment` is the estimated containment relationship between the input coordinate and the areas result:
  - `"NEAR"` is the default relationship when none of the following applies.
  - `"WITHIN"` when the input coordinate is close to the center of the area.
  - `"OUTSKIRTS"` when the input coordinate is close to the edge of the area.

### Coverage

Address descriptors are available in all regions. See
[region
coverage](https://developers.google.com/maps/documentation/geocoding/guides-v3/address-descriptors/coverage) for details.

### Feedback

This feature is available in all regions and is in GA for India and in the
pre-GA Experimental launch stage for all other regions. We would appreciate
feedback. Please file a bug in the [issue tracker](https://developers.google.com/maps/documentation/geocoding/support.md.txt#issue-tracker).