Market Data
Query venues, instruments, and order books from connected exchanges.
List Venues
Get all available exchanges:
- Python
- TypeScript
- Go
response = market_api.list_market_venues()
venues = response.data
for venue in venues:
print(f"Venue: {venue.venue}")
const response = await marketApi.listMarketVenues()
const venues = response.data.data
venues.forEach(venue => {
console.log(`Venue: ${venue.venue}`)
})
response, _, err := apiClient.MarketAPI.ListMarketVenues(ctx).Execute()
if err != nil {
panic(err)
}
for _, venue := range response.Data {
fmt.Printf("Venue: %s\n", *venue.Venue)
}
List Instruments
Get tradeable instruments for a venue:
- Python
- TypeScript
- Go
response = market_api.list_market_instruments(
venue=cadenza_client.Venue.BINANCE,
limit=5
)
instruments = response.data
for inst in instruments:
print(f"{inst.instrument_id}: {inst.base_asset}/{inst.quote_asset}")
const response = await marketApi.listMarketInstruments(
undefined, // instrumentId
'BINANCE', // venue
undefined, // symbol
undefined, // instrumentType
undefined, // instrumentStatus
5 // limit
)
const instruments = response.data.data
instruments.forEach(inst => {
console.log(`${inst.instrumentId}: ${inst.baseAsset}/${inst.quoteAsset}`)
})
venue := client.VENUE_BINANCE
limit := int32(5)
response, _, err := apiClient.MarketAPI.ListMarketInstruments(ctx).
Venue(venue).
Limit(limit).
Execute()
if err != nil {
panic(err)
}
for _, inst := range response.Data {
fmt.Printf("%s: %s/%s\n", *inst.InstrumentId, *inst.BaseAsset, *inst.QuoteAsset)
}
Get Order Book
Retrieve the order book for an instrument:
- Python
- TypeScript
- Go
response = market_api.get_market_order_book(
venue=cadenza_client.Venue.BINANCE,
symbol="BTC/USDT"
)
order_book = response.data
print(f"Best bid: {order_book.bids[0]}")
print(f"Best ask: {order_book.asks[0]}")
const response = await marketApi.getMarketOrderBook(
undefined, // instrumentId
'BINANCE', // venue
'BTC/USDT' // symbol
)
const orderBook = response.data.data
console.log('Best bid:', orderBook.bids[0])
console.log('Best ask:', orderBook.asks[0])
venue := client.VENUE_BINANCE
symbol := "BTC/USDT"
response, _, err := apiClient.MarketAPI.GetMarketOrderBook(ctx).
Venue(venue).
Symbol(symbol).
Execute()
if err != nil {
panic(err)
}
orderBook := response.Data
fmt.Printf("Best bid: %v\n", orderBook.Bids[0])
fmt.Printf("Best ask: %v\n", orderBook.Asks[0])
Real-time Order Book
For real-time order book updates, subscribe to the market:orderBook:{instrumentId} channel. See the Quick Start for WebSocket setup.