<!--
{
  "availability" : [
    "MapKit JS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKitJS",
  "identifier" : "/documentation/MapKitJS/Geocoder/lookup",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "MapKit JS"
    ],
    "preciseIdentifier" : "instm/mapkit.Geocoder/lookup"
  },
  "title" : "lookup(place, options)"
}
-->

# lookup(place, options)

Converts an address to geographic coordinates.

```
lookup(
    place: string,
    options?: GeocoderLookupOptions,
): Promise<GeocoderResponse>;
```

## Parameters

`place`

A case-insensitive string MapKit JS converts to geographic coordinates, such as: “`San Francisco City Hall`”, “`San Francisco City Hall, San Francisco`”, “`San Francisco City Hall, San Francisco, CA USA`”. Delimiter characters are optional.

`options`

Options that constrain geocoder lookup results to a specific area or a specific language. See [`GeocoderLookupOptions`](/documentation/MapKitJS/GeocoderLookupOptions).

## Return Value

A promise that resolves with a [`GeocoderResponse`](/documentation/MapKitJS/GeocoderResponse) on success, or rejects with an `Error` on failure.

## Discussion

Geocoding converts a human-readable address to latitude and longitude coordinates. You can use [`Geocoder`](/documentation/MapKitJS/Geocoder) to look up coordinates for a city, landmark, or address.

The resolved [`GeocoderResponse`](/documentation/MapKitJS/GeocoderResponse) contains an array of places named [`results`](/documentation/MapKitJS/GeocoderResponse/results). Each place in [`results`](/documentation/MapKitJS/GeocoderResponse/results) has a [`coordinate`](/documentation/MapKitJS/Place/coordinate) property and a [`formattedAddress`](/documentation/MapKitJS/Place/formattedAddress) property. [`results`](/documentation/MapKitJS/GeocoderResponse/results) is an empty array if there isn’t a match.

Pass an `AbortSignal` from an `AbortController` to the [`signal`](/documentation/MapKitJS/GeocoderLookupOptions/signal) option to allow the controller to cancel a pending request. When the controller aborts, the promise it returns rejects with a `DOMException` whose `name` is `"AbortError"`.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)