---
title: "Translate coordinates to the closest address(es)/places/stops."
method: GET
path: "/api/v1/reverse-geocode"
tags: ["geocode"]
---

# Translate coordinates to the closest address(es)/places/stops.

`GET /api/v1/reverse-geocode`

## Query parameters

- `place` string, required
- `type` LocationType[]
- `numResults` integer

## Response `200`

A list of guesses to resolve the coordinates to a location

- Match[]
  - `type` 'ADDRESS' | 'PLACE' | 'STOP', required — location type
  - `category` string — Experimental. Type categories might be adjusted. For OSM stop locations: the amenity type based on https://wiki.openstreetmap.org/wiki/OpenStreetMap_Carto/Symbols
  - `tokens` Token[], required — list of non-overlapping tokens that were matched
    - number[] — Matched token range (from index, length)
  - `name` string, required — name of the location (transit stop / PoI / address)
  - `id` string, required — unique ID of the location
  - `lat` number, required — latitude
  - `lon` number, required — longitude
  - `level` number — level according to OpenStreetMap (at the moment only for public transport)
  - `street` string — street name
  - `houseNumber` string — house number
  - `country` string — ISO3166-1 country code from OpenStreetMap
  - `zip` string — zip code
  - `tz` string — timezone name (e.g. "Europe/Berlin")
  - `areas` Area[], required — list of areas
    - `name` string, required — Name of the area
    - `adminLevel` number, required — [OpenStreetMap `admin_level`](https://wiki.openstreetmap.org/wiki/Key:admin_level) of the area
    - `matched` boolean, required — Whether this area was matched by the input text
    - `unique` boolean — Set for the first area after the `default` area that distinguishes areas if the match is ambiguous regarding (`default` area + place name / street [+ house number]).
    - `default` boolean — Whether this area should be displayed as default area (area with admin level closest 7)
  - `score` number, required — score according to the internal scoring system (the scoring algorithm might change in the future)
  - `modes` Mode[] — available transport modes for stops
  - `importance` number — importance of a stop, normalized from [0, 1]

## Other responses

- `400` — Bad Request

## Changes

- **2026-07-16** `dbfe4b7f2bab` — 1 warning
  - added the new `HGV` enum value to the `items/modes/items/` response property for the response status `200`
- **2026-05-22** `26803b66a16b` — 4 breaking
  - removed the enum value `ADDRESS` from the `query` request parameter `type`
  - removed the enum value `PLACE` from the `query` request parameter `type`
  - removed the enum value `STOP` from the `query` request parameter `type`
  - for the `query` request parameter `type`, the type/format was changed from `string`/`` to `array`/``
- **2026-04-16** `fcec2b4dd976` — 1 info
  - added the new optional `query` request parameter `numResults`
- **2026-02-22** `6775a2d6764d` — 3 warning
  - added the new `DEBUG_BUS_ROUTE` enum value to the `items/modes/items/` response property for the response status `200`
  - added the new `DEBUG_FERRY_ROUTE` enum value to the `items/modes/items/` response property for the response status `200`
  - added the new `DEBUG_RAILWAY_ROUTE` enum value to the `items/modes/items/` response property for the response status `200`
- **2026-02-21** `b7bf68a0d6f3` — 1 breaking, 1 warning, 8 info
  - the `query` request parameter `type` was restricted to a list of enum values
  - deleted the `query` request parameter `numResults`
  - added the new enum value `ADDRESS` to the `query` request parameter `type`
  - added the new enum value `PLACE` to the `query` request parameter `type`
  - …6 more

[Change history](https://skmtc.dev/motis-project/apis/motis-api/changes/api/v1/reverse-geocode/get.md)

---

[API](https://skmtc.dev/motis-project/apis/motis-api.md) · [All operations](https://skmtc.dev/motis-project/apis/motis-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/motis-project/motis-api/revisions/faf7ed029357/schema)
