# Watchlist API

Watchlists are user-customisable lists of financial instruments. The Watchlist API provides an interface to watchlists that are managed, and persisted between user sessions, by Transformer’s Watchlist Service.

A watchlist created with the Watchlist API is shareable in real time between a user’s devices. This is achieved by hosting the configuration of the watchlist (the list of instruments within the watchlist) as a persistent [container](../../../caplin-platform/datasource/datasource-containers.md) on Transformer. This enables changes to the list to be shared between supporting [StreamLink](../../../caplin-platform/streamlink/index.md) clients as fast as a price update would be.

![SynchronisedWatchlistsOverview](../../../images/SynchronisedWatchlistsOverview.png)

The Watchlist API provides methods for creating, renaming and deleting watchlists, and methods for changing the financial instruments monitored by each watchlist.

The API is included with **Caplin Trader 4.0.3**, and requires at least **Transformer 6.2.3** running the **Watchlist Service 6.2.2**.

## Features

### Real time synchronisation between devices

Watchlist configurations are hosted centrally in Transformer as private containers. Changes to a watchlist’s configuration are automatically pushed to concurrent user-sessions on other devices.

### Integrates with Caplin Trader’s Grid component

The Watchlist API includes an implementation of the GridDataProvider interface, which takes the hard work out of creating a dynamic link between a grid and a Transformer-hosted watchlist

### Application neutral

Any Streamlink application that supports Transformer-hosted watchlists can make use of the watchlists created using Caplin Trader’s Watchlist API.

### Ease of migration

Caplin Trader GUI components that use the Watchlist API can exist alongside components that use watchlists persisted by [Webcentric](../webcentric/index.md).
