Connector Examples

These examples show complete generic connector configurations for three data providers. Each demonstrates a different JSON data structure supported by GT. The example instrument is noted for each connector.

Gettex

Gettex (Munich Stock Exchange) provides delayed price data via the LSEG widget API. Authentication is automatic via a SAML token flow — no manual API key entry is needed. Example instrument: Erste Group Bank (RIC EBKG.GTX).

Connector definition

  • Short ID: gettex
  • Domain URL: https://lseg-widgets.financial.com/
  • API key: Auto-acquired (token config YAML handles SAML login)
  • URL pattern regex: ^[A-Z0-9]+\.GTX$
  • Intraday delay: 900 seconds
  • Rate limit: Token bucket, 5 requests / 1 second
  • HTTP header: jwt: {apiKey} (JWT token substituted automatically)

Historical endpoint

  • Data structure: Array of objects
  • URL template: rest/api/timeseries/historical?ric={ticker}&fids=_DATE_END,OPEN_PRC,HIGH_1,LOW_1,CLOSE_PRC,ACVOL_1&samples=D&appendRecentData=all&fromDate={fromDate}&toDate={toDate}
  • Data path: data
  • Status path / OK value: status / OK
  • Date format: ISO_DATE_TIME
  • Field mappings: date → _DATE_END, open → OPEN_PRC, high → HIGH_1, low → LOW_1, close → CLOSE_PRC, volume → ACVOL_1
{
  "data": [
    {"_DATE_END": "2026-02-03", "OPEN_PRC": "71.4", "HIGH_1": "71.4",
     "LOW_1": "69.8", "CLOSE_PRC": "71.4", "ACVOL_1": "8"},
    {"_DATE_END": "2026-02-04", "OPEN_PRC": "71.4", "HIGH_1": "71.4",
     "LOW_1": "70.0", "CLOSE_PRC": "71.4", "ACVOL_1": "2"},
    {"_DATE_END": "2026-02-05", "OPEN_PRC": "71.4", "HIGH_1": "71.4",
     "LOW_1": "70.0", "CLOSE_PRC": "71.4", "ACVOL_1": "12"}
  ],
  "status": "OK"
}

Intraday endpoint

The intraday endpoint reuses the same URL template as the historical endpoint but with today’s date as both {fromDate} and {toDate}. It uses the same data structure and field mappings except the target fields differ.

  • Data structure: Array of objects
  • Data path: data
  • Status path / OK value: status / OK
  • Field mappings: last → CLOSE_PRC, open → OPEN_PRC, high → HIGH_1, low → LOW_1, volume → ACVOL_1
Info
Gettex only returns data during trading hours. Outside hours the data array is empty — this is normal behavior, not an error.
{"data": [], "status": "OK", "metadata": {}}

URL extension

The URL extension is the instrument’s RIC code, e.g. EBKG.GTX. It replaces the {ticker} placeholder in the URL template.


OTC-X

OTC-X (Berner Kantonalbank) provides prices for Swiss OTC-traded securities. No API key is required. Example instrument: Rigi Bahnen AG (ISIN CH0016290014).

Connector definition

  • Short ID: otcx
  • Domain URL: https://www.otc-x.ch/api/
  • API key: Not required
  • URL pattern regex: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$

Historical endpoint

  • Data structure: Array of objects
  • URL template: market/securities/{ticker}/chartData?type=PRICE_HISTORY&from={fromDate}&until={toDate}&interval=DAY
  • Data path: data
  • Date format: ISO_DATE
  • Processing options: Skip weekend data, Remove duplicate dates
  • Field mappings: date → x, close → values.0

Only the close price is available. The mapping values.0 reads the first element of the values array in each data object.

{
  "data": [
    {"x": "2026-02-20", "values": [13.25], "metadata": []},
    {"x": "2026-02-23", "values": [13.25], "metadata": []},
    {"x": "2026-02-24", "values": [13.30], "metadata": []}
  ],
  "from": "2026-02-20", "until": "2026-02-28",
  "type": "PRICE_HISTORY"
}

