Skip to main content

Instrument Market Data

This guide assumes you already have followed the instructions on the offering page to obtain credentials

With this API you can retrieve market data for structured products issued by Vontobel: the latest prices and intraday and daily price history. Products are identified by their ISIN. Prices are returned in the quoting units of the product.

Requesting the latest price overview​

Perform a GET request to:

GET https://spp-product-market-data.api.vontobel.com/v1/products/{isin}/prices/overview

The response looks like the following:

{
"lastPrice": {
"bid": 100.80,
"bidSize": 1000,
"ask": 101.00,
"askSize": 500,
"isQuotingPulled": false,
"observedAtTimestamp": "2024-01-15T10:05:00Z"
},
"lastClose": 100.50,
"lastCloseObservedAtTimestamp": "2024-01-12T21:00:00Z",
"lastCloseMethod": "Valuation",
... (other overview fields)
}

The lastPrice object has one observedAtTimestamp for the quote, while scalar overview prices have corresponding ...ObservedAtTimestamp fields. isQuotingPulled indicates that quoting for the product is currently inactive.

By default all fields are returned. To restrict the response, pass one or more fields parameters: LastPrice, LastOpen, LastHigh, LastLow, LastClose, DailyPerformanceBasePrice, YTDPerformanceBasePrice, LastAccruedInterest

GET https://spp-product-market-data.api.vontobel.com/v1/products/{isin}/prices/overview?fields=LastPrice&fields=LastClose

Reference: see swagger reference

Requesting intraday prices​

Perform a GET request to:

GET https://spp-product-market-data.api.vontobel.com/v1/products/{isin}/prices/intraday?interval=Minute_5&dateFrom=2024-01-15T08:00:00Z&dateTo=2024-01-15T22:00:00Z&fields=OHLC
ParameterDescriptionDefault
intervalTime between data points: Minute_5 or Hour_1Minute_5
dateFromStart date and timeearliest available price
dateToEnd date and timenow (UTC)
fieldsData to return: Close, OHLC (open, high, low, close) or BidAskClose

The response looks like the following:

{
"prices": [
{
"windowOpenTimestamp": "2024-01-15T10:00:00Z",
"windowCloseTimestamp": "2024-01-15T10:05:00Z",
"open": 100.50,
"high": 101.20,
"low": 100.10,
"close": 100.80
}
]
}

Reference: see swagger reference

Requesting daily prices​

Perform a GET request to:

GET https://spp-product-market-data.api.vontobel.com/v1/products/{isin}/prices/daily?dateFrom=2024-01-01&dateTo=2024-01-31
ParameterDescriptionDefault
dateFromStart dateearliest available price
dateToEnd datetoday (UTC)
fieldsData to return: Close, CloseAccruedInterest, OHLC, LastBidAsk or LastBidAskAccruedInterestClose
orderByAscendingtrue to return the oldest date firstfalse (newest first)
countMaximum number of prices to returnall matching prices

The response looks like the following:

{
"prices": [
{
"date": "2024-01-15",
"close": 100.80,
"closeMethod": "Valuation",
"accruedInterest": 0.25
}
]
}

closeMethod tells you how the close price was determined: Valuation, Close (official close) or Last (last observed price of the day).

There is no pagination. To get the latest prices only, combine count with the default descending order, e.g. ?count=1 returns the most recent daily price.

Reference: see swagger reference

Bulk requests​

To retrieve data for several products in a single call, perform a POST request with up to 20 items:

POST https://spp-product-market-data.api.vontobel.com/v1/products/bulk
{
"items": [
{ "$type": "ProductPriceOverviewRequest", "isin": "CH1234567890", "fields": ["LastPrice"] },
{ "$type": "ProductDailyPriceRequest", "isin": "CH1234567890", "count": 5 },
{ "$type": "ProductIntradayPriceRequest", "isin": "CH0987654321", "interval": "Hour_1" }
]
}
note

Each item is polymorphic, based on the $type field: ProductPriceOverviewRequest, ProductIntradayPriceRequest or ProductDailyPriceRequest. Each type takes the same parameters as the corresponding GET endpoint.

The items in the response are returned in the order they were submitted. Each item either has a response or, if that individual request failed, an errorResponse. The top level errors flag is true when at least one item failed.

{
"errors": true,
"items": [
{
"responseIdentifier": { "isin": "CH1234567890" },
"response": { "$type": "ProductPriceOverviewResponse", "lastPrice": { ... } },
"errorResponse": null
},
...
{
"responseIdentifier": { "isin": "CH0987654321" },
"response": null,
"errorResponse": { "status": 400, "title": "...", "detail": "..." }
}
]
}

Reference: see swagger reference