---
title: "POST /v1/places:searchText"
method: POST
path: "/v1/places:searchText"
tags: ["places"]
---

# POST /v1/places:searchText

`POST /v1/places:searchText`

Text query based place search.

## Request body

- GoogleMapsPlacesV1SearchTextRequest — Request proto for SearchText.
  - `languageCode` string — Place details will be displayed with the preferred language if available. If the language code is unspecified or unrecognized, place details of any language may be returned, with a preference for English if such details exist. Current list of supported languages: https://developers.google.com/maps/faq#languagesupport.
  - `locationRestriction` GoogleMapsPlacesV1SearchTextRequestLocationRestriction — The region to search. This location serves as a restriction which means results outside given location will not be returned.
    - `rectangle` GoogleGeoTypeViewport — A latitude-longitude viewport, represented as two diagonally opposite `low` and `high` points. A viewport is considered a closed region, i.e. it includes its boundary. The latitude bounds must range between -90 to 90 degrees inclusive, and the longitude bounds must range between -180 to 180 degrees inclusive. Various cases include: - If `low` = `high`, the viewport consists of that single point. - If `low.longitude` > `high.longitude`, the longitude range is inverted (the viewport crosses the 180 degree longitude line). - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees, the viewport includes all longitudes. - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees, the longitude range is empty. - If `low.latitude` > `high.latitude`, the latitude range is empty. Both `low` and `high` must be populated, and the represented box cannot be empty (as specified by the definitions above). An empty viewport will result in an error. For example, this viewport fully encloses New York City: { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }
      - `low` GoogleTypeLatLng — An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.
        - `latitude` number, double — The latitude in degrees. It must be in the range [-90.0, +90.0].
        - `longitude` number, double — The longitude in degrees. It must be in the range [-180.0, +180.0].
      - `high` GoogleTypeLatLng — An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.
        - `latitude` number, double — The latitude in degrees. It must be in the range [-90.0, +90.0].
        - `longitude` number, double — The longitude in degrees. It must be in the range [-180.0, +180.0].
  - `strictTypeFiltering` boolean — Used to set strict type filtering for included_type. If set to true, only results of the same type will be returned. Default to false.
  - `regionCode` string — The Unicode country/region code (CLDR) of the location where the request is coming from. This parameter is used to display the place details, like region-specific place name, if available. The parameter can affect results based on applicable law. For more information, see https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html. Note that 3-digit region codes are not currently supported.
  - `priceLevels` string[] — Used to restrict the search to places that are marked as certain price levels. Users can choose any combinations of price levels. Default to select all price levels.
  - `minRating` number, double — Filter out results whose average user rating is strictly less than this limit. A valid value must be a float between 0 and 5 (inclusively) at a 0.5 cadence i.e. [0, 0.5, 1.0, ... , 5.0] inclusively. The input rating will round up to the nearest 0.5(ceiling). For instance, a rating of 0.6 will eliminate all results with a less than 1.0 rating.
  - `routingParameters` GoogleMapsPlacesV1RoutingParameters — Parameters to configure the routing calculations to the places in the response, both along a route (where result ranking will be influenced) and for calculating travel times on results.
    - `routeModifiers` GoogleMapsPlacesV1RouteModifiers — Encapsulates a set of optional conditions to satisfy when calculating the routes.
      - `avoidTolls` boolean — Optional. When set to true, avoids toll roads where reasonable, giving preference to routes not containing toll roads. Applies only to the `DRIVE` and `TWO_WHEELER` `TravelMode`.
      - `avoidFerries` boolean — Optional. When set to true, avoids ferries where reasonable, giving preference to routes not containing ferries. Applies only to the `DRIVE` and `TWO_WHEELER` `TravelMode`.
      - `avoidHighways` boolean — Optional. When set to true, avoids highways where reasonable, giving preference to routes not containing highways. Applies only to the `DRIVE` and `TWO_WHEELER` `TravelMode`.
      - `avoidIndoor` boolean — Optional. When set to true, avoids navigating indoors where reasonable, giving preference to routes not containing indoor navigation. Applies only to the `WALK` `TravelMode`.
    - `travelMode` 'TRAVEL_MODE_UNSPECIFIED' | 'DRIVE' | 'BICYCLE' | 'WALK' | 'TWO_WHEELER' — Optional. The travel mode.
    - `origin` GoogleTypeLatLng — An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.
      - `latitude` number, double — The latitude in degrees. It must be in the range [-90.0, +90.0].
      - `longitude` number, double — The longitude in degrees. It must be in the range [-180.0, +180.0].
    - `routingPreference` 'ROUTING_PREFERENCE_UNSPECIFIED' | 'TRAFFIC_UNAWARE' | 'TRAFFIC_AWARE' | 'TRAFFIC_AWARE_OPTIMAL' — Optional. Specifies how to compute the routing summaries. The server attempts to use the selected routing preference to compute the route. The traffic aware routing preference is only available for the `DRIVE` or `TWO_WHEELER` `travelMode`.
  - `includedType` string — The requested place type. Full list of types supported: https://developers.google.com/maps/documentation/places/web-service/place-types. Only support one included type.
  - `textQuery` string — Required. The text query for textual search.
  - `maxResultCount` integer — Deprecated: Use `page_size` instead. The maximum number of results per page that can be returned. If the number of available results is larger than `max_result_count`, a `next_page_token` is returned which can be passed to `page_token` to get the next page of results in subsequent requests. If 0 or no value is provided, a default of 20 is used. The maximum value is 20; values above 20 will be coerced to 20. Negative values will return an INVALID_ARGUMENT error. If both `max_result_count` and `page_size` are specified, `max_result_count` will be ignored.
  - `includeFutureOpeningBusinesses` boolean — Optional. If true, include businesses that are not yet open but will open in the future.
  - `pageSize` integer — Optional. The maximum number of results per page that can be returned. If the number of available results is larger than `page_size`, a `next_page_token` is returned which can be passed to `page_token` to get the next page of results in subsequent requests. If 0 or no value is provided, a default of 20 is used. The maximum value is 20; values above 20 will be set to 20. Negative values will return an INVALID_ARGUMENT error. If both `max_result_count` and `page_size` are specified, `max_result_count` will be ignored.
  - `searchAlongRouteParameters` GoogleMapsPlacesV1SearchTextRequestSearchAlongRouteParameters — Specifies a precalculated polyline from the [Routes API](https://developers.google.com/maps/documentation/routes) defining the route to search. Searching along a route is similar to using the `locationBias` or `locationRestriction` request option to bias the search results. However, while the `locationBias` and `locationRestriction` options let you specify a region to bias the search results, this option lets you bias the results along a trip route. Results are not guaranteed to be along the route provided, but rather are ranked within the search area defined by the polyline and, optionally, by the `locationBias` or `locationRestriction` based on minimal detour times from origin to destination. The results might be along an alternate route, especially if the provided polyline does not define an optimal route from origin to destination.
    - `polyline` GoogleMapsPlacesV1Polyline — A route polyline. Only supports an [encoded polyline](https://developers.google.com/maps/documentation/utilities/polylinealgorithm), which can be passed as a string and includes compression with minimal lossiness. This is the Routes API default output.
      - `encodedPolyline` string — An [encoded polyline](https://developers.google.com/maps/documentation/utilities/polylinealgorithm), as returned by the [Routes API by default](https://developers.google.com/maps/documentation/routes/reference/rest/v2/TopLevel/computeRoutes#polylineencoding). See the [encoder](https://developers.google.com/maps/documentation/utilities/polylineutility) and [decoder](https://developers.google.com/maps/documentation/routes/polylinedecoder) tools.
  - `pageToken` string — Optional. A page token, received from a previous TextSearch call. Provide this to retrieve the subsequent page. When paginating, all parameters other than `page_token`, `page_size`, and `max_result_count` provided to TextSearch must match the initial call that provided the page token. Otherwise an INVALID_ARGUMENT error is returned.
  - `locationBias` GoogleMapsPlacesV1SearchTextRequestLocationBias — The region to search. This location serves as a bias which means results around given location might be returned.
    - `rectangle` GoogleGeoTypeViewport — A latitude-longitude viewport, represented as two diagonally opposite `low` and `high` points. A viewport is considered a closed region, i.e. it includes its boundary. The latitude bounds must range between -90 to 90 degrees inclusive, and the longitude bounds must range between -180 to 180 degrees inclusive. Various cases include: - If `low` = `high`, the viewport consists of that single point. - If `low.longitude` > `high.longitude`, the longitude range is inverted (the viewport crosses the 180 degree longitude line). - If `low.longitude` = -180 degrees and `high.longitude` = 180 degrees, the viewport includes all longitudes. - If `low.longitude` = 180 degrees and `high.longitude` = -180 degrees, the longitude range is empty. - If `low.latitude` > `high.latitude`, the latitude range is empty. Both `low` and `high` must be populated, and the represented box cannot be empty (as specified by the definitions above). An empty viewport will result in an error. For example, this viewport fully encloses New York City: { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }
      - `low` GoogleTypeLatLng — An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.
        - `latitude` number, double — The latitude in degrees. It must be in the range [-90.0, +90.0].
        - `longitude` number, double — The longitude in degrees. It must be in the range [-180.0, +180.0].
      - `high` GoogleTypeLatLng — An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.
        - `latitude` number, double — The latitude in degrees. It must be in the range [-90.0, +90.0].
        - `longitude` number, double — The longitude in degrees. It must be in the range [-180.0, +180.0].
    - `circle` GoogleMapsPlacesV1Circle — Circle with a LatLng as center and radius.
      - `center` GoogleTypeLatLng — An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.
        - `latitude` number, double — The latitude in degrees. It must be in the range [-90.0, +90.0].
        - `longitude` number, double — The longitude in degrees. It must be in the range [-180.0, +180.0].
      - `radius` number, double — Required. Radius measured in meters. The radius must be within [0.0, 50000.0].
  - `openNow` boolean — Used to restrict the search to places that are currently open. The default is false.
  - `evOptions` GoogleMapsPlacesV1SearchTextRequestEVOptions — Searchable EV options of a place search request.
    - `minimumChargingRateKw` number, double — Optional. Minimum required charging rate in kilowatts. A place with a charging rate less than the specified rate is filtered out.
    - `connectorTypes` string[] — Optional. The list of preferred EV connector types. A place that does not support any of the listed connector types is filtered out.
  - `includePureServiceAreaBusinesses` boolean — Optional. Include pure service area businesses if the field is set to true. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses do not have a physical address or location on Google Maps. Places will not return fields including `location`, `plus_code`, and other location related fields for these businesses.
  - `rankPreference` 'RANK_PREFERENCE_UNSPECIFIED' | 'DISTANCE' | 'RELEVANCE' — How results will be ranked in the response.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/places.md) · [All operations](https://skmtc.dev/google/apis/places/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/places/revisions/c534dce48795/schema)