Intraday endpoint

  • Data structure: Single object (no data path needed)
  • URL template: market/securities/{ticker}
  • Date format: ISO_DATE_TIME
  • Field mappings: last → lastPrice, low → bidPricePoint, high → askPricePoint

The bid and ask prices are mapped to low and high because OTC securities have no intraday OHLC data.

{
  "isin": "CH0016290014",
  "name": "Rigi Bahnen AG, Goldau",
  "askPricePoint": 14.0,
  "bidPricePoint": 13.1,
  "lastPrice": 13.15,
  "lastDate": "2026-02-27T14:25:15.427Z",
  "performanceYtd": -0.0259,
  "tradeable": true
}

URL extension

The URL extension is the instrument’s ISIN, e.g. CH0016290014. It replaces {ticker} in the URL template. The regex validates the standard 12-character ISIN format.


SIX Swiss Exchange

SIX Swiss Exchange provides free delayed (15-minute) price data for Swiss securities. No API key is required. Example instrument: SPI index (ISIN CH0237935652).

Connector definition

  • Short ID: sixgroup
  • Domain URL: https://www.six-group.com/
  • API key: Not required
  • URL pattern regex: ^([A-Z]{2})([A-Z0-9]{9})([0-9]{1})[A-Za-z]{3}\d$
  • Intraday delay: 900 seconds

Historical endpoint

  • Data structure: Parallel arrays
  • URL template: itf/fqs/delayed/charts.json?netting=1440&columns=Date,Time,Close,Open,Low,High,TotalVolume&fromdate={fromDate}&where=ValorId={ticker}&select=ISIN,ClosingPrice,ClosingPerformance,PreviousClosingPrice,LatestTradeTime,LatestTradeDate
  • Data path: valors.0.data
  • Date format: Pattern yyyyMMdd
  • Field mappings: date → Date, open → Open, high → High, low → Low, close → Close, volume → TotalVolume

Each field is a separate array; all arrays share the same length and are correlated by index.

{
  "valors": [{
    "ISIN": "CH0237935652",
    "data": {
      "Date": [20260223, 20260224, 20260225],
      "Close": [166.12, 167.4, 167.68],
      "Open": [166.52, 166.16, 167.88],
      "Low": [165.82, 165.84, 167.3],
      "High": [166.58, 168.16, 168.12],
      "TotalVolume": [58279, 258532, 178954]
    }
  }]
}

Intraday endpoint

  • Data structure: Column names with row data
  • URL template: itf/fqs/delayed/movie.json?where=ValorId={ticker}&select=ValorSymbol,MarketDate,Currency,ClosingPrice,ClosingPerformance,WeekAgoPerformance,MonthAgoPerformance,YearAgoPerformance,YearToDatePerformance,LatestTradeVolume,TotalVolume,PreviousClosingPrice,BidPrice,AskPrice,BidVolume,AskVolume,DailyLowPrice,DailyLowTime,DailyHighPrice,DailyHighTime,YearlyLowPrice,YearlyLowDate,YearlyHighPrice,YearlyHighDate
  • Column names path: colNames
  • Data path: rowData
  • Field mappings: last → ClosingPrice, changePercentage → ClosingPerformance, prevClose → PreviousClosingPrice, low → DailyLowPrice, high → DailyHighPrice

Column headers are in colNames, values in positional rowData arrays. The mapping ClosingPrice resolves to the column index, and the parser reads that position from the row.

{
  "colNames": ["ValorSymbol", "MarketDate", "Currency",
    "ClosingPrice", "ClosingPerformance", "PreviousClosingPrice",
    "DailyLowPrice", "DailyHighPrice"],
  "rowData": [
    ["CHSPI", 20260227, "CHF", 167.7, 0.48, 166.9, 167.12, 168.42]
  ]
}

URL extension

SIX identifies instruments by {ISIN}{currency}{digit}, e.g. CH0237935652CHF4. The regex in the connector definition validates this format.


Testing

After saving a connector, verify the endpoints using the test dialog. See the parent page on testing for details.