<!--
{
  "availability" : [
    "MapKit JS: 5.46.0 - 6.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "MapKitJS",
  "identifier" : "/documentation/MapKitJS/Directions/eta1",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "MapKit JS"
    ],
    "preciseIdentifier" : "instm/mapkit.Directions/eta1"
  },
  "title" : "eta(request, callback)"
}
-->

# eta(request, callback)

Retrieves estimated arrival times to up to 10 destinations from a single starting point.

```
eta(
    request: EtaRequestOptions,
    callback: (error: Error | null, result: EtaResponse | null) => void,
): Promise<EtaResponse>;
```

## Parameters

`request`

An [`EtaRequestOptions`](/documentation/MapKitJS/EtaRequestOptions) object that specifies details for the server to provide estimated arrival times at one or more destinations.

`callback`

A callback function that receives the estimated time response object, returned asynchronously.

## Return Value

A promise that resolves with an [`EtaResponse`](/documentation/MapKitJS/EtaResponse) on success.

## Discussion

To get a set of estimated arrival times, provide an [`EtaRequestOptions`](/documentation/MapKitJS/EtaRequestOptions) object when you call the [`eta(request, callback)`](/documentation/MapKitJS/Directions/eta1) method. You can provide up to 10 destinations. The server returns an error if you request more than 10 destinations in a single request.

Estimated times are returned asynchronously via a callback function. MapKit JS invokes the callback function with two arguments, `error` on failure and `data` on success.

`error` contains an error code and a text description of the error. `data` is an [`EtaResponse`](/documentation/MapKitJS/EtaResponse) object.

---

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)