Places (Search) API Developer's Guide

Search Entrypoint

The Search Entrypoint processes text string queries based on the user's input to find specific places. It answers questions of "what" and "where" for an online search of POI or address.

The results of the Search Entrypoint are sets of places that match a user's search term in a specific location context (such as near a given location, around a user's current position or on the currently visible map).

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

Entrypoint URI

/discover/search

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.

nluq String; optional This parameter is used to send structured N-best queries in a JSON format.
Note:

This is a premium feature. Contact your HERE representative or contact us through developer.here.com to request the appropriate license if this feature is not already covered by your agreement.

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

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. For example cs=places,cuisines

GET Method

The GET method provides access to places matching the given term.

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
show_refs Comma-separated list; optional A list of one or more external system names or reference types. This parameter exposes place related external references in response. For a full description see Representation Modifiers documentation.
show_content Comma-separated list; optional A list of one or more available content types you can add to the response. For a full description see Representation Modifiers documentation.

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:search media type. See the urn:nlp-types:search media type documentation for details about the structure and content of the response.

Request Example

https://places.cit.api.here.com/places/v1/discover/search
?app_id={YOUR_APP_ID}
&app_code={YOUR_APP_CODE}
&at=52.5044,13.3909
&q=restaurant
&pretty

Response Example

{
  "search" : {
    "context" : {
      "title" : "Paris",
      "location": {
        "position": [48.85692,2.34121],
        "address": {
          "city": "Paris",
          "country": "France",
          "text": "Paris<br/>France"
        },
        "type" : "urn:nlp-types:place"
      }
    },
    "results" : {
      "items" : [
      {
        "position": [52.5031395, 13.3906403],
        "distance": 0,
        "title": "Wilhelm & Medne",
        "averageRating" : 5.0,
        "category": {
          "title": "Restaurant",
          "type": "urn:nlp-types:category",
          "href": "http://..."
        },
        "icon": "http://...",
        "vicinity": "Hedemannstrasse 14<br/>10969 Berlin<br/>Germany",
        "href": "http://...",
        "type": "urn:nlp-types:place",
        "sponsored" : true,
        "id": "276u33d8-efb829f5b9464e5db8f286ff5fbf5643"
      },
      {
        "position": [52.5046, 13.39087],
        "distance": 11,
        "title": "Speakers Corner",
        "averageRating" : 0.0,
        "category": {
          "title": "Restaurant",
          "type": "urn:nlp-types:category",
          "href": "http://..."
        },
        "icon": "http://...",
        "vicinity": "Friedrichstrasse 31<br/>10969 Berlin<br/>Germany",
        "href": "http://...",
        "type": "urn:nlp-types:place",
        "id": "276u33d8-b08d10d141e4405fbfdabbf017571401"
      }
    ]
  }
}