# Storage
The API for interacting with local storage.

## StandardApi
The base API object provided to `purchase` extension targets.
### Docs_Standard_StorageApi

### storage
The key-value storage for the extension.

It uses `localStorage` and should persist across the customer's current checkout session.

> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.

Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage.
### Storage
A key-value storage object for the extension.

Stored data is only available to this specific extension and any of its instances.

The storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.
### delete
Delete stored data by key.
### read
Read and return a stored value by key.

The stored data is deserialized from JSON and returned as its original primitive.

Returns `null` if no stored data exists.
### write
Write stored data for this key.

The data must be serializable to JSON.
## Related
- [Targets](/docs/api/checkout-ui-extensions/targets)
- [Components](/docs/api/checkout-ui-extensions/components)
- [Configuration](/docs/api/checkout-ui-extensions/configuration)
- [Tutorials](/apps/checkout)
## useStorage
Returns the key-value `Storage` interface for the extension target.
### UseStorageGeneratedType
Returns the key-value `Storage` interface for the extension. Uses `localStorage` and should persist across the buyer's current checkout session. However, data persistence isn't guaranteed and storage is reset when the buyer starts a new checkout.

Data is shared across all activated extension targets of this extension. In versions `<=2023-07`, each activated extension target had its own storage.
#### Returns: Storage

export function useStorage<
  Target extends RenderExtensionTarget = RenderExtensionTarget,
>(): Storage {
  return useApi<Target>().storage;
}
### Storage
A key-value storage object for the extension.

Stored data is only available to this specific extension and any of its instances.

The storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.
### delete
Delete stored data by key.
### read
Read and return a stored value by key.

The stored data is deserialized from JSON and returned as its original primitive.

Returns `null` if no stored data exists.
### write
Write stored data for this key.

The data must be serializable to JSON.
## Related
- [Targets](/docs/api/checkout-ui-extensions/targets)
- [Components](/docs/api/checkout-ui-extensions/components)
- [Configuration](/docs/api/checkout-ui-extensions/configuration)
- [Tutorials](/apps/checkout)