<!--
{
  "availability" : [
    "MapKit JS: 5.75.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKitJS",
  "identifier" : "/documentation/MapKitJS/MapKitInitializationOptions/libraries",
  "metadataVersion" : "0.1.0",
  "role" : "Interface Property",
  "symbol" : {
    "kind" : "Interface Property",
    "modules" : [
      "MapKit JS"
    ],
    "preciseIdentifier" : "structp/mapkit.MapKitInitializationOptions/libraries"
  },
  "title" : "libraries"
}
-->

# libraries

An array of libraries to load at initialization.

```
libraries?: string[];
```

## Discussion

> Note:
> The full bundle of MapKit JS ignores this option.

MapKit JS divides its interfaces into libraries that you can specify when loading the framework. To optimize your app load time, pick only the interfaces you need:

- `services`: All services interfaces (such as Search and Geocoder) and relevant data types.
- `full-map`: All `mapkit.Map` features and relevant data types.
- `map`: Basic `mapkit.Map` features without overlays, annotations, and relevant data types.
- `overlays`: Overlays, data types, and displays on [`Map`](/documentation/MapKitJS/Map).
- `annotations`: Annotations, data types, and displays on [`Map`](/documentation/MapKitJS/Map).
- `geojson`: The GeoJSON importer.
- `user-location`: User location display and controls on [`Map`](/documentation/MapKitJS/Map).
- `look-around`: [`LookAround`](/documentation/MapKitJS/LookAround) and [`LookAroundPreview`](/documentation/MapKitJS/LookAroundPreview).

You can set the libraries to load statically by defining them within script tag in the `data-libraries` attribute or in the [`load(libraryNames)`](/documentation/MapKitJS/mapkit/load) method, or by passing a `libraries` property in the [`init(options)`](/documentation/MapKitJS/mapkit/init) options.

---

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)