openapi: 3.0.0 info: contact: x-twitter: TomTom description: "The Maps API web services suite offers the following APIs:\n - Raster\n The Maps Raster API renders map data that is divided into gridded sections called tiles. Tiles are square images (png or jpg format) in various sizes which are available at 19 different zoom levels, ranging from 0 to 20. For zoom level 0, the entire earth is displayed on one single tile, while at zoom level 20, the world is divided into 240 tiles.\n - Vector\n Similar to Maps Raster API, the Maps Vector API serves data on different zoom level ranging from 0 to 22. For zoom level 0, the entire earth is displayed on one single tile, while at zoom level 22, the world is divided into 244 tiles.\n The Maps Vector Service delivers geographic map data packaged in a vector representation of squared sections called vector tiles. Each tile includes pre-defined collections of map features (points, lines, road shapes, water polygons, building footprints, ect.) delivered in one of the specified vector formats. Format of the tile is formally described using protobuf schema." title: Maps Additional Data Search API version: 1.0.0 x-apisguru-categories: - location x-logo: url: https://twitter.com/TomTom/profile_image?size=original x-origin: - converter: url: https://github.com/lucybot/api-spec-converter version: 2.7.31 format: openapi url: https://developer.tomtom.com/system/files/swagger_models/maps_api_0.yaml version: '3.0' x-providerName: tomtom.com x-serviceName: maps servers: - url: https://api.tomtom.com security: - api_key: [] tags: - name: Search paths: /search/{versionNumber}/cS/{category}.{ext}: get: deprecated: true parameters: - $ref: '#/components/parameters/versionNumber' - description: Query string. Must be properly URL encoded. example: pizza in: path name: category required: true schema: type: string - $ref: '#/components/parameters/ext' - $ref: '#/components/parameters/typeahead' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/ofs' - $ref: '#/components/parameters/countrySet' - $ref: '#/components/parameters/lat' - $ref: '#/components/parameters/lon' - $ref: '#/components/parameters/radius' - $ref: '#/components/parameters/topLeft' - $ref: '#/components/parameters/btmRight' - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/idxSet' - $ref: '#/components/parameters/view' responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Low Bandwith Category Search tags: - Search /search/{versionNumber}/categorySearch/{query}.{ext}: get: parameters: - $ref: '#/components/parameters/versionNumber' - description: Query string. Must be properly URL encoded. example: pizza in: path name: query required: true schema: type: string - $ref: '#/components/parameters/ext' - $ref: '#/components/parameters/typeahead' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/ofs' - $ref: '#/components/parameters/countrySet' - $ref: '#/components/parameters/lat' - $ref: '#/components/parameters/lon' - $ref: '#/components/parameters/radius' - $ref: '#/components/parameters/topLeft' - $ref: '#/components/parameters/btmRight' - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/extendedPostalCodesFor' - $ref: '#/components/parameters/view' responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Category Search tags: - Search /search/{versionNumber}/geometrySearch/{query}.{ext}: get: parameters: - $ref: '#/components/parameters/versionNumber' - description: Query string. Must be properly URL encoded. example: pizza in: path name: query required: true schema: type: string - $ref: '#/components/parameters/ext' - description: List of geometries to filter by. Available types are CIRCLE (with the radius expressed in meters) and POLYGON. example: '[{"type":"POLYGON", "vertices":["37.7524152343544, -122.43576049804686", "37.70660472542312, -122.43301391601562", "37.712059855877314, -122.36434936523438", "37.75350561243041, -122.37396240234374"]}, {"type":"CIRCLE", "position":"37.71205, -121.36434", "radius":6000}, {"type":"CIRCLE", "position":"37.31205, -121.36434", "radius":1000}]' in: query name: geometryList schema: type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/extendedPostalCodesFor' - $ref: '#/components/parameters/idxSet' responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Geometry Search tags: - Search post: parameters: - $ref: '#/components/parameters/versionNumber' - description: Query string. Must be properly URL encoded. example: pizza in: path name: query required: true schema: type: string - $ref: '#/components/parameters/ext' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/extendedPostalCodesFor' - $ref: '#/components/parameters/idxSet' requestBody: content: application/json: schema: example: geometryList: - type: POLYGON vertices: - 37.7524152343544,-122.43576049804686 - 37.70660472542312,-122.43301391601562 - 37.712059855877314,-122.36434936523438 - 37.75350561243041,-122.37396240234374 - position: 37.71205,-121.36434 radius: 6000 type: CIRCLE - position: 37.31205,-121.36434 radius: 1000 type: CIRCLE properties: geometryList: items: properties: position: type: string radius: type: integer type: type: string vertices: items: type: string type: array type: object type: array type: object responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Geometry Search tags: - Search /search/{versionNumber}/nearbySearch/.{ext}: get: parameters: - $ref: '#/components/parameters/versionNumber' - $ref: '#/components/parameters/ext' - description: "Latitude where results should be biased. \nNOTE: supplying a lat/lon without a radius will return search results biased to that point." example: 37.337 in: query name: lat required: true schema: format: float type: number - description: 'Longitude where results should be biased NOTE: supplying a lat/lon without a radius will return search results biased to that point.' example: -121.89 in: query name: lon required: true schema: format: float type: number - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/ofs' - $ref: '#/components/parameters/countrySet' - description: If radius and position are set, the results will be constrained to the defined area. The radius parameter is specified in meters. in: query name: radius schema: default: 10000 maximum: 50000 type: integer - deprecated: true description: Top left position of the bounding box. This is specified as a comma separated string composed of lat., lon. example: 37.553,-122.453 in: query name: topLeft schema: type: string - deprecated: true description: Bottom right position of the bounding box. This is specified as a comma separated string composed of lat., lon. example: 37.4,-122.55 in: query name: btmRight schema: type: string - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/extendedPostalCodesFor' - $ref: '#/components/parameters/minFuzzyLevel' - $ref: '#/components/parameters/maxFuzzyLevel' - $ref: '#/components/parameters/idxSet' - $ref: '#/components/parameters/view' responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Nearby Search tags: - Search /search/{versionNumber}/poiSearch/{query}.{ext}: get: parameters: - $ref: '#/components/parameters/versionNumber' - description: Query string. Must be properly URL encoded. example: pizza in: path name: query required: true schema: type: string - $ref: '#/components/parameters/ext' - $ref: '#/components/parameters/typeahead' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/ofs' - $ref: '#/components/parameters/countrySet' - $ref: '#/components/parameters/lat' - $ref: '#/components/parameters/lon' - $ref: '#/components/parameters/radius' - $ref: '#/components/parameters/topLeft' - $ref: '#/components/parameters/btmRight' - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/extendedPostalCodesFor' - $ref: '#/components/parameters/view' responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Points of Interest Search tags: - Search /search/{versionNumber}/routedSearch/{query}/{position}/{heading}.{ext}: get: deprecated: true parameters: - $ref: '#/components/parameters/versionNumber' - description: Query string. Must be properly URL encoded. example: gas in: path name: query required: true schema: type: string - $ref: '#/components/parameters/position' - description: The directional heading in degrees, usually similar to the course along a road segment. Entered in degrees, measured clockwise from north (so north is 0, east is 90, etc.) example: 90 in: path name: heading required: true schema: format: float type: number - $ref: '#/components/parameters/ext' - $ref: '#/components/parameters/typeahead' - $ref: '#/components/parameters/limit' - description: Multiplies the limit by N to gather more candidate POIs, which will then be sorted by drive distance, returning only the top candidates according to the limit. in: query name: multiplier schema: default: 2 type: integer - $ref: '#/components/parameters/routingTimeout' - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/extendedPostalCodesFor' - $ref: '#/components/parameters/idxSet' responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Routed Search tags: - Search /search/{versionNumber}/s/{query}.{ext}: get: deprecated: true parameters: - $ref: '#/components/parameters/versionNumber' - description: Query string. Must be properly URL encoded. example: pizza in: path name: query required: true schema: type: string - $ref: '#/components/parameters/ext' - $ref: '#/components/parameters/typeahead' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/ofs' - $ref: '#/components/parameters/countrySet' - $ref: '#/components/parameters/lat' - $ref: '#/components/parameters/lon' - $ref: '#/components/parameters/radius' - $ref: '#/components/parameters/topLeft' - $ref: '#/components/parameters/btmRight' - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/idxSet' - $ref: '#/components/parameters/view' responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Low Bandwith Search tags: - Search /search/{versionNumber}/search/{query}.{ext}: get: parameters: - $ref: '#/components/parameters/versionNumber' - description: 'Query string. Must be properly URL encoded. To perform a reverse geocode, the user can provide latitude and longitude coordinates directly in the query. More information can be found here.' example: pizza in: path name: query required: true schema: type: string - $ref: '#/components/parameters/ext' - $ref: '#/components/parameters/typeahead' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/ofs' - $ref: '#/components/parameters/countrySet' - $ref: '#/components/parameters/lat' - $ref: '#/components/parameters/lon' - $ref: '#/components/parameters/radius' - $ref: '#/components/parameters/topLeft' - $ref: '#/components/parameters/btmRight' - $ref: '#/components/parameters/language' - $ref: '#/components/parameters/extendedPostalCodesFor' - $ref: '#/components/parameters/minFuzzyLevel' - $ref: '#/components/parameters/maxFuzzyLevel' - $ref: '#/components/parameters/idxSet' - $ref: '#/components/parameters/view' responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Fuzzy Search tags: - Search /search/{versionNumber}/searchAlongRoute/{query}.{ext}: post: parameters: - $ref: '#/components/parameters/versionNumber' - description: Query string. Must be properly URL encoded. example: pizza in: path name: query required: true schema: type: string - $ref: '#/components/parameters/ext' - description: Maximum detour time example: 1200 in: query name: maxDetourTime required: true schema: maximum: 3600 type: integer - $ref: '#/components/parameters/limit' requestBody: content: application/json: schema: example: route: points: - lat: 37.7524152343544 lon: -122.43576049804686 - lat: 37.70660472542312 lon: -122.43301391601562 - lat: 37.712059855877314 lon: -122.36434936523438 - lat: 37.75350561243041 lon: -122.37396240234374 properties: route: properties: points: items: properties: lat: format: float type: number lon: format: float type: number type: object type: array type: object type: object responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' '405': $ref: '#/components/responses/405' 404/596: $ref: '#/components/responses/404596' 5XX: $ref: '#/components/responses/5xx' summary: Along Route Search tags: - Search components: parameters: ofs: description: Starting offset of the returned results within the full result set. in: query name: ofs schema: default: 0 maximum: 1900 type: integer language: description: Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. in: query name: language schema: type: string extendedPostalCodesFor: description: "Indexes for which extended postal codes should be included in the results. Available indexes are:\n - Addr = Address ranges\n - Geo = Geographies\n - PAD = Point Addresses\n - POI = Points of Interest\n - Str = Streets\n - XStr = Cross Streets (intersections)" in: query name: extendedPostalCodesFor schema: type: string topLeft: description: Top left position of the bounding box. This is specified as a comma separated string composed of lat., lon. example: 37.553,-122.453 in: query name: topLeft schema: type: string routingTimeout: description: Only return results that arrive from routing engine within this time limit. in: query name: routingTimeout schema: default: 4000 type: integer position: description: This is specified as a comma separated string composed of lat., lon. example: 37.8328,-122.27669 in: path name: position required: true schema: type: string lat: description: "Latitude where results should be biased. \nNOTE: supplying a lat/lon without a radius will return search results biased to that point." example: 37.337 in: query name: lat schema: format: float type: number ext: description: Expected response format. example: xml in: path name: ext required: true schema: enum: - json - jsonp - js - xml type: string lon: description: 'Longitude where results should be biased NOTE: supplying a lat/lon without a radius will return search results biased to that point.' example: -121.89 in: query name: lon schema: format: float type: number limit: description: Maximum number of search results that will be returned. in: query name: limit schema: default: 10 maximum: 100 type: integer btmRight: description: Bottom right position of the bounding box. This is specified as a comma separated string composed of lat., lon. example: 37.4,-122.55 in: query name: btmRight schema: type: string minFuzzyLevel: description: Minimum fuzziness level to be used. in: query name: minFuzzyLevel schema: default: 1 maximum: 4 minimum: 1 type: integer radius: description: If radius and position are set, the results will be constrained to the defined area. The radius parameter is specified in meters. in: query name: radius schema: type: integer countrySet: description: Comma separated string of country codes. This will limit the search to the specified countries. example: FR in: query name: countrySet schema: type: string versionNumber: description: Service version number. The current value is 2. in: path name: versionNumber required: true schema: enum: - 2 type: integer maxFuzzyLevel: description: Maximum fuzziness level to be used. in: query name: maxFuzzyLevel schema: default: 2 maximum: 4 minimum: 1 type: integer view: description: Geopolitical View. in: query name: view required: false schema: default: Unified enum: - Unified - IN - PK - IL - MA type: string typeahead: description: If the "typeahead" flag is set, the query will be interpreted as a partial input and the search will enter predictive mode. in: query name: typeahead schema: default: false type: boolean idxSet: description: "A comma separated list of indexes which should be utilized for the search. Item order does not matter. Available indexes are:\n - Addr = Address range interpolation (when there is no PAD)\n - Geo = Geographies\n - PAD = Point Addresses\n - POI = Points of interest\n - Str = Streets\n - Xstr = Cross Streets (intersections)" example: POI in: query name: idxSet schema: type: string responses: '404596': description: 'Not Found: the HTTP request method (GET, POST, etc) or path is incorrect.' '403': description: "Forbidden: possible causes include:\n - Service requires SSL\n - Not authorized\n - Rate or volume limit exceeded\n - Unknown referer" '405': description: 'Method Not Allowed: the HTTP method (GET, POST, etc) is not supported for this request.' 5xx: description: An error occurred while processing the request. Please try again later. '200': description: 'OK: the search successfully returned zero or more results.' '400': description: 'Bad Request: one or more parameters were incorrectly specified.' securitySchemes: api_key: in: query name: key type: apiKey