Futures

Example context

import { createClientConfig, QuoteClient } from '@tigeropenapi/tigeropen';

const config = createClientConfig();
const quoteClient = QuoteClient.fromConfig(config);

getFutureExchange

Signature

async getFutureExchange(): Promise<FutureExchange[]>

Purpose

Gets future exchange.

Parameters, defaults, and constraints

No parameters.

Returns

Promise<FutureExchange[]>

FieldTypeDescription
codestringExchange code
namestringName
zoneIdstringTime zone ID

Type-checked example

const result = await quoteClient.getFutureExchange();
console.log(result);

Response example

[
  {
    "code": "string",
    "name": "string",
    "zoneId": "string"
  }
]

Rate limit: The base limit is 10 requests per minute.


getFutureContracts

Signature

async getFutureContracts(exchange: string): Promise<FutureContractInfo[]>

Purpose

Gets future contracts.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
exchangestringYesNoneNone.

Returns

Promise<FutureContractInfo[]>

FieldTypeDescription
continuousbooleanWhether continuous contract
tradebooleanWhether tradable
typestringContract type
contractCodestringContract code
ibCodestringIB code
namestringName
contractMonthstringContract month
lastTradingDatestringLast trading date
firstNoticeDatestringFirst notice date
lastBiddingCloseTimenumberLast bidding close time
currencystringCurrency
exchangeCodestringExchange code
multipliernumberContract multiplier
minTicknumberMinimum tick size
displayMultipliernumberDisplay multiplier
exchangestringExchange
productWorthstringContract value
deliveryModestringDelivery mode
productTypestringProduct type
productScalestringProduct scale
lastTradingTimestampnumberLast trading timestamp

Type-checked example

const result = await quoteClient.getFutureContracts('CME');
console.log(result);

Response example

[
  {
    "continuous": true,
    "trade": true,
    "type": "string",
    "contractCode": "string",
    "ibCode": "string",
    "name": "string",
    "contractMonth": "string",
    "lastTradingDate": "string",
    "firstNoticeDate": "string",
    "lastBiddingCloseTime": 0,
    "currency": "string",
    "exchangeCode": "string",
    "multiplier": 0,
    "minTick": 0,
    "displayMultiplier": 0,
    "exchange": "string",
    "productWorth": "string",
    "deliveryMode": "string",
    "productType": "string",
    "productScale": "string",
    "lastTradingTimestamp": 0
  }
]

Rate limit: The base limit is 120 requests per minute.


getFutureContract

Signature

async getFutureContract(req: FutureContractSingleRequest): Promise<FutureContractInfo[]>

Purpose

Gets future contract.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureContractSingleRequestYesNoneNone.
req.contractCodestring | undefinedNoNoneNone.
req.typestring | undefinedNoNoneNone.
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureContractInfo[]>

FieldTypeDescription
continuousbooleanWhether continuous contract
tradebooleanWhether tradable
typestringContract type
contractCodestringContract code
ibCodestringIB code
namestringName
contractMonthstringContract month
lastTradingDatestringLast trading date
firstNoticeDatestringFirst notice date
lastBiddingCloseTimenumberLast bidding close time
currencystringCurrency
exchangeCodestringExchange code
multipliernumberContract multiplier
minTicknumberMinimum tick size
displayMultipliernumberDisplay multiplier
exchangestringExchange
productWorthstringContract value
deliveryModestringDelivery mode
productTypestringProduct type
productScalestringProduct scale
lastTradingTimestampnumberLast trading timestamp

Type-checked example

const result = await quoteClient.getFutureContract({ contractCode: 'MEUR2609' });
console.log(result);

Response example

[
  {
    "continuous": true,
    "trade": true,
    "type": "string",
    "contractCode": "string",
    "ibCode": "string",
    "name": "string",
    "contractMonth": "string",
    "lastTradingDate": "string",
    "firstNoticeDate": "string",
    "lastBiddingCloseTime": 0,
    "currency": "string",
    "exchangeCode": "string",
    "multiplier": 0,
    "minTick": 0,
    "displayMultiplier": 0,
    "exchange": "string",
    "productWorth": "string",
    "deliveryMode": "string",
    "productType": "string",
    "productScale": "string",
    "lastTradingTimestamp": 0
  }
]

Rate limit: The base limit is 120 requests per minute.


getAllFutureContracts

Signature

async getAllFutureContracts(req: AllFutureContractsRequest): Promise<FutureContractInfo[]>

Purpose

Gets all future contracts.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqAllFutureContractsRequestYesNoneNone.
req.typestring | undefinedNoNoneNone.
req.exchangestring | undefinedNoNoneNone.
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureContractInfo[]>

FieldTypeDescription
continuousbooleanWhether continuous contract
tradebooleanWhether tradable
typestringContract type
contractCodestringContract code
ibCodestringIB code
namestringName
contractMonthstringContract month
lastTradingDatestringLast trading date
firstNoticeDatestringFirst notice date
lastBiddingCloseTimenumberLast bidding close time
currencystringCurrency
exchangeCodestringExchange code
multipliernumberContract multiplier
minTicknumberMinimum tick size
displayMultipliernumberDisplay multiplier
exchangestringExchange
productWorthstringContract value
deliveryModestringDelivery mode
productTypestringProduct type
productScalestringProduct scale
lastTradingTimestampnumberLast trading timestamp

Type-checked example

const result = await quoteClient.getAllFutureContracts({ type: 'MEUR' });
console.log(result);

Response example

[
  {
    "continuous": true,
    "trade": true,
    "type": "string",
    "contractCode": "string",
    "ibCode": "string",
    "name": "string",
    "contractMonth": "string",
    "lastTradingDate": "string",
    "firstNoticeDate": "string",
    "lastBiddingCloseTime": 0,
    "currency": "string",
    "exchangeCode": "string",
    "multiplier": 0,
    "minTick": 0,
    "displayMultiplier": 0,
    "exchange": "string",
    "productWorth": "string",
    "deliveryMode": "string",
    "productType": "string",
    "productScale": "string",
    "lastTradingTimestamp": 0
  }
]

getCurrentFutureContract

Signature

async getCurrentFutureContract(req: FutureContractSingleRequest): Promise<FutureContractInfo | undefined>

Purpose

Gets current future contract.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureContractSingleRequestYesNoneNone.
req.contractCodestring | undefinedNoNoneNone.
req.typestring | undefinedNoNoneNone.
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureContractInfo | undefined>

FieldTypeDescription
continuousbooleanWhether continuous contract
tradebooleanWhether tradable
typestringContract type
contractCodestringContract code
ibCodestringIB code
namestringName
contractMonthstringContract month
lastTradingDatestringLast trading date
firstNoticeDatestringFirst notice date
lastBiddingCloseTimenumberLast bidding close time
currencystringCurrency
exchangeCodestringExchange code
multipliernumberContract multiplier
minTicknumberMinimum tick size
displayMultipliernumberDisplay multiplier
exchangestringExchange
productWorthstringContract value
deliveryModestringDelivery mode
productTypestringProduct type
productScalestringProduct scale
lastTradingTimestampnumberLast trading timestamp

Type-checked example

const result = await quoteClient.getCurrentFutureContract({ type: 'MEUR' });
console.log(result);

Response example

{
  "continuous": true,
  "trade": true,
  "type": "string",
  "contractCode": "string",
  "ibCode": "string",
  "name": "string",
  "contractMonth": "string",
  "lastTradingDate": "string",
  "firstNoticeDate": "string",
  "lastBiddingCloseTime": 0,
  "currency": "string",
  "exchangeCode": "string",
  "multiplier": 0,
  "minTick": 0,
  "displayMultiplier": 0,
  "exchange": "string",
  "productWorth": "string",
  "deliveryMode": "string",
  "productType": "string",
  "productScale": "string",
  "lastTradingTimestamp": 0
}

Rate limit: The base limit is 120 requests per minute.


getFutureContinuousContracts

Signature

async getFutureContinuousContracts(req: FutureContinuousContractsRequest): Promise<FutureContractInfo[]>

Purpose

Gets future continuous contracts.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureContinuousContractsRequestYesNoneNone.
req.typestring | undefinedNoNoneNone.
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureContractInfo[]>

FieldTypeDescription
continuousbooleanWhether continuous contract
tradebooleanWhether tradable
typestringContract type
contractCodestringContract code
ibCodestringIB code
namestringName
contractMonthstringContract month
lastTradingDatestringLast trading date
firstNoticeDatestringFirst notice date
lastBiddingCloseTimenumberLast bidding close time
currencystringCurrency
exchangeCodestringExchange code
multipliernumberContract multiplier
minTicknumberMinimum tick size
displayMultipliernumberDisplay multiplier
exchangestringExchange
productWorthstringContract value
deliveryModestringDelivery mode
productTypestringProduct type
productScalestringProduct scale
lastTradingTimestampnumberLast trading timestamp

Type-checked example

const result = await quoteClient.getFutureContinuousContracts({ type: 'MEUR' });
console.log(result);

Response example

[
  {
    "continuous": true,
    "trade": true,
    "type": "string",
    "contractCode": "string",
    "ibCode": "string",
    "name": "string",
    "contractMonth": "string",
    "lastTradingDate": "string",
    "firstNoticeDate": "string",
    "lastBiddingCloseTime": 0,
    "currency": "string",
    "exchangeCode": "string",
    "multiplier": 0,
    "minTick": 0,
    "displayMultiplier": 0,
    "exchange": "string",
    "productWorth": "string",
    "deliveryMode": "string",
    "productType": "string",
    "productScale": "string",
    "lastTradingTimestamp": 0
  }
]

Rate limit: The base limit is 120 requests per minute.


getFutureHistoryMainContract

This API is not supported by the server.

Signature

async getFutureHistoryMainContract(req: FutureHistoryMainContractRequest): Promise<FutureMainContractHistory[]>

Purpose

Gets future history main contract.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureHistoryMainContractRequestYesNoneNone.
req.contractCodesstring[] | undefinedYesNoneNon-empty; at most 50 contract codes
req.beginTimenumber | undefinedYesNoneUnix timestamp in milliseconds
req.endTimenumber | undefinedYesNoneUnix timestamp in milliseconds
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureMainContractHistory[]>

FieldTypeDescription
contractCodestringContract code
symbolstringSymbol code
beginDatestringBegin date
endDatestringEnd date

Type-checked example

const result = await quoteClient.getFutureHistoryMainContract({ contractCodes: ['MEUR2609'], beginTime: Date.UTC(2026, 0, 1), endTime: Date.UTC(2026, 6, 31) });
console.log(result);

Response example

[
  {
    "contractCode": "string",
    "symbol": "string",
    "beginDate": "string",
    "endDate": "string"
  }
]

getFutureRealTimeQuote

Signature

async getFutureRealTimeQuote(req: FutureBriefRequest): Promise<FutureQuote[]>

Purpose

Gets real-time futures quotes.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureBriefRequestYesNoneNone.
req.contractCodesstring[] | undefinedYesNoneNon-empty; at most 50 contract codes
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureQuote[]>

FieldTypeDescription
contractCodestringContract code
latestPricenumberLatest price
latestSizenumberLatest trade size
latestTimenumberLatest trade time (ms timestamp)
bidPricenumberBid price (best bid)
askPricenumberAsk price (best offer)
bidSizenumberBid size
askSizenumberAsk size
openInterestnumberOpen interest
openInterestChangenumberOpen interest change
volumenumberTrading volume
opennumberOpen price
highnumberHigh price
lownumberLow price
settlementnumberSettlement price
limitUpnumberLimit up price
limitDownnumberLimit down price
avgPricenumberAverage price

Type-checked example

const result = await quoteClient.getFutureRealTimeQuote({ contractCodes: ['MEUR2609'] });
console.log(result);

Response example

[
  {
    "contractCode": "string",
    "latestPrice": 0,
    "latestSize": 0,
    "latestTime": 0,
    "bidPrice": 0,
    "askPrice": 0,
    "bidSize": 0,
    "askSize": 0,
    "openInterest": 0,
    "openInterestChange": 0,
    "volume": 0,
    "open": 0,
    "high": 0,
    "low": 0,
    "settlement": 0,
    "limitUp": 0,
    "limitDown": 0,
    "avgPrice": 0
  }
]

Rate limit: The base limit is 120 requests per minute.


getFutureKline

Signature

async getFutureKline(req: FutureKlineRequest): Promise<FutureKline[]>

Purpose

Gets futures candlestick bars (K-line data).

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureKlineRequestYesNoneNone.
req.contractCodesstring[] | undefinedNoNoneProvide this or contractCode; at most 50 contract codes
req.contractCodestring | undefinedNoNoneNone.
req.periodstring | undefinedNoNoneNone.
req.beginTimenumber | undefinedNo-1None.
req.endTimenumber | undefinedNo-1None.
req.beginIndexnumber | undefinedNoNoneNone.
req.endIndexnumber | undefinedNoNoneNone.
req.limitnumber | undefinedNoNoneOmission or a non-positive value uses 200; values above 1,000 are capped at 1,000
req.pageTokenstring | undefinedNoNoneNone.
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureKline[]>

FieldTypeDescription
nextPageTokenstringNext page token
itemsFutureKlineItem[]Data items array

Type-checked example

const result = await quoteClient.getFutureKline({ contractCodes: ['MEUR2609'], period: 'day', beginTime: -1, endTime: -1 });
console.log(result);

Response example

[
  {
    "nextPageToken": "string",
    "items": [
      "FutureKlineItem"
    ]
  }
]

Rate limit: The base limit is 60 requests per minute.


getFutureKlineByPage

Signature

async getFutureKlineByPage(req: FutureKlineByPageRequest): Promise<FutureKlineItem[]>

Purpose

Gets futures bars by page.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureKlineByPageRequestYesNoneNone.
req.contractCodestring | undefinedYesNoneSingle futures contract code
req.periodstring | undefinedNoNoneNone.
req.beginTimenumber | undefinedNoNoneNone.
req.endTimenumber | undefinedNoNoneNone.
req.totalSizenumber | undefinedNo1000None.
req.pageSizenumber | undefinedNo200None.
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureKlineItem[]>

FieldTypeDescription
timenumberTime (ms timestamp)
volumenumberTrading volume
opennumberOpen price
closenumberClose price
highnumberHigh price
lownumberLow price
lastTimenumberLast time
openInterestnumberOpen interest
settlementnumberSettlement price

Type-checked example

const result = await quoteClient.getFutureKlineByPage({ contractCode: 'MEUR2609', period: 'day', totalSize: 500, pageSize: 200 });
console.log(result);

Response example

[
  {
    "time": 0,
    "volume": 0,
    "open": 0,
    "close": 0,
    "high": 0,
    "low": 0,
    "lastTime": 0,
    "openInterest": 0,
    "settlement": 0
  }
]

Rate limit: The base limit is 60 requests per minute.


getFutureTradeTicks

Signature

async getFutureTradeTicks(req: FutureTradeTicksRequest): Promise<FutureTradeTickItem[]>

Purpose

Gets future trade ticks.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureTradeTicksRequestYesNoneNone.
req.contractCodestring | undefinedNoNoneNone.
req.beginIndexnumber | undefinedNoNoneNone.
req.endIndexnumber | undefinedNo30 when falsyThe SDK also replaces 0 with 30
req.limitnumber | undefinedNoNoneOmission or a non-positive value uses 200; maximum 1,000
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureTradeTickItem[]>

FieldTypeDescription
contractCodestringContract code
indexnumberIndex
timenumberTime (ms timestamp)
pricenumberPrice
volumenumberTrading volume
directionstringDirection

Type-checked example

const result = await quoteClient.getFutureTradeTicks({ contractCode: 'MEUR2609', limit: 10 });
console.log(result);

Response example

[
  {
    "contractCode": "string",
    "index": 0,
    "time": 0,
    "price": 0,
    "volume": 0,
    "direction": "string"
  }
]

Rate limit: The base limit is 120 requests per minute.


getFutureDepth

Signature

async getFutureDepth(req: FutureDepthRequest): Promise<FutureDepth[]>

Purpose

Gets futures market depth (order book).

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureDepthRequestYesNoneNone.
req.contractCodesstring[] | undefinedYesNoneNon-empty
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureDepth[]>

FieldTypeDescription
contractCodestringContract code
timestampnumberTimestamp
asksDepthLevel[]Ask order queue
bidsDepthLevel[]Bid order queue

Type-checked example

const result = await quoteClient.getFutureDepth({ contractCodes: ['MEUR2609'] });
console.log(result);

Response example

[
  {
    "contractCode": "string",
    "timestamp": 0,
    "asks": [
      "DepthLevel"
    ],
    "bids": [
      "DepthLevel"
    ]
  }
]

getFutureTradingTimes

Signature

async getFutureTradingTimes(req: FutureTradingTimesRequest): Promise<FutureTradingTime | undefined>

Purpose

Gets future trading times.

Parameters, defaults, and constraints

ParameterTypeRequiredSDK defaultConstraints
reqFutureTradingTimesRequestYesNoneNone.
req.contractCodestring | undefinedYesNoneSingle futures contract code
req.tradingDatestring | undefinedNoNoneyyyy-MM-dd; omission queries the current trading date
req.langstring | undefinedNoNoneNone.

Returns

Promise<FutureTradingTime | undefined>

FieldTypeDescription
contractCodestringContract code
bizDatestringBusiness date
zonestringTime zone
tradingTimesFutureTradingSegment[]Trading times list

Type-checked example

const result = await quoteClient.getFutureTradingTimes({ contractCode: 'MEUR2609', tradingDate: '2026-07-24' });
console.log(result);

Response example

{
  "contractCode": "string",
  "bizDate": "string",
  "zone": "string",
  "tradingTimes": [
    {
      "start": 0,
      "end": 0,
      "type": "string"
    }
  ]
}

Rate limit: The base limit is 60 requests per minute.


Did this page help you?