Places (Search) API Developer's Guide

Autosuggest Entrypoint

The Autosuggest Entrypoint represents lists of suggested search terms, instants results and refined search links related to a given (partial) search term and location context. This entrypoint is used to help users save time, iterate on their searches, and get the results.

As-you-type-suggestion features of Autosuggest:
  • auto-suggest - exploratory search queries
  • disambiguation - providing end-user with contextual information to refine search
  • instant results of POI and addresses
  • follow link (href) in instant results and refine search results
  • highlighted result title text based on what the user typed in

The Autosuggest Entrypoint is a Places (Search) API Core entrypoint.

Entrypoint URI

/autosuggest

Entrypoint Parameters

Parameter Type Description
at Position (format: latitude,longitude[;cgen=(map|gps|sgps)][;u=\d+]); required, unless one of the Geolocation or X-Map-Viewport headers or the in are set. Coordinates of search location expressed as latitude, longitude. Additional parameters can be passed which provide more context such as the uncertainty and how the coordinates were generated. For example, "52.5304417,13.4111201", "52.5304417,13.4111201;cgen=gps;u=100" or "52.5304417,13.4111201;u=100". For a full description, see the Location Contexts documentation.
q String; required Plain-text search term. For example, "restaurant" or "Brandenburger Tor"
in Area; required, unless one of the Geolocation or X-Map-Viewport headers or the at parameter are set. This parameter limits results to the boundary of the specified area. The search area can be expressed as:
  • circle specified as a centre point with latitude and longitude; and a radius around that point. Format: latitude,longitude;r=\\d+(\\.\\d+)?[;cgen=(map|gps|sgps)][;u=\\d+]
  • bounding box specified as 4 values, denoting west longitude, south latitude, east longitude, north latitude.
For a full description, see the Location Contexts documentation.
route Route (format: \[start(latitude,longitude)|0..n(latitude,longitude)|end(latitude,longitude)\][;w=\d+]); required

This parameter limits search results to the boundary of an area around a route. A route consists of a start coordinate, 0..n turning coordinates and an end coordinate. An optional width in meters can be passed to provide off the route max distance in meters, default: 1000m

The points should describe the geometric shape of the route with high precision. Especially, it’s usually not sufficient to only pass maneuvre points as they would be shown to the driver.

There are practical limitations to URL lengths. Thus, route parameters with has more than 4700 characters will be rejected.

A way to reduce this parameter's length is to use a more space-efficient Polyline encoding and supply that as the 'compressedRoute' parameter. For example, compressedRoute=ghxgK820xCze7kB00F_Es7LnxRg5F_5H;w=500

compressedRoute HereEncodedRoute (format: [a-zA-Z0-9._-]+(;w=\d+)?); required

This parameter is the new preferred way to specify a route. It contains the coordinates in HERE polyline encoding, which is basically a URL-safe version of Google's polyline encoding format.

Additionally, it may contain width attributes for individual parts of the route, i.e. one specify segments to have city width (.C), highway width (.H), or default width (.D).

By supplying the suffix ';w=\d+', one can define the actual width of the default width segments in meters.

result_types Comma-separated list of result type strings; optional A comma-separated list of the autosuggest result types that should be included in the response. Possible values are: address, place, category, chain. If this parameter is not set, all autosuggest types are considered for the response.
hlStart String; optional The delimiter that should be placed before each matched token in the autosuggest response. It defaults to</b>. The delimiters are included in the 'highlightedTitle' and 'highlightedVicinity' fields.
hlEnd String; optional The delimiter that should be placed after each matched token in the autosuggest response. It defaults to </b>. The delimiters are included in the 'highlightedTitle' and 'highlightedVicinity' fields.
cs Comma-separated list; optional A comma-separated ordered list of category systems defining which type of category systems should be returned in the response. Autosuggest currently only supports a single category system: either 'pds' or 'places'.
addressFilter String; optional

Defines constraints used to filter results based on their address. Its value is a semicolon-separated list of key-value pairs.

Key and value are separated by the equals sign. KeyValuePairType := [Key]=[Value]

Supports keys: countryCode (ISO 3166-1-alpha-3), stateCode, county, district, city, zipCode

GET Method

The GET method returns the list of suggested queries, places and address as well as query completions related to the partial search term.

The method allows applications to provide to application users query completion suggestions as they type.

Representation Modifiers

The following options are available in this context:

Parameter Type Description
size Number (non-negative integer); optional The maximum number of result items in each collection.
tf String; optional; default: html. Text format. Determines how rich text properties such as location.address.text should be rendered.
Supported values are:
  • html
  • plain

For additional information and examples, see Changing Responses with Representation Modifiers.

Response Media Type

Responses to requests to this endpoint will have the urn:nlp-types:autosuggest media type. See the urn:nlp-types:autosuggest media type documentation for details about the structure and content of the response.

Request Example

https://places.cit.api.here.com/places/v1/autosuggest
?app_id={YOUR_APP_ID}
&app_code={YOUR_APP_CODE}
&at=52.5304417,13.4111201
&q=rest
&pretty

Response Example

{
  "results": [
    {
      "title": "restaurant",
      "highlightedTitle": "<b>rest</b>aurant",
      "category": "restaurant",
      "href": "https://...",
      "type": "urn:nlp-types:search",
      "resultType":"category"
    },
    {
      "title": "rest area",
      "highlightedTitle": "<b>rest</b> area",
      "category": "toilet-rest-area",
      "href": "https://...",
      "type": "urn:nlp-types:search",
      "resultType":"category"
    },
    ...,
    {
      "title": "Restaurant im Fernsehturm",
      "highlightedTitle": "<b>Rest</b>aurant im Fernsehturm",
      "vicinity": "Panoramastraße 1<br/>10178 Berlin",
      "highlightedVicinity": "Panoramastraße 1<br/>10178 Berlin",
      "position": [ 52.52131, 13.40971 ],
      "category": "sights-museums",
      "href": "https://...",
      "type": "urn:nlp-types:place",
      "resultType":"place"
    },
    {
      "title": "Restaurant Marinelli",
      "highlightedTitle": "<b>Rest</b>aurant Marinelli",
      "vicinity": "Anhalter Straße 1<br/>10963 Berlin",
      "highlightedVicinity": "Anhalter Straße 1<br/>10963 Berlin",
      "position": [ 52.50461, 13.38277 ],
      "category": "restaurant",
      "href": "https://...",
      "type": "urn:nlp-types:place",
      "resultType":"place"
    },
    ...,
    {
      "title": "<b>Rest</b>aurant",
      "completion": "aurant",
      "type": "urn:nlp-types:autosuggest",
      "resultType":"query"
    }
  ]
}