Places (Search) API Developer's Guide

Search as You Type with Autosuggest

User Story

A user of an application on a mobile device wants to be able to perform a text-based search by selecting from suggestions offered by the application on the basis of his/her partial text entries. The suggestions are refined as the user continues to type and select from them until the user stops typing and submits a query.

Request

The request based on the above user story needs to be made against the endpoint named autosuggest – it is a request for suggestions. The user text entries are submitted as values of the parameter q.

Here is an example of a request based on the text "mc" typed in by the user, standing in Bryant Park in New York:

https://places.ls.hereapi.com/places/v1/autosuggest
?apiKey={YOUR_API_KEY}
&at=40.7539,-73.9837
&q=mc
&pretty

If required, the application developer can refine this request through the parameter result_types to restrict the autosuggest response to specific types of suggestions. The possible values are address, place, category, chain or query.

Here is a version of the same request, using result_types to confine the suggestions to address and query:

https://places.ls.hereapi.com/places/v1/autosuggest
?apiKey={YOUR_API_KEY}
&at=40.7539,-73.9837
&q=mc
&result_types=address,query
&pretty
Note: These examples use a HERE API Key to authenticate your request. For information on other possible options, see Authentication Guide. For examples of how to use the other authentication options with the Places (Search) API, see Authentication Examples.

Response

The body of the response to the query that chooses only address and query suggestions contains the element "results" shown below – subject to modifications (see Examples) . The result items highlight the user's text entries and indicate completions. The application developer can use the href attributes to trigger a further autosuggest request on any of the completions selected by the user.

{
  "results":[
    {
      "title":"mcdonald",
      "highlightedTitle":"<b>mc</b>donald",
      "completion":"donald",
      "href": "http://...",
      "type":"urn:nlp-types:autosuggest",
      "resultType":"query"
    },
    {
      "title":"mccarthy",
      "highlightedTitle":"<b>mc</b>carthy",
      "completion":"carthy",
      "href": "http://...",
      "type":"urn:nlp-types:autosuggest",
      "resultType":"query"
    },
    {
      "title":"mcguinness",
      "highlightedTitle":"<b>mc</b>guinness",
      "completion":"guinness",
      "href": "http://...",
      "type":"urn:nlp-types:autosuggest",
      "resultType":"query"
    },
    ...
  ]
}