Migrate to Nearby Search (New)
Stay organized with collections
Save and categorize content based on your preferences.
European Economic Area (EEA) developers
Introduction
Places API supports
Nearby Search (Legacy).
If you are familiar with Nearby Search (Legacy), the
Nearby Search (New) makes the following
changes:
- Nearby Search (New) uses HTTP POST requests.
Pass parameters in the request body or in headers as part of an HTTP POST
request. In contrast, with Nearby Search (Legacy),
you pass URL parameters using an HTTP GET request.
- Field masking is required. You must specify which fields you want returned
in the response. There is no default list of returned fields. If you omit
this list, the methods return an error. For more information, see
FieldMask.
- Nearby Search (New) supports both
API keys
and OAuth
tokens as the authentication mechanism.
- Only JSON is supported as a response format in
Nearby Search (New).
- All requests that include a text query should now use
Text Search (New)
because Nearby Search (New) does not support text input.
- The JSON response format for Nearby Search (New)
has changed from the format of the legacy APIs. For more details, see
Migrate the Places API response.
The following table lists parameters in Nearby Search (Legacy) that have been
renamed or modified for Nearby Search (New), or parameters that are no
longer supported.
Current parameter |
New parameter |
Notes |
keyword |
|
Not supported. Use
Text Search (New)
instead. |
language |
languageCode |
|
location |
locationRestriction |
Required. |
maxprice/minprice |
|
Not supported. |
|
maxResultCount |
New parameter. |
opennow |
|
Not supported. |
pagetoken |
|
Not supported. |
radius |
|
Use locationRestriction now. |
rankby |
rankPreference |
|
|
regionCode |
New parameter. |
type |
includedTypes
excludedTypes
includedPrimaryTypes
excludedPrimaryTypes
|
The new parameters also accept multiple type values. The legacy API
only accepts a single value. |
Example request
The following example GET request uses the Nearby Search (Legacy). In this
example, you request a JSON response containing information about places of type
restaurant
and pass all parameters as URL parameters:
curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'
With Nearby Search (New), you make a POST request and pass all
parameters in the JSON request body or in headers as part of the POST request.
This example also uses a field mask so the response only includes the display
name and formatted address of the place:
curl -X POST -d '{
"includedTypes": ["restaurant"],
"locationRestriction": {
"circle": {
"center": {
"latitude": 37.7937,
"longitude": -122.3965},
"radius": 500.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \
https://places.googleapis.com/v1/places:searchNearby
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
[null,null,["Last updated 2025-08-28 UTC."],[],[],null,["# Migrate to Nearby Search (New)\n\n**European Economic Area (EEA) developers** 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](/maps/comms/eea/faq).\n\nIntroduction\n------------\n\nPlaces API supports\n[Nearby Search (Legacy)](/maps/documentation/places/web-service/search-nearby).\nIf you are familiar with Nearby Search (Legacy), the [Nearby Search (New)](/maps/documentation/places/web-service/nearby-search) makes the following\nchanges:\n\n- Nearby Search (New) uses HTTP POST requests. Pass parameters in the request body or in headers as part of an HTTP POST request. In contrast, with Nearby Search (Legacy), you pass URL parameters using an HTTP GET request.\n- Field masking is required. You must specify which fields you want returned in the response. There is no default list of returned fields. If you omit this list, the methods return an error. For more information, see [FieldMask](/maps/documentation/places/web-service/nearby-search#fieldmask).\n- Nearby Search (New) supports both [API keys](/maps/documentation/places/web-service/get-api-key) and [OAuth](/maps/documentation/places/web-service/oauth-token) tokens as the authentication mechanism.\n- Only JSON is supported as a response format in Nearby Search (New).\n- All requests that include a text query should now use [Text Search (New)](/maps/documentation/places/web-service/text-search) because Nearby Search (New) does not support text input.\n- The JSON response format for Nearby Search (New) has changed from the format of the legacy APIs. For more details, see [Migrate the Places API response](/maps/documentation/places/web-service/migrate-response).\n\nThe following table lists parameters in Nearby Search (Legacy) that have been\nrenamed or modified for Nearby Search (New), or parameters that are no\nlonger supported.\n\n| Current parameter | New parameter | Notes |\n|---------------------|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|\n| `keyword` | | Not supported. Use [Text Search (New)](/maps/documentation/places/web-service/text-search) instead. |\n| `language` | `languageCode` | |\n| `location` | `locationRestriction` | Required. |\n| `maxprice/minprice` | | Not supported. |\n| | `maxResultCount` | New parameter. |\n| `opennow` | | Not supported. |\n| `pagetoken` | | Not supported. |\n| `radius` | | Use `locationRestriction` now. |\n| `rankby` | `rankPreference` | |\n| | `regionCode` | New parameter. |\n| `type` | `includedTypes` `excludedTypes` `includedPrimaryTypes` `excludedPrimaryTypes` | The new parameters also accept multiple type values. The legacy API only accepts a single value. |\n\nExample request\n---------------\n\nThe following example GET request uses the Nearby Search (Legacy). In this\nexample, you request a JSON response containing information about places of type\n`restaurant` and pass all parameters as URL parameters: \n\n```curl\ncurl -L -X GET \\\n'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'\n```\n\nWith Nearby Search (New), you make a POST request and pass all\nparameters in the JSON request body or in headers as part of the POST request.\nThis example also uses a field mask so the response only includes the display\nname and formatted address of the place: \n\n```curl\ncurl -X POST -d '{\n \"includedTypes\": [\"restaurant\"],\n \"locationRestriction\": {\n \"circle\": {\n \"center\": {\n \"latitude\": 37.7937,\n \"longitude\": -122.3965},\n \"radius\": 500.0\n }\n }\n}' \\\n-H 'Content-Type: application/json' -H \"X-Goog-Api-Key: API_KEY\" \\\n-H \"X-Goog-FieldMask: places.displayName,places.formattedAddress\" \\\nhttps://places.googleapis.com/v1/places:searchNearby\n```"]]