openapi: 3.2.0 info: title: OnDemand Price Data API version: 1.0.1 description: Barchart features a diverse set of market and information APIs that can be easily integrated into your website. Whether you're looking for a small, medium, large or enterprise solution, we'll create a custom package for you that exceeds your expectations. contact: name: onDemand API Support url: https://www.barchart.com/ondemand email: support@barchart.com termsOfService: https://www.barchart.com/solutions/company/terms-and-privacy servers: - url: https://ondemand.websol.barchart.com tags: - name: Price Data paths: /getQuote.json: get: tags: - Price Data summary: getQuote operationId: get-getQuote description: The getQuote API is used to request price data, either real-time, delayed or end-of-day, by symbol on stocks, indexes, mutual funds, ETFs, futures, foreign exchange, or cryptocurrencies. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbols description: A symbol or code that identifies a financial instrument. Multiple symbols separated by a comma may be used. For futures, notation such as for the active contract or for the first nearby is supported, as is for all futures contracts for a given root symbol, as is for all options contracts for a given underlying futures symbol. required: true schema: type: string example: AAPL,GOOG - in: query name: fields description: The fields requested. required: false schema: type: string example: fiftyTwoWkHigh,fiftyTwoWkHighDate,fiftyTwoWkLow,fiftyTwoWkLowDate - in: query name: mode description: Parameter to change quote type to real-time ("R"), delayed ("I") or end-of-day ("D") if available. required: false schema: type: string example: I - in: query name: jerq description: Whether to merge with JERQ data. required: false schema: type: string example: 'false' - in: query name: exchangeFilter description: Returns all quotes for specified exchanges (symbols are ignored). required: false schema: type: string example: NYSE,CME - in: query name: only description: Returns only specified fields required: false schema: type: string example: symbol,name - in: query name: shareClassFigi description: The unique share class code identifying an instrument globally. required: false schema: type: string example: BBG001S5S399 - in: query name: figi description: The unique code identifying an instrument across all exchanges in a country. required: false schema: type: string example: BBG000BLNQ16 - in: query name: compositeFigi description: N/A required: false schema: type: string example: BBG000BLNNH6 responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: AAPL name: description: The type of symbol used. type: - string - 'null' example: Apple Inc dayCode: description: The day code for the session. Day codes are "1-9" for days 1 through 9, "0" (zero) for the 10th of the month, and "A - U" for days 11 through 31. type: - string - 'null' example: G serverTimestamp: description: The time the message was generated on the server. type: - string - 'null' example: '2021-02-17T16:06:30-06:00' mode: description: An indicator representing if the quote is real-time ("R"), delayed ("I") or end-of-day ("D") if available. type: - string - 'null' example: i lastPrice: description: The last price the instrument traded. type: - number - 'null' format: double example: 130.84 tradeSize: description: The size of the last traded price / transaction. type: - integer - 'null' example: 3566575 tradeTimestamp: description: The exchange timestamp for the last traded price. type: - string - 'null' example: '2021-02-17T16:00:00-06:00' tradeDate: description: The settlement trade date for the quote price. type: - string - 'null' format: date example: '2021-02-17' netChange: description: The difference between the last traded price and the previous close. type: - number - 'null' format: double example: -2.35 percentChange: description: The percent difference between the last traded price and the previous close. type: - number - 'null' format: double example: -1.76 tick: description: An indicator representing whether the last traded price was up ("+"), the same (".") or below ("-") the previous last price. type: - string - 'null' example: . previousLastPrice: description: The price previous to the current last price. type: - number - 'null' format: double example: 133.19 previousTimestamp: description: The exchange timestamp of the previous last price. type: - string - 'null' format: date example: '2021-02-16' bid: description: The current bid price. type: - number - 'null' format: double example: 130.85 bidSize: description: The size (quantity) of the current bid price. type: - integer - 'null' example: 1000 ask: description: The current ask price. type: - number - 'null' format: double example: 130.87 askSize: description: The size (quantity) of the current ask price. type: - integer - 'null' example: 300 unitCode: description: The corresponding unit code. type: - string - 'null' example: '2' open: description: The opening (first) price for the session. type: - number - 'null' format: double example: 131.25 high: description: The highest traded price for the session. type: - number - 'null' format: double example: 132.22 low: description: The lowest traded price for the session. type: - number - 'null' format: double example: 129.47 close: description: The last traded price for the session. type: - number - 'null' format: double example: 130.84 numTrades: description: The number of individual transactions over the course of a trading session. type: - integer - 'null' example: 965940 dollarVolume: description: The current Dollar Volume. type: - number - 'null' format: double example: 13061554630.89 flag: description: 'If present, can be one of the following: "c" meaning that the market is closed for this instrument. "p" meaning that the market is in a pre-open state. This occurs when there are bids and offers being placed, but no trade has occurred yet. This is normally seen shortly before the official opening time for busy markets, but can also be seen throughout the day for lightly traded markets. "s" meaning that the instrument has settled, and that this is the final, settlement price. ' type: - string - 'null' example: s previousOpen: description: The opening (first) price for the previous session. type: - number - 'null' format: double example: 135.49 previousHigh: description: The highest traded price for the previous session. type: - number - 'null' format: double example: 136.01 previousLow: description: The lowest traded price for the previous session. type: - number - 'null' format: double example: 132.79 previousClose: description: The last traded price for the previous session. type: - number - 'null' format: double example: 133.19 previousNetChange: description: The difference between the Last Price, and the Last Price from 1 day ago. type: - number - 'null' format: double example: null previousPercentChange: description: The percent change from 1 day ago. type: - number - 'null' format: double example: null settlement: description: The settlement price determined by the exchange. type: - number - 'null' format: double example: 130.84 previousSettlement: description: The settlement price for the previous session. type: - number - 'null' format: double example: 133.19 volume: description: The quantity of shares or contracts traded. type: - integer - 'null' example: 97730392 previousVolume: description: The quantity of shares or contracts traded from the previous day. type: - integer - 'null' example: 80576305 openInterest: description: The quantity of open interest for futures. type: - number - 'null' format: double example: null previousOpenInterest: description: The quantity of open interest for futures from the previous day. type: - number - 'null' format: double example: null fiftyTwoWkHigh: description: The highest price over the past 52 weeks. type: - number - 'null' format: double example: 145.09 fiftyTwoWkHighDate: description: The date in which the high price was reached over the past 52 weeks. type: - string - 'null' format: date example: '2021-01-25' fiftyTwoWkLow: description: The low price over the past 52 weeks. type: - number - 'null' format: double example: 53.15 fiftyTwoWkLowDate: description: The date in which the low price was reached over the past 52 weeks. type: - string - 'null' format: date example: '2020-03-23' avgVolume: description: The average year-to-date daily volume. type: - integer - 'null' example: 103347133 impliedVolatility: description: The estimated volatility of a security's price. Only returns a value for futures. type: - number - 'null' format: double example: null twentyDayAvgVol: description: The 20-Day Average Volume. type: - number - 'null' format: double example: 100959203 month: description: Contract month returned for futures. type: - string - 'null' example: null year: description: Contract year returned for futures. type: - string - 'null' example: null expirationDate: description: The expiration date for the futures contract. Only returns a value for futures. type: - string - 'null' format: date example: null lastTradingDay: description: The last trading day of the futures contract. Only returns a value for futures. type: - string - 'null' example: null twelveMnthPct: description: The 1-year Change. type: - number - 'null' format: double example: 60.92 twelveMnthPctDate: description: The 1-year Change %. type: - string - 'null' format: date example: '2020-02-18' preMarketPrice: description: The pre market price for the instrument type: - number - 'null' format: double example: null preMarketNetChange: description: The pre market net change for the instrument type: - number - 'null' format: double example: null preMarketPercentChange: description: The pre market percent change for the instrument type: - number - 'null' format: double example: null preMarketTimestamp: description: The pre market price for the instrument type: - string - 'null' example: null afterHoursPrice: description: The after hour price for the instrument type: - number - 'null' format: double example: null afterHoursNetChange: description: The after hour net change for the instrument type: - number - 'null' format: double example: null afterHoursPercentChange: description: The after hour percent change for the instrument type: - number - 'null' format: double example: null afterHoursTimestamp: description: The after hour price for the instrument type: - string - 'null' example: null averageWeeklyVolume: description: The average volume for the last five trading days. type: - integer - 'null' example: 69943086 averageMonthlyVolume: description: The average one month volume. type: - integer - 'null' example: 98105781 averageQuarterlyVolume: description: The average 3 month volume. type: - integer - 'null' example: 102564875 exchangeMargin: description: The margin maintenance required for the future. type: - string - 'null' example: null oneMonthHigh: description: The highest price over the last month. type: - number - 'null' format: double example: 145.09 oneMonthHighDate: description: The date when the high price was reached over the last month. type: - string - 'null' format: date example: '2021-01-25' oneMonthLow: description: The lowest price over the last month. type: - number - 'null' format: double example: 126.94 oneMonthLowDate: description: The date when the low price was reached over the last month. type: - string - 'null' format: date example: '2021-01-19' threeMonthHigh: description: The highest price over the last 3 months. type: - number - 'null' format: double example: 145.09 threeMonthHighDate: description: The date when the high price was reached over the last 3 months. type: - string - 'null' format: date example: '2021-01-25' threeMonthLow: description: The lowest price over the last 3 months. type: - number - 'null' format: double example: 112.59 threeMonthLowDate: description: The date when the low price was reached over the last 3 months. type: - string - 'null' format: date example: '2020-11-24' sixMonthHigh: description: The highest price over the last 6 months. type: - number - 'null' format: double example: 145.09 sixMonthHighDate: description: The date when the high price was reached over the last 6 months. type: - string - 'null' format: date example: '2021-01-25' sixMonthLow: description: The lowest price over the last 6 months. type: - number - 'null' format: double example: 103.1 sixMonthLowDate: description: The date when the low price was reached over the last 6 months. type: - string - 'null' format: date example: '2020-09-21' fiveDayHigh: description: The highest price over the last 5 days. type: - number - 'null' format: double example: 136.39 fiveDayHighDate: description: The date when the high price was reached over the last 5 days. type: - string - 'null' format: date example: '2021-02-11' fiveDayLow: description: The lowest price over the last 5 days. type: - number - 'null' format: double example: 127.41 fiveDayLowDate: description: The date when the low price was reached over the last 5 days. type: - string - 'null' format: date example: '2021-02-18' yearToDateHigh: description: The year-to-date highest price reached. type: - number - 'null' format: double example: 145.09 yearToDateHighDate: description: The date when year-to-date high price was reached. type: - string - 'null' format: date example: '2021-01-25' yearToDateLow: description: The year-to-date lowest price reached. type: - number - 'null' format: double example: 126.38 yearToDateLowDate: description: The date when year-to-date low price was reached. type: - string - 'null' format: date example: '2021-01-06' twoYearHigh: description: The highest price over the last two years. type: - number - 'null' format: double example: 145.09 twoYearHighDate: description: The date when the high price was reached over the last two years. type: - string - 'null' format: date example: '2021-01-25' twoYearLow: description: The lowest price over the last two years. type: - number - 'null' format: double example: 42.37 twoYearLowDate: description: The date when the low price was reached over the last two years. type: - string - 'null' format: date example: '2019-02-19' exchange: description: Exchange code for the marketplace where the financial instruments are listed. type: - string - 'null' example: NASDAQ weeklyClose: description: The end-of-day last price the instrument traded this week. type: - number - 'null' format: double example: 128.12 weeklyPreviousClose: description: The last price the instrument traded at last week. type: - number - 'null' format: double example: 135.37 weeklyPreviousHigh: description: The high price the instrument traded at last week. type: - number - 'null' format: double example: 137.88 weeklyPreviousLow: description: The low price the instrument traded at last week. type: - number - 'null' format: double example: 133.69 monthlyClose: description: The end-of-day last price the instrument traded this month. type: - number - 'null' format: double example: 130.84 monthlyPreviousClose: description: The last price the instrument traded at last month. type: - number - 'null' format: double example: 131.96 monthlyPreviousHigh: description: The high price the instrument traded at last month. type: - number - 'null' format: double example: 145.09 monthlyPreviousLow: description: The low price the instrument traded at last month. type: - number - 'null' format: double example: 126.38 basis: description: The basis range in cents. type: - number - 'null' format: double example: null previousBasis: description: The previous basis range in cents. type: - number - 'null' format: double example: null commodityDataDelivery: description: The Commodity delivery date. type: - string - 'null' example: null commodityDataCurrency: description: The Commodity data currency. type: - string - 'null' example: null volumeFractional: description: The quantity of shares traded, included fractional shares. This field is only available for US Stock Markets (AMEX, NASDAQ & NYSE). type: - integer - 'null' example: 916 previousVolumeFractional: description: The quantity of shares traded in the previous day, included fractional shares. This field is only available for US Stock Markets (AMEX, NASDAQ & NYSE). type: - integer - 'null' example: 913 required: - symbol - name - dayCode - serverTimestamp - mode - lastPrice - tradeTimestamp - netChange - percentChange - unitCode - open - high - low - close - numTrades - dollarVolume - flag - volume - previousVolume '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getHistory.json: get: tags: - Price Data summary: getHistory operationId: get-getHistory description: The getHistory API is used to request historical time series data on stocks, indexes, mutual funds, ETFs, futures, foreign exchange, or cryptocurrencies. Historical data is available as tick, minute bars or end-of-day data. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbol description: A symbol or code that identifies a financial instrument. required: true schema: type: string example: AAPL - in: query name: type description: The type of historical data to return, including tick data, minute data, and end-of-day data. required: true schema: type: string enum: - ticks - minutes - nearbyMinutes - formTMinutes - daily - dailyNearest - dailyContinue - weekly - weeklyNearest - weeklyContinue - monthly - monthlyNearest - monthlyContinue - quarterly - quarterlyNearest - quarterlyContinue - yearly - yearlyNearest - yearlyContinue example: minutes - in: query name: startDate description: The start date of the historical data query. This parameter should be set to the desired start date/time for the query (the result set will include records back to, and including, this value). If not set, the value will default to the beginning of the day specified in the end parameter, if end is specified, or to the beginning of the current day, if end is not specified. The value should conform to the format yyyymmdd[hhmm[ss]], where fields in brackets are optional (Do not include the brackets themselves). Any optional fields that are not explicitly set will default to 0 (i.e. 20090203 will default to 20090203000000 or February 3, 2009 at 00:00:00). required: false schema: type: string example: '20100101' - in: query name: endDate description: The end data of the historical data query. This parameter should be set to the desired end date/time for the query (the result set will include records up to, but not including, this value). If not set, the value will default to the end of the day specified in the start parameter, if specified, or to the end of the current day, if start is not specified. The value should conform to the format yyyymmdd[hhmm[ss]], where fields in brackets are optional (Do not include the brackets themselves). Any optional fields that are not explicitly set will default to 0 (i.e. 20090203 will default to 20090203000000 or February 3, 2009 at 00:00:00). required: false schema: type: string example: '20130101' - in: query name: maxRecords description: The maximum amount of records returned. This parameter should be set to the maximum number of records desired. If not specified, there number of records returned will be determined by the date/time parameters specified as well as any defaults that apply to the query. required: false schema: type: integer example: 10 - in: query name: interval description: The number of minutes for a minute query. required: false schema: type: integer example: 60 - in: query name: order description: An arrangement of fields within a particular record (ascending or descending). This parameter can be set to one of two values ("asc" and "desc") in order to specify the chronological order of the result set returned. If this parameter is not specified, the order results is not guaranteed. required: false schema: type: string enum: - asc - desc example: asc - in: query name: sessionFilter description: This parameter modifies the default session codes/sale conditions used to return ticks for each exchange. For NYSE and AMEX, the default session filter is "@EFKX56V9" (meaning all ticks with sale conditions corresponding to one of the characters in the filter are included in the results), for NASDAQ the default is "@ABDEFKOSXY156", and for everything else all session codes/sale conditions are returned except the settle (session code '*'). If the session filter is set to a string of valid session codes (i.e. "EFK"), only ticks with the specified session codes are included in the results. If the string is prefixed with character '!' (i.e."!EFK"), all session codes except those in the string are included in the results. If the string is prefixed with character '+' (i.e. "+T"), then all the default session codes in addition to the ones specified in the string are included in the results. And if the string is prefixed with character '-' (i.e. "-EF") then all default session codes except the ones specified are included in the results. Please note that the '+' character should be escaped (to %2B) when entering the URL in a web browser or executing the query in an API that does not escape it by default. required: false schema: type: string example: EFK - in: query name: splits description: An adjustment of stock value due to corporate action. This parameter only applies to stocks and specifies whether the data returned should be adjusted for splits or not. Set to true to query for adjusted the data, or to false for non-adjusted data. If not specified, the default is true. In order to guarantee the same adjustment settings in the future, this parameter should be specified. required: false schema: type: string example: 'true' - in: query name: dividends description: A distribution of a portion of a company's earnings. This parameter only applies to stocks and specifies whether the data returned should be adjusted for dividends or not. Set to true to query for adjusted the data, or to false for non-adjusted data. If not specified, the default is true. In order to guarantee the same adjustment settings in the future, this parameter should be specified. required: false schema: type: string example: 'true' - in: query name: volume description: The quantity of shares or contracts traded. For futures, this parameter can be set to one of two values (contract and total) in order to specify whether the volume returned should be the contract volume or the total volume. For aggregates (such as weekly, monthly or yearly), this returns the average volume for the period specified. If the value is preceded by 'sum' (sumcontract and sumtotal), then it returns the sum of the volumes in each daily bar during the period specified. If not specified, the value will default to contract. For aggregate equities queries (such as weekly, monthly or yearly), this parameter can be set to sum to return the sum of the volumes in each daily bar during the period specified. If not specified, then the average volume is returned. required: false schema: type: string enum: - total - sum - contract - sumcontract - sumtotal example: sum - in: query name: nearby description: This parameter specifies the offset from the front month for 'nearest' queries (data parameter set to dailynearest, weeklynearest, monthlynearest, quarterlynearest and yearlynearest). The default value for this parameter is 1, which sets nearest queries to the most current front month. If set to a value greater than 1, then the nth front month is used (for example, in August of 2010, ESU10 would be the current front month, so nearby=2 would use ESZ10, nearby=3 would use ESH11, etc.) This parameter is ignored for all other queries. Alternatively, the same functionality provided by the nearby parameter can be achieved using the symbol notation symbol=RS*n, where RS is the root symbol and n is the nth front month (i.e. symbol=ES*1, symbol=YM*3, etc.). When using this notation on the symbol parameter, the nearby parameter should be omitted. required: false schema: type: integer example: 1 - in: query name: jerq description: Whether to merge with JERQ data. required: false schema: type: string example: 'true' - in: query name: exchange description: The list of valid exchange codes to limit symbol search. required: false schema: type: string example: NYSE,AMEX,NASDAQ - in: query name: backAdjust description: This parameter specifies whether the contracts in the series will be adjusted based on the roll-gap between the closing prices of the current contract and the previous contract on the day of the switch. Valid values are true and false. If not specified, the default value is false resulting in a non-adjusted query. This parameter only applies to multi-contract futures queries and is ignored for all other queries. required: false schema: type: string enum: - 'true' - 'false' example: 'false' - in: query name: daysToExpiration description: This parameter specifies the number of calendar days prior to a contract expiration when the series of contracts will be switched to the next contract in the series. Valid values are 0 through 60. A value of 0 will tell the system to use the day of expiration. If not specified, the default value (1) is used, resulting in each contract in the series to run until (and including) the day prior to its expiration. This parameter only applies to multi-contract futures queries and is ignored for all other queries. required: false schema: type: string enum: - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' - '33' - '34' - '35' - '36' - '37' - '38' - '39' - '40' - '41' - '42' - '43' - '44' - '45' - '46' - '47' - '48' - '49' - '50' - '51' - '52' - '53' - '54' - '55' - '56' - '57' - '58' - '59' - '60' example: '1' - in: query name: contractRoll description: For futures, multi-contract nearest queries (data parameter set to dailynearest, weeklynearest, monthlynearest, quarterlynearest or yearlynearest), this parameter can be set to one of two values (expiration, combined), and determines how the switch from one contract to the next in the series is calculated. When the value specified is 'expiration', the switch from one contract to the next in the series will be based on the expiration date (and the value of the 'daysToExpiration' parameter if specified). When the value specified is 'combined', a combination of volume and openinterest will be used to determine when to switch from one contract to the next in the series (when using this value, the 'daysToExpiration' parameter is ignored). required: false schema: type: string enum: - expiration - combined example: expiration responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: AAPL timestamp: description: 'The exchange time of the price. Format: HH:MM:SS.FFF ' type: - string - 'null' example: '2021-02-18T13:49:33-05:00' tradingDay: description: 'The date of the trade. Format: YYYY-MM-DD ' type: - string - 'null' format: date example: '2021-02-18' sessionCode: description: A code used to differentiate between composite market prices, overnight session prices, and day session prices for futures. Not all futures exchanges use session codes. "G" is electronic session and "R" is pit session. type: - string - 'null' example: '@' tickPrice: description: The price traded for a single transaction. type: - number - 'null' format: double example: 128.68 tickSize: description: The volume traded for a single transaction. type: - integer - 'null' example: 101 open: description: The opening (first) price for the period. type: - number - 'null' format: double example: 132.0335 high: description: The highest traded price for the period. type: - number - 'null' format: double example: 132.3023 low: description: The lowest traded price for the period. type: - number - 'null' format: double example: 131.9229 close: description: The last traded price for the period. type: - number - 'null' format: double example: 132.2524 volume: description: The quantity of shares or contracts traded per the period. type: - integer - 'null' example: 430918 openInterest: description: The total number of options and/or futures contracts that have not been offset. type: - integer - 'null' example: null required: - symbol - timestamp - tradingDay '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getClosePrice.json: get: tags: - Price Data summary: getClosePrice operationId: get-getClosePrice description: The getClosePrice API provides the close price for given instruments for the given date. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbols description: A symbol or code that identifies a financial instrument. Multiple symbols separated by a comma may be used. required: true schema: type: string example: IBM,AAPL,GOOG - in: query name: date description: The date of the historical data query. The value should conform to the format yyyymmdd. required: false schema: type: string format: date example: '2010-01-01' - in: query name: splits description: An adjustment of stock value due to corporate action. This parameter only applies to stocks and specifies whether the data returned should be adjusted for splits or not. Set to true to query for adjusted the data, or to false for non-adjusted data. required: false schema: type: string example: 'true' - in: query name: dividends description: A distribution of a portion of a company's earnings. This parameter only applies to stocks and specifies whether the data returned should be adjusted for dividends or not. Set to true to query for adjusted the data, or to false for non-adjusted data. required: false schema: type: string example: 'true' responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: The symbol or code that identifies a financial instrument type: - string - 'null' example: IBM closePrice: description: The last price the instrument traded. type: - number - 'null' format: double example: 120.68 date: description: The date of the price. type: - string - 'null' format: date example: '2021-02-18' required: - symbol - closePrice - date '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getQuoteEod.json: get: tags: - Price Data summary: getQuoteEod operationId: get-getQuoteEod description: The getQuoteEod API is used to request end-of-day price data, by combined exchange and symbol, on stocks, indexes, mutual funds, ETFs, futures, foreign exchange, or cryptocurrencies. Historical data is available as tick, minute bars or end-of-day data. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbols description: An MIC code or a Country code plus the symbol or code that identifies a financial instrument. Multiple symbols separated by a comma may be used. For futures, notation such as for the active contract or for the first nearby is supported, as is for all futures contracts for a given root symbol. If no country code or MIC is passed then the API will behave the same as the getQuote API. required: true schema: type: string example: XASE:SPY,US:IBM - in: query name: fields description: The fields requested. required: false schema: type: string example: previousClose - in: query name: exchange description: The list of valid exchange codes to limit symbol search. required: false schema: type: string example: NYSE,AMEX responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: SPY name: description: The type of symbol used. type: - string - 'null' example: S\u0026P 500 SPDR date: description: The price date. type: - string - 'null' format: date example: '2021-02-17' open: description: The opening (first) price for the session. type: - number - 'null' format: double example: 390.42 high: description: The highest traded price for the session. type: - number - 'null' format: double example: 392.66 low: description: The lowest traded price for the session. type: - number - 'null' format: double example: 389.33 close: description: The last traded price for the session. type: - number - 'null' format: double example: 392.39 netChange: description: The difference between the last traded price and the previous close. type: - number - 'null' format: double example: 0.09 percentChange: description: The percent difference between the last traded price and the previous close. type: - number - 'null' format: double example: 0.02 volume: description: The quantity of shares or contracts traded. type: - integer - 'null' example: 52806602 totaltrades: description: Total number of trades executed since the starting point of the indicator strategy. type: - integer - 'null' example: 176003 datasource: description: 'Where the data is coming from: Exchange Date or Barchart. ' type: - string - 'null' example: Barchart previousClose: description: The close price from the previous trading day. type: - number - 'null' format: double example: 392.3 tradeTimestamp: description: The exchange timestamp for the last traded price. type: - string - 'null' example: '2021-02-17T18:40:00-06:00' openInterest: description: The quantity of open interest for futures. type: - number - 'null' format: double example: null exchange: description: Exchange code for the marketplace where the financial instruments are listed. type: - string - 'null' example: NASDAQ month: description: Contract month returned for futures. type: - string - 'null' example: null year: description: Contract year returned for futures. type: - string - 'null' example: null settlement: description: The settlement price determined by the exchange. type: - number - 'null' format: double example: 130.84 required: - symbol - name - date - open - high - low - close - volume - totaltrades - datasource '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getEquitiesByExchange.json: get: tags: - Price Data summary: getEquitiesByExchange operationId: get-getEquitiesByExchange description: Receive all real-time or delayed equities market data by exchange through a single onDemand query with the getEquitiesByExchangeAPI from Barchart OnDemand. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: exchange description: A valid exchange code. required: true schema: type: string enum: - INDEX - INDEX-NY - INDEX-NQ - SPECIAL - INDEX-DOW - INDEX-CBOE - INDEX-SP - INDEX-RL - INDEX-TSX - NYSE - BATS - OTHER OTC - NASDAQ - AMEX - OTC-BB - LSE - TSX - TSX-V - ASX - CNSX - NEO - EURNXT_EQ_BE - EURNXT_EQ_FR - EURNXT_EQ_NL - EURNXT_EQ_PT example: INDEX-NQ - in: query name: fields description: The fields requested. required: false schema: type: string example: settlement - in: query name: fileDate description: The specific date for which data should be returned. The requested date cannot be more than 30 days back. required: false schema: type: string format: date example: '2026-07-20' responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: The instrument symbol. type: - string - 'null' example: $BANK name: description: The name of the instrument. type: - string - 'null' example: Nasdaq Bank Index open: description: The open price for the instrument. type: - number - 'null' format: double example: 4158.48 high: description: The high price for the day. type: - number - 'null' format: double example: 4195.09 low: description: The low price for the day. type: - number - 'null' format: double example: 4152.24 last: description: The last/close price for the instrument. type: - number - 'null' format: double example: 4170.21 netChange: description: The difference between the last traded price and the previous close. type: - number - 'null' format: double example: -8.46 percentChange: description: The percent difference between the last traded price and the previous close. type: - number - 'null' format: double example: -0.2 volume: description: The volume of the instrument. type: - integer - 'null' tradeTime: description: The trade time of the last trade for the instrument. type: - string - 'null' format: time example: '16:15:00' tradeDate: description: The trade date of the last trade for the instrument. type: - string - 'null' format: date example: '2021-02-17' exchange: description: The exchange code on which the instrument trades. type: - string - 'null' example: INDEX-NQ settlement: description: Flag to indicate if the prices are settled. type: - string - 'null' example: s previousClose: description: Previous day's closing price. type: - number - 'null' format: double example: 4160.11 required: - symbol - name - open - high - low - last - netChange - percentChange - volume - tradeTime - tradeDate - exchange '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getFuturesByExchange.json: get: tags: - Price Data summary: getFuturesByExchange operationId: get-getFuturesByExchange description: Receive all real-time or delayed, or end-of-day futures data by exchange through a single onDemand query with the get FuturesByExchange API from Barchart OnDemand. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: exchange description: The exchange code for which the list of commodities are required. required: true schema: type: string enum: - LIFFE - IOM - CROSS - CME - CBOT - MIAX - NYMEX - CASH - CBOE - CFE - ICEUS - LME - WCE - GBLX - IMM - BMF - ROFEX - EUIDX - SFE - ICEFI - ICE - SIMEX - EUREX - MEFF - COMEX - HKFE - ENDEX - TIFFE - MDEX - SAFEX - OMX - CXMI - NYMI - TFEX - MNTRL - JPX - TAIWA - CBOTM - MATIF - LCE - KFE - ISE - BSE - SHFE - NCDEX - NZX - EEX - CZCE - DCE - TURK - MATBA - TOCOM - DGCX - MCX - CFFEX - NSE - EEX_POWER - SGCOM - SGXFX - SGXNZ - SGIDX example: BMF - in: query name: category description: Category of the commodity. required: false schema: type: string example: Meats - in: query name: fields description: Request additional optional fields. required: false schema: type: string example: openInterest responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: DPH21 name: description: The type of symbol used. type: - string - 'null' example: 1-Day Interbank Dep. dayCode: description: The day code for the session. Day codes are "1-9" for days 1 through 9, "0" (zero) for the 10th of the month, and "A - U" for days 11 through 31. type: - string - 'null' example: H mode: description: An indicator representing if the quote is real-time ("R"), delayed ("I") or end-of-day ("D"). type: - string - 'null' example: i lastPrice: description: The last price the instrument traded. type: - number - 'null' format: double example: 1.9 tradeTimestamp: description: The exchange timestamp for the last traded price. type: - string - 'null' example: '2021-02-18T15:12:00-06:00' netChange: description: The difference between the last traded price and the previous close. type: - number - 'null' format: double example: -0.002 percentChange: description: The percent difference between the last traded price and the previous close. type: - number - 'null' format: double example: -0.11 unitCode: description: The corresponding unit code. type: - string - 'null' example: '3' open: description: The opening (first) price for the session. type: - number - 'null' format: double example: 1.902 high: description: The highest traded price for the session. type: - number - 'null' format: double example: 1.906 low: description: The lowest traded price for the session. type: - number - 'null' format: double example: 1.9 close: description: The last traded price for the session. type: - number - 'null' format: double example: 1.9 numTrades: description: The number of individual transactions over the course of a trading session. type: - integer - 'null' example: 6 dollarVolume: description: The current Dollar Volume. type: - number - 'null' format: double flag: description: 'If present, can be one of the following: "c" meaning that the market is closed for this instrument. "p" meaning that the market is in a pre-open state. This occurs when there are bids and offers being placed, but no trade has occurred yet. This is normally seen shortly before the official opening time for busy markets, but can also be seen throughout the day for lightly traded markets. "s" meaning that the instrument has settled, and that this is the final, settlement price. ' type: - string - 'null' example: s volume: description: The quantity of shares or contracts traded. type: - integer - 'null' example: 1350 previousVolume: description: The quantity of shares or contracts traded from the previous day. type: - integer - 'null' example: 39500 previousOpenInterest: description: The quantity of open interest for futures from the previous day. type: - number - 'null' format: double example: 1097077 required: - symbol - name - dayCode - mode - lastPrice - tradeTimestamp - netChange - percentChange - unitCode - open - high - low - close - numTrades - dollarVolume - flag - volume - previousVolume - previousOpenInterest '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getFuturesOptions.json: get: tags: - Price Data summary: getFuturesOptions operationId: get-getFuturesOptions description: The getFuturesOptions API provides intraday options data such as strike price, closing price, expiration date, volume, volatility etc on futures contracts. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: root description: A symbol or code that identifies an option root. required: false schema: type: string example: ZC - in: query name: contract description: A symbol or code that identifies an options contract. required: false schema: type: string example: ZCN27 - in: query name: symbols description: A symbol or code that identifies an option. Multiple symbols separated by a comma may be used. required: false schema: type: string example: ZCK210C,ZCK210P - in: query name: exchange description: Exchange code for the marketplace where the financial instruments are listed. required: false schema: type: string example: CME - in: query name: type description: The type of option desired, Call or Put. required: false schema: type: string example: Call - in: query name: expirationMonth description: The numeric representation of the expiration month. required: false schema: type: integer example: 7 - in: query name: expirationDay description: The numeric date for of the expiration day. required: false schema: type: integer example: 22 - in: query name: fields description: Additional fields requested. required: false schema: type: string example: premium,openInterest - in: query name: mode description: Parameter to change quote type to real-time ("R"), delayed ("I") or end-of-day ("D") if available. required: false schema: type: string example: I - in: query name: returnExtendedSymbol description: Parameter to include the new barchart options symbology that allows users to map to the dataset from the marketreplay system. required: false schema: type: string responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies the futures contract. type: - string - 'null' example: ZCK210C root: description: The root symbol for the future. type: - string - 'null' example: ZC contract: description: The symbol for the futures contract. type: - string - 'null' example: ZCK21 contractName: description: The name of the futures contract. type: - string - 'null' example: Corn contractMonth: description: The month code for this option's contract. type: - string - 'null' example: K exchange: description: The name of the exchange the instrument belongs to. type: - string - 'null' example: CBOT type: description: Either Call or Put. type: - string - 'null' example: Call strike: description: The option's strike price. type: - number - 'null' format: double example: 210 expirationDate: description: The expiration date. type: - string - 'null' format: date example: '2021-04-23' date: description: The price date. type: - string - 'null' format: date example: '2021-02-17' impliedVolatility: description: The estimated volatility of a security's price. type: - number - 'null' format: double example: 85.597534179688 delta: description: The option's delta value. type: - number - 'null' format: double example: 0.99991863344742 gamma: description: The option's gamma value. type: - number - 'null' format: double example: 2.4122911850812e-25 theta: description: The option's theta value. type: - number - 'null' format: double example: -4.9772727839208e-24 vega: description: The option's vega value. type: - number - 'null' format: double example: 2.96107832152e-23 bid: description: The current bid price. type: - number - 'null' format: double example: null bidSize: description: The size (quantity) of the current bid price. type: - integer - 'null' example: null ask: description: The current ask price. type: - number - 'null' format: double example: null askSize: description: The size (quantity) of the current ask price. type: - integer - 'null' example: null open: description: The opening (first) price for the session. type: - number - 'null' format: double example: 340.875 high: description: The highest traded price for the session. type: - number - 'null' format: double example: 340.875 low: description: The lowest traded price for the session. type: - number - 'null' format: double example: 334.75 last: description: The last price the instrument traded. type: - number - 'null' format: double example: 340.875 previousClose: description: The last price the instrument traded. type: - number - 'null' format: double example: 339.875 change: description: The difference between the last traded price and the previous close. type: - number - 'null' format: double example: 1 percentChange: description: The percent difference between the last traded price and the previous close. type: - number - 'null' format: double example: 0.29 premium: description: The option's premium. type: - number - 'null' format: double example: 340.875 flag: description: The option's settled flag. type: - string - 'null' example: s volume: description: The trade volume of the option. type: - integer - 'null' openInterest: description: Open interest of the option type: - integer - 'null' example: 1 settlement: description: The settlement price determined by the exchange. type: - number - 'null' format: double example: 130.84 previousSettlement: description: The settlement price for the previous session. type: - number - 'null' format: double example: 133.19 previousSettlementDate: description: The date for the previous session. type: - string - 'null' format: date example: '2026-06-01' extendedSymbol: description: The new barchart options symbol. type: - string - 'null' example: ZC|Z2026|200-0|C longSymbol: description: The new barchart long symbol. type: - string - 'null' example: ZC|Z26|200C required: - symbol - root - contract - contractName - contractMonth - exchange - type - strike - expirationDate - date - impliedVolatility - delta - gamma - theta - vega - open - high - low - last - previousClose - change - percentChange - volume - longSymbol '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getFuturesOptionsEOD.json: get: tags: - Price Data summary: getFuturesOptionsEOD operationId: get-getFuturesOptionsEOD description: The getFuturesOptionsEOD API provides end-of-day options data such as strike price, closing price, expiration date, volume, volatility etc on futures contracts. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: root description: A symbol or code that identifies an option root. required: false schema: type: string example: ZC - in: query name: contract description: A symbol or code that identifies an options contract. required: false schema: type: string example: ZCK25 - in: query name: symbols description: A symbol or code that identifies an option. Multiple symbols separated by a comma may be used. required: false schema: type: string example: ZCK210C,ZCK210P - in: query name: type description: The type of option desired, Call or Put. required: false schema: type: string example: Call - in: query name: expirationMonth description: The numeric representation of the expiration month. required: false schema: type: integer example: 7 - in: query name: expirationDay description: The numeric date for of the expiration day. required: false schema: type: integer example: 22 - in: query name: fields description: Additional fields requested. required: false schema: type: string example: premium,openInterest - in: query name: mode description: Parameter to change quote type to real-time ("R"), delayed ("I") or end-of-day ("D") if available. required: false schema: type: string example: I - in: query name: returnExtendedSymbol description: Parameter to include the new barchart options symbology that allows users to map to the dataset from the marketreplay system. required: false schema: type: string responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies the futures contract. type: - string - 'null' example: ZCK210C root: description: The root symbol for the future. type: - string - 'null' example: ZC contract: description: The symbol for the futures contract. type: - string - 'null' example: ZCK21 underlyingFuture: description: The symbol for the underlying futures contract. type: - string - 'null' example: ZCK21 contractName: description: The name of the futures contract. type: - string - 'null' example: Corn contractMonth: description: The month code for this option's contract. type: - string - 'null' example: K exchange: description: The name of the exchange the instrument belongs to. type: - string - 'null' example: CBOT type: description: Either Call or Put. type: - string - 'null' example: Call strike: description: The option's strike price. type: - number - 'null' format: double example: 210 expirationDate: description: The expiration date. type: - string - 'null' format: date example: '2021-04-23' date: description: The price date. type: - string - 'null' format: date example: '2021-02-17' impliedVolatility: description: The estimated volatility of a security's price. type: - number - 'null' format: double example: 85.597534179688 delta: description: The option's delta value. type: - number - 'null' format: double example: 0.99991863344742 gamma: description: The option's gamma value. type: - number - 'null' format: double example: 2.4122911850812e-25 theta: description: The option's theta value. type: - number - 'null' format: double example: -4.9772727839208e-24 vega: description: The option's vega value. type: - number - 'null' format: double example: 2.96107832152e-23 open: description: The opening (first) price for the session. type: - number - 'null' format: double example: 340.875 high: description: The highest traded price for the session. type: - number - 'null' format: double example: 340.875 low: description: The lowest traded price for the session. type: - number - 'null' format: double example: 334.75 last: description: The last price the instrument traded. type: - number - 'null' format: double example: 340.875 previousClose: description: The last price the instrument traded. type: - number - 'null' format: double example: 339.875 change: description: The difference between the last traded price and the previous close. type: - number - 'null' format: double example: 1 percentChange: description: The percent difference between the last traded price and the previous close. type: - number - 'null' format: double example: 0.29 premium: description: The option's premium. type: - number - 'null' format: double example: 340.875 volume: description: The trade volume of the option. type: - integer - 'null' openInterest: description: Start of the day Open Interest of the option symbol type: - integer - 'null' example: 1 settlement: description: The settlement price determined by the exchange. type: - number - 'null' format: double example: 130.84 previousSettlement: description: The settlement price for the previous session. type: - number - 'null' format: double example: 133.19 extendedSymbol: description: The new barchart options symbol. type: - string - 'null' example: ZC|Z2026|200-0|C required: - symbol - root - contract - underlyingFuture - contractName - contractMonth - exchange - type - strike - expirationDate - date - impliedVolatility - delta - gamma - theta - vega - open - high - low - last - previousClose - change - percentChange - volume '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getFuturesSpreads.json: get: tags: - Price Data summary: getFuturesSpreads operationId: get-getFuturesSpreads description: The getFuturesSpreads API returns all active futures spread for the requested commodity. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: root description: A sequence of characters based on the future contract root symbol. required: true schema: type: string example: ZC - in: query name: fields description: A comma separated list of the optional output fields that should be included in the query response. required: false schema: type: string example: open,high,ask,askSize responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: _S_SP_ZCH1_ZCK1 symbolName: description: The name of the instrument. type: - string - 'null' example: Corn Futures Standard Spread type: description: The type of spread in which the data is returned. For a list of valid values and their meaning please click here. type: - string - 'null' example: SP leg1: description: The first leg of the futures spread. type: - string - 'null' example: ZCH1 leg2: description: The second leg of the futures spread. type: - string - 'null' example: ZCK1 leg3: description: The third leg of the futures spread. type: - string - 'null' example: null leg4: description: The fourth leg of the futures spread. type: - string - 'null' example: null lastPrice: description: The last price at which the spread traded. type: - number - 'null' format: double example: 2.75 change: description: The net difference between the last traded price and previous close. type: - number - 'null' format: double example: 0.5 volume: description: The quantity of shares or contracts traded. type: - integer - 'null' example: 37954 tradeTime: description: The exchagne timestamp for the last traded price. type: - string - 'null' example: '2021-02-17T13:19:59-06:00' serverTimestamp: description: The time the message was generated on the server. type: - string - 'null' example: '2021-02-17T15:18:10-06:00' bid: description: The current bid price. type: - number - 'null' format: double example: 2.5 bidSize: description: The size (quantity) of the current bid price. type: - integer - 'null' example: 42600 ask: description: The current ask price. type: - number - 'null' format: double example: 2.75 askSize: description: The size (quantity) of the current ask price. type: - integer - 'null' example: 159500 open: description: The opening (first) price for the session. type: - number - 'null' format: double example: 2.25 high: description: The highest traded price for the session. type: - number - 'null' format: double example: 3.5 low: description: The lowest traded price for the session. type: - number - 'null' format: double example: 2.25 previousClose: description: The settlement price for the previous day. type: - number - 'null' format: double example: 2.25 flag: description: Determines the market state. If no flag, then the instrument is active and trades have been made. If present, can be one of the following:
"c" meaning that the market is closed for this instrument. "p" meaning that the market is in a pre-open state. This occurs when there are bids and offers being placed, but no trade has occurred yet. This is normally seen shortly before the offical opening time for busy markets, but can also be seen throughout the day for lightly traded markets. "s" meaning that the instrument has settled, and that this is the final, settlement price. type: - string - 'null' example: '' required: - symbol - symbolName - type - leg1 - leg2 - leg3 - leg4 - lastPrice - change - volume - tradeTime - serverTimestamp - open - high - low - previousClose - flag '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getSpecialOptions.json: get: tags: - Price Data summary: getSpecialOptions operationId: get-getSpecialOptions description: The getSpecialOptionsClassification API provides the classification for weekly and special options by commodity. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: root description: A symbol or code that identifies a option root. required: false schema: type: string example: BCD - in: query name: contract description: A symbol or code that identifies an options contract. required: false schema: type: string example: BCDK2026 - in: query name: type description: The type of option desired, Call or Put. required: false schema: type: string example: Call - in: query name: premiumRange description: Optionally filter the results by premium with a price range. required: false schema: type: string example: 500.50-1000 - in: query name: mode description: Delayed ("I") or end-of-day ("D"). required: false schema: type: string example: D - in: query name: fields description: 'Additional fields requested. NOTE: ALL fields will be returned for contract requests. ' required: false schema: type: string example: open,high,low,last - in: query name: sortDirection description: Whether to sort the options in ascending or descending order based of the expiration date. required: false schema: type: string enum: - ASC - DESC example: ASC responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies the futures contract. type: - string - 'null' example: BCDH1|200C underlying_future: description: A symbol or code that identifies the underlying futures contract. type: - string - 'null' example: ZCZ21 root: description: The root symbol for the future. type: - string - 'null' example: BCD contract: description: The symbol for the futures contract. type: - string - 'null' example: BCDH21 contractName: description: The name of the futures contract. type: - string - 'null' example: Corn Short Dated New Crop Options contractMonth: description: The month code for this option's contract. type: - string - 'null' example: H exchange: description: The name of the exchange the instrument belongs to. type: - string - 'null' example: CBOT type: description: Either Call or Put. type: - string - 'null' example: Call strike: description: The option's strike price. type: - number - 'null' format: double example: 200 expirationDate: description: The expiration date. type: - string - 'null' format: date example: '2021-02-19' date: description: The most recent update date. type: - string - 'null' format: date example: '2021-02-18' tradeDate: description: The price date. type: - string - 'null' format: date example: '2021-02-18' impliedVolatility: description: The estimated volatility of a security's price. type: - number - 'null' format: double delta: description: The option's delta value. type: - number - 'null' format: double example: 0.99991863344742 gamma: description: The option's gamma value. type: - number - 'null' format: double example: 2.4122911850812e-25 theta: description: The option's theta value. type: - number - 'null' format: double example: -4.9772727839208e-24 vega: description: The option's vega value. type: - number - 'null' format: double example: 2.96107832152e-23 bid: description: The current bid price. type: - number - 'null' format: double example: null bidSize: description: The size (quantity) of the current bid price. type: - integer - 'null' example: null ask: description: The current ask price. type: - number - 'null' format: double example: null askSize: description: The size (quantity) of the current ask price. type: - integer - 'null' example: null open: description: The opening (first) price for the session. type: - number - 'null' format: double high: description: The highest traded price for the session. type: - number - 'null' format: double example: 260.125 low: description: The lowest traded price for the session. type: - number - 'null' format: double example: 260.125 last: description: The last price the instrument traded. type: - number - 'null' format: double example: 260.125 change: description: The difference between the last traded price and the previous close. type: - number - 'null' format: double example: 2.375 percentChange: description: The percent difference between the last traded price and the previous close. type: - number - 'null' format: double example: 0.92 premium: description: The option's premium. type: - number - 'null' format: double example: 13006.25 volume: description: The volume of the option. type: - integer - 'null' openInterest: description: The open interest for the option. type: - number - 'null' format: double flag: description: The option's settled flag. type: - string - 'null' example: p required: - symbol - underlying_future - root - contract - contractName - contractMonth - exchange - type - strike - expirationDate - date '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getEquityOptions.json: get: tags: - Price Data summary: getEquityOptions operationId: get-getEquityOptions description: The getEquityOptions API from Barchart OnDemand provides intraday or end-of-day options data such as strike price, closing price, expiration date, volume and volatility, etc. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: underlying_symbols description: A valid equity symbol. A maximum of 5 tickers per request. required: true schema: type: string example: AAPL - in: query name: type description: The type of option desired, Call or Put. required: false schema: type: string example: Call - in: query name: strikePrice description: The strike price of the option. required: false schema: type: - number - 'null' format: double example: 37.5 - in: query name: expirationMonth description: The numeric representation of the expiration month. required: false schema: type: string example: '05' - in: query name: expirationDate description: The numeric date for of the expiration day. required: false schema: type: string example: '2026-11-07' - in: query name: optionType description: 'Type of option to be returned. Possible Values: Monthly, Weekly. By default both are returned. ' required: false schema: type: string example: Monthly - in: query name: fields description: Additional fields requested. required: false schema: type: string example: bid,bidSize,ask,askSize - in: query name: onlyStrikes description: To return only the strike prices. required: false schema: type: string example: '1' - in: query name: legacySymbols description: Whether to return our new symbology (AAPL|20200417|250.00C) or legacy symbology (AAPL200417C00250000). Only applies to customers starting before April 13, 2020, newer customers should request the legacySymbol field. required: false schema: type: string - in: query name: returnActualLegacySymbol description: Traditionally our legacy symbols have ignored ".X" or "-X" syntax from preferred equities. If you would like the options symbol to include it, please pass this parameter with a value of 1. required: false schema: type: string responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: underlying_symbol: description: The actual equity symbol. type: - string - 'null' example: AAPL symbol: description: 'The option symbol (example: AAPL|20200417|250.00C). ' type: - string - 'null' example: AAPL|20220617|75.00C legacySymbol: description: 'The option symbol based on our legacy symbology (example: AAPL200417C00250000). ' type: - string - 'null' example: AAPL220617C00075000 exchange: description: The name of the exchange the instrument belongs to. type: - string - 'null' example: NASDAQ type: description: Either Call or Put. type: - string - 'null' example: Call strike: description: The option's strike price. type: - number - 'null' format: double example: 75 expirationDate: description: The expiration date. type: - string - 'null' format: date example: '2022-06-17' expirationType: description: The expiration type. type: - string - 'null' example: monthly date: description: The price date. type: - string - 'null' format: date example: '2021-02-18' volatility: description: The estimated volatility of a security's price. type: - number - 'null' format: double example: 0.4404 delta: description: The option's delta value. type: - number - 'null' format: double example: 0.904775 gamma: description: The option's gamma value. type: - number - 'null' format: double example: 0.002558 theta: description: The option's theta value. type: - number - 'null' format: double example: -0.00987 vega: description: The option's vega value. type: - number - 'null' format: double example: 0.241477 rho: description: The option's rho value. type: - number - 'null' format: double example: 0.520656 bid: description: The current bid price. type: - number - 'null' format: double example: 56.8 bidSize: description: The size (quantity) of the current bid price. type: - integer - 'null' example: 105 bidDate: description: The date of the current bid price. type: - string - 'null' format: date example: '2021-02-18' ask: description: The current ask price. type: - number - 'null' format: double example: 57.15 askSize: description: The size (quantity) of the current ask price. type: - integer - 'null' example: 105 askDate: description: The date of the current ask price. type: - string - 'null' format: date example: '2021-02-18' open: description: The opening (first) price for the session. type: - number - 'null' format: double example: 56 high: description: The highest traded price for the session. type: - number - 'null' format: double example: 56.65 low: description: The lowest traded price for the session. type: - number - 'null' format: double example: 56 last: description: The last price the instrument traded. type: - number - 'null' format: double example: 56.65 previous: description: The last price the instrument traded. type: - number - 'null' format: double example: 58.17 change: description: The difference between the last traded price and the previous close. type: - number - 'null' format: double example: -1.52 percentChange: description: The percent difference between the last traded price and the previous close. type: - number - 'null' format: double example: -2.61 premium: description: The option's premium type: - number - 'null' format: double example: null flag: description: The option's settled flag) type: - string - 'null' example: null settlement: description: The option's settlement price type: - number - 'null' format: double example: null lastTradeDate: description: The last trading date for the option type: - string - 'null' format: date example: null volume: description: The trading volume for the option type: - integer - 'null' example: 6 openInterest: description: The open interest for the option type: - integer - 'null' example: 19027 lastUpdateDate: description: The timestamp for the last traded option price. type: - string - 'null' example: '2021-02-18T20:26:20-06:00' required: - underlying_symbol - symbol - exchange - type - strike - expirationDate - expirationType - date - open - high - low - last - previous - change - percentChange '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getEquityOptionsHistory.json: get: tags: - Price Data summary: getEquityOptionsHistory operationId: get-getEquityOptionsHistory description: The getEquityOptionsHistory API from Barchart OnDemand allows users to get historical prices for equity options. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbol description: Any valid equity options symbol. required: true schema: type: string example: AAPL|20200417|250.00C - in: query name: country description: The country in which the options exchange is located. To help distinguish when requesting a dually listed instrument. required: false schema: type: string example: US - in: query name: askbid description: Boolean flag field to include ask and bid data in the result. required: false schema: type: string - in: query name: fields description: Additional fields requested. required: false schema: type: string example: settlement responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a equities option. type: - string - 'null' example: AAPL|20200417|250.00C date: description: Price date type: - string - 'null' format: date example: '2019-08-22' open: description: Opening price of the option type: - number - 'null' format: double example: 5.45 high: description: High price of the option type: - number - 'null' format: double example: 5.45 low: description: Low price of the option type: - number - 'null' format: double example: 5.3 close: description: Closing price of the option type: - number - 'null' format: double example: 5.4 volume: description: Volume of the equity option type: - number - 'null' format: double example: 16 openInterest: description: Open Interest of the option type: - number - 'null' format: double example: 5 trades: description: Number of trades for the option type: - number - 'null' format: double example: 5 ask: description: Ask value for the option type: - number - 'null' format: double example: 6 askSize: description: Ask size for the option type: - number - 'null' format: double example: 1 bid: description: Bid value for the option type: - number - 'null' format: double example: 4.1 bidSize: description: Bid size for the option type: - number - 'null' format: double example: 10 settlement: description: The settlement price type: - number - 'null' format: double volatility: description: The estimated volatility of the underlying stock over the period of the option. type: - number - 'null' format: double example: 0.54176576906416 theoretical: description: The hypothetical value of the option. type: - number - 'null' format: double example: 5.4 delta: description: Measures the sensitivity of an option's theoretical value to a change in the price of the underlying asset. type: - number - 'null' format: double example: 0.2461031525003 gamma: description: Measures the rate of change in the delta for each one-point increase in the underlying asset. type: - number - 'null' format: double example: 0.0077779255452001 theta: description: A measure of the time decay of an option, the dollar amount that an option will lose each day due to the passage of time. type: - number - 'null' format: double example: -0.029368962417088 vega: description: Measures the sensitivity of the price of an option to changes in volatility. type: - number - 'null' format: double example: 0.54176576906416 rho: description: The rate at which the price of a derivative changes relative to a change in the risk-free rate of interest. type: - number - 'null' format: double example: 0.307014003054 required: - symbol - date - open - high - low - close - volume - openInterest - trades - ask - askSize - bid - bidSize '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getEquityOptionsOverviewHistory.json: get: tags: - Price Data summary: getEquityOptionsOverviewHistory operationId: get-getEquityOptionsOverviewHistory description: The getEquityOptionsOverviewHistory API provides implied volatility (IV) options metrics for a single equity symbol at a time. It returns historical daily values such as weighted implied volatility, IV rank and percentile, total volume, open interest, and put/call ratios. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbol description: A symbol or code that identifies a financial instrument. required: true schema: type: string example: SPY - in: query name: fields description: N/A required: true schema: type: string example: weightedImpliedVolatility,weightedImpliedVolatilityChange,impliedVolatilityRank1y,totalVolume - in: query name: startDate description: The start date of the historical options data query. required: false schema: type: string format: date example: '2026-01-22' - in: query name: endDate description: The end date of the historical options data query. required: false schema: type: string format: date example: '2026-07-22' - in: query name: maxRecords description: N/A required: false schema: type: integer example: 10 responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: weightedImpliedVolatility: description: The at-the-money average implied volatility (IV) of the nearest monthly options contract that is 30 days out or more, calculated using the Binomial model. type: - number - 'null' format: double example: 0.33212003972813 weightedImpliedVolatilityChange: description: The day-over-day change in the weighted implied volatility value. type: - number - 'null' format: double example: -0.0062499761547806 impliedVolatilityRank1y: description: 'Implied volatility (IV) rank compares the current level of IV to its historical range of values over the prior 1-year. Calculation method: IV Rank = (Current IV - IV Low) / (IV High - IV Low) x 100. ' type: - number - 'null' format: double example: 37.487970230646 impliedVolatilityPercentile1y: description: 'Implied Volatility Percentile is the percentage of days with IV closing below the current IV value over the prior 1-year. Calculation method: IV Percentile = (number of day current IV was above historical values) / (total number of days within history) * 100. ' type: - number - 'null' format: double example: 0.64 totalVolume: description: Total volume for all option contracts (across all expiration dates) traded during the current session. type: - integer - 'null' example: 49755 putCallVolumeRatio: description: Put/Call Open Interest Ratio is the total Put Open Interest divided by the total Call Open Interest (across all expiration dates). type: - number - 'null' format: double example: 0.7608026329759 totalOpenInterest: description: Options Open Interest is the total open interest for all option contracts (across all expiration dates). type: - integer - 'null' example: 452357 putCallOpenInterestRatio: description: The total put volume divided by the total call volume (across all expiration dates) based on contracts traded during the current session. type: - number - 'null' format: double example: 0.77379598622864 date: description: The date of the data referenced. type: - string - 'null' format: date example: '2026-07-22' required: - date '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getEquityOptionsOverviewSummary.json: get: tags: - Price Data summary: getEquityOptionsOverviewSummary operationId: get-getEquityOptionsOverviewSummary description: The getEquityOptionsOverviewSummary API provides implied volatility option metrics for equity symbols intraday. It delivers current-day values such as weighted implied volatility, IV rank and percentile, total volume, open interest, and put/call ratios. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbols description: A symbol or code that identifies a financial instrument. required: true schema: type: string example: AAPL,GOOG - in: query name: fields description: N/A required: true schema: type: string example: weightedImpliedVolatility,weightedImpliedVolatilityChange,impliedVolatilityRank1y,totalVolume responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: AAPL weightedImpliedVolatility: description: The at-the-money average implied volatility (IV) of the nearest monthly options contract that is 30 days out or more, calculated using the Binomial model. type: - number - 'null' format: double example: 0.33212003972813 weightedImpliedVolatilityChange: description: The day-over-day change in the weighted implied volatility value. type: - number - 'null' format: double example: -0.0062499761547806 impliedVolatilityRank1y: description: 'Implied volatility (IV) rank compares the current level of IV to its historical range of values over the prior 1-year. Calculation method: IV Rank = (Current IV - IV Low) / (IV High - IV Low) x 100. ' type: - number - 'null' format: double example: 37.487970230646 impliedVolatilityPercentile1y: description: 'Implied Volatility Percentile is the percentage of days with IV closing below the current IV value over the prior 1-year. Calculation method: IV Percentile = (number of day current IV was above historical values) / (total number of days within history) * 100. ' type: - number - 'null' format: double example: 0.64 totalVolume: description: Total volume for all option contracts (across all expiration dates) traded during the current session. type: - integer - 'null' example: 49755 putCallVolumeRatio: description: Put/Call Open Interest Ratio is the total Put Open Interest divided by the total Call Open Interest (across all expiration dates). type: - number - 'null' format: double example: 0.7608026329759 totalOpenInterest: description: Options Open Interest is the total open interest for all option contracts (across all expiration dates). type: - integer - 'null' example: 452357 putCallOpenInterestRatio: description: The total put volume divided by the total call volume (across all expiration dates) based on contracts traded during the current session. type: - number - 'null' format: double example: 0.77379598622864 date: description: The date of the data referenced. type: - string - 'null' format: date example: '2026-07-22' required: - symbol - date '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getOptionsScreener.json: get: tags: - Price Data summary: getOptionsScreener operationId: get-getOptionsScreener description: The getOptionsScreener API allows a user to screen for specific equity and ETF option strikes using a variety of filters and parameters that highlight where unusual options activity may be occuring. Users can build powerful market scanners to implement professional trading strategies. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: instrumentType description: The type of underlying instrument of the option. If a user does not specify a particular instrument type, then stocks are returned by default. required: false schema: type: string enum: - stocks - etfs example: stocks - in: query name: optionType description: Specify whether to return calls, puts, or both types of instruments required: false schema: type: string enum: - call - put - both example: both - in: query name: minVolume description: The minimum volume for the data set required: false schema: type: integer example: 10000 - in: query name: maxVolume description: The maximum volume for the data set required: false schema: type: integer example: 10000 - in: query name: minOpenInterest description: The minimum open interest value for the data set required: false schema: type: - number - 'null' format: double example: 1.91 - in: query name: maxOpenInterest description: The maximum open interest value for the data set required: false schema: type: - number - 'null' format: double example: 1.91 - in: query name: minDTE description: The minimum days to expiry (DTE) of the options returned in the dataset. DTE is based on calendar days required: false schema: type: - number - 'null' format: double example: 1.12 - in: query name: maxDTE description: The maximum days to expiry (DTE) of the options returned in the dataset. DTE is based on calendar days required: false schema: type: - number - 'null' format: double example: 1.21 - in: query name: minPrice description: The minimum price for a particular strike to be returned in the data set required: false schema: type: - number - 'null' format: double example: 1.11 - in: query name: maxPrice description: The maximum price for a particular strike to be returned in the data set required: false schema: type: - number - 'null' format: double example: 1.13 - in: query name: minVolumeOpenInterestRatio description: The minimum volume/open interest ratio for the data set required: false schema: type: - number - 'null' format: double example: 1.21 - in: query name: maxVolumeOpenInterestRatio description: The maximum volume/open interest ratio for the data set required: false schema: type: - number - 'null' format: double example: 1.24 - in: query name: minDelta description: The minimum delta value for the data set required: false schema: type: - number - 'null' format: double example: 12.4 - in: query name: maxDelta description: The maximum delta value for the data set required: false schema: type: - number - 'null' format: double example: 1.24 - in: query name: fields description: A comma separated list of the optional output fields that should be included in the result. required: false schema: type: string example: delta,gamma - in: query name: limit description: The number of maximum results that should be returned required: false schema: type: string enum: - '100' - '200' - '300' - '400' - '500' example: '100' - in: query name: page description: The page number to return the results. This sets the offset for the results.s required: false schema: type: integer example: 1 - in: query name: eod description: End of day data is returned by default. Pass ‘false’ to return intraday values required: false schema: type: string responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: underlyingSymbol: description: The underlying instrument symbol type: - string - 'null' example: MOS instrumentType: description: String classifying the type of instrument, either 'Stocks' or 'ETF' type: - string - 'null' example: Stock exchange: description: Exchange code for the marketplace where the financial instruments are listed. type: - string - 'null' example: NYSE type: description: The type of option, either call or put. type: - string - 'null' example: call strike: description: The strike price for the given option type: - number - 'null' format: float example: 34 expirationDate: description: Expiration date for the option type: - string - 'null' format: date example: '2021-02-19' lastPrice: description: The last price for the underlying instrument type: - number - 'null' format: float example: 30.43 optionPrice: description: The last price of the option type: - number - 'null' format: float example: 0.29 optionNetChange: description: Net change in the option price type: - number - 'null' format: float example: -0.07 tradeTime: description: The time indicative of the price. type: - string - 'null' example: '2021-02-17T16:13:43-06:00' delta: description: The ratio of change in the price of the instrument price to the corresponding change in the price of option type: - number - 'null' format: float example: 0.170201 gamma: description: The rate of change in the option's delta per 1-point move in the underlying instrument's price type: - number - 'null' format: float example: 0.07563 theta: description: A measure of the rate of decline in the value of the option due to the passage of time type: - number - 'null' format: float example: -0.423909 vega: description: The measurement of the option's sensitivity to changes in teh volatility of the underlying instrument type: - number - 'null' format: float example: 0.004034 bid: description: Current bid price type: - number - 'null' format: float example: 0.27 ask: description: Current ask price type: - number - 'null' format: float example: 0.37 volume: description: The volume of the option type: - integer - 'null' example: 9769 openInterest: description: Current open intereset for the option type: - number - 'null' format: float example: 121 volumeOpenInterestRatio: description: Ratio of volume to open interest type: - number - 'null' format: float example: 80.74 volatility: description: The statistical measure of the dispersion of returns for the option type: - number - 'null' format: float example: 2.1022 required: - underlyingSymbol - instrumentType - exchange - type - strike - expirationDate - lastPrice - optionPrice - optionNetChange - tradeTime '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getAmeriborRate.json: get: tags: - Price Data summary: getAmeriborRate operationId: get-getAmeriborRate description: AMERIBOR® is an interbank interest rate reflecting the borrowing rates based on actual transactions of the members of the American Financial Exchange (AFX). AMERIBOR® is a transaction-based short-term interest rate based on loans executed between U.S. depositories on the American Financial Exchange Electronic Trading System. The rate is calculated using the 30 trading day rolling average of the weighted average daily volume in the AFX overnight unsecured market. The rate is denoted as a 360-day annualized percentage rate up to the fifth decimal. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: name: description: The name of the instrument type: - string - 'null' example: Ameribor Rate exchange: description: The exchange code for the instrument type: - string - 'null' example: AFX lastPrice: description: The end of day price type: - number - 'null' format: double example: 0.08434 tradeTimestamp: description: The timestamp for the last price type: - string - 'null' example: '2021-02-04T17:00:00-06:00' required: - name - exchange - lastPrice - tradeTimestamp '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getRestrictedSessionHistory.json: get: tags: - Price Data summary: getRestrictedSessionHistory operationId: get-getRestrictedSessionHistory description: The getRestrictedSessionHistory API is used to request historical time series data on stocks, indexes, mutual funds, ETFs, futures, foreign exchange, or cryptocurrencies. Historical data is available as minute bars data. This API also requests startMinute and endMinute parameter and will return price data for the requested date ranges for timestamp between the requested start and end minutes. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbol description: A symbol or code that identifies a financial instrument. required: true schema: type: string example: AAPL - in: query name: type description: The type of historical data to return, including tick data, minute data, and end-of-day data. required: true schema: type: string enum: - minutes - nearbyMinutes - formTMinutes example: minutes - in: query name: startDate description: The start date of the historical data query. This parameter should be set to the desired start date/time for the query (the result set will include records back to, and including, this value). If not set, the value will default to the beginning of the day specified in the end parameter, if end is specified, or to the beginning of the current day, if end is not specified. The value should conform to the format yyyymmdd[hhmm[ss]], where fields in brackets are optional (Do not include the brackets themselves). Any optional fields that are not explicitly set will default to 0 (i.e. 20090203 will default to 20090203000000 or February 3, 2009 at 00:00:00). required: false schema: type: string format: date example: '2010-01-01' - in: query name: endDate description: The end data of the historical data query. This parameter should be set to the desired end date/time for the query (the result set will include records up to, but not including, this value). If not set, the value will default to the end of the day specified in the start parameter, if specified, or to the end of the current day, if start is not specified. The value should conform to the format yyyymmdd[hhmm[ss]], where fields in brackets are optional (Do not include the brackets themselves). Any optional fields that are not explicitly set will default to 0 (i.e. 20090203 will default to 20090203000000 or February 3, 2009 at 00:00:00). required: false schema: type: string format: date example: '2013-01-01' - in: query name: startMinute description: The start time value in 24 hour format. required: false schema: type: string example: '8:30' - in: query name: endMinute description: The end time value in 24 hour format required: false schema: type: string example: '13:20' - in: query name: maxRecords description: The maximum amount of records returned. This parameter should be set to the maximum number of records desired. If not specified, there number of records returned will be determined by the date/time parameters specified as well as any defaults that apply to the query. required: false schema: type: integer example: 10 - in: query name: interval description: The number of minutes for a minute query. required: false schema: type: integer example: 60 - in: query name: order description: An arrangement of fields within a particular record (ascending or descending). This parameter can be set to one of two values ("asc" and "desc") in order to specify the chronological order of the result set returned. If this parameter is not specified, the order results is not guaranteed. required: false schema: type: string enum: - asc - desc example: asc - in: query name: sessionFilter description: This parameter modifies the default session codes/sale conditions used to return ticks for each exchange. For NYSE and AMEX, the default session filter is "@EFKX56V9" (meaning all ticks with sale conditions corresponding to one of the characters in the filter are included in the results), for NASDAQ the default is "@ABDEFKOSXY156", and for everything else all session codes/sale conditions are returned except the settle (session code '*'). If the session filter is set to a string of valid session codes (i.e. "EFK"), only ticks with the specified session codes are included in the results. If the string is prefixed with character '!' (i.e."!EFK"), all session codes except those in the string are included in the results. If the string is prefixed with character '+' (i.e. "+T"), then all the default session codes in addition to the ones specified in the string are included in the results. And if the string is prefixed with character '-' (i.e. "-EF") then all default session codes except the ones specified are included in the results. Please note that the '+' character should be escaped (to %2B) when entering the URL in a web browser or executing the query in an API that does not escape it by default. required: false schema: type: string example: EFK - in: query name: splits description: An adjustment of stock value due to corporate action. This parameter only applies to stocks and specifies whether the data returned should be adjusted for splits or not. Set to true to query for adjusted the data, or to false for non-adjusted data. If not specified, the default is true. In order to guarantee the same adjustment settings in the future, this parameter should be specified. required: false schema: type: string example: 'true' - in: query name: dividends description: A distribution of a portion of a company's earnings. This parameter only applies to stocks and specifies whether the data returned should be adjusted for dividends or not. Set to true to query for adjusted the data, or to false for non-adjusted data. If not specified, the default is true. In order to guarantee the same adjustment settings in the future, this parameter should be specified. required: false schema: type: string example: 'true' - in: query name: volume description: The quantity of shares or contracts traded. For futures, this parameter can be set to one of two values (contract and total) in order to specify whether the volume returned should be the contract volume or the total volume. For aggregates (such as weekly, monthly or yearly), this returns the average volume for the period specified. If the value is preceded by 'sum' (sumcontract and sumtotal), then it returns the sum of the volumes in each daily bar during the period specified. If not specified, the value will default to contract. For aggregate equities queries (such as weekly, monthly or yearly), this parameter can be set to sum to return the sum of the volumes in each daily bar during the period specified. If not specified, then the average volume is returned. required: false schema: type: string enum: - total - sum - contract - sumcontract - sumtotal example: sum - in: query name: nearby description: This parameter specifies the offset from the front month for 'nearest' queries (data parameter set to dailynearest, weeklynearest, monthlynearest, quarterlynearest and yearlynearest). The default value for this parameter is 1, which sets nearest queries to the most current front month. If set to a value greater than 1, then the nth front month is used (for example, in August of 2010, ESU10 would be the current front month, so nearby=2 would use ESZ10, nearby=3 would use ESH11, etc.) This parameter is ignored for all other queries. Alternatively, the same functionality provided by the nearby parameter can be achieved using the symbol notation symbol=RS*n, where RS is the root symbol and n is the nth front month (i.e. symbol=ES*1, symbol=YM*3, etc.). When using this notation on the symbol parameter, the nearby parameter should be omitted. required: false schema: type: integer example: 1 - in: query name: jerq description: Whether to merge with JERQ data. required: false schema: type: string example: 'true' - in: query name: exchange description: The list of valid exchange codes to limit symbol search. required: false schema: type: string example: NYSE,AMEX,NASDAQ - in: query name: backAdjust description: This parameter specifies whether the contracts in the series will be adjusted based on the roll-gap between the closing prices of the current contract and the previous contract on the day of the switch. Valid values are true and false. If not specified, the default value is false resulting in a non-adjusted query. This parameter only applies to multi-contract futures queries and is ignored for all other queries. required: false schema: type: string enum: - 'true' - 'false' example: 'false' - in: query name: daysToExpiration description: This parameter specifies the number of calendar days prior to a contract expiration when the series of contracts will be switched to the next contract in the series. Valid values are 0 through 60. A value of 0 will tell the system to use the day of expiration. If not specified, the default value (1) is used, resulting in each contract in the series to run until (and including) the day prior to its expiration. This parameter only applies to multi-contract futures queries and is ignored for all other queries. required: false schema: type: string enum: - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' - '33' - '34' - '35' - '36' - '37' - '38' - '39' - '40' - '41' - '42' - '43' - '44' - '45' - '46' - '47' - '48' - '49' - '50' - '51' - '52' - '53' - '54' - '55' - '56' - '57' - '58' - '59' - '60' example: '1' - in: query name: contractRoll description: For futures, multi-contract nearest queries (data parameter set to dailynearest, weeklynearest, monthlynearest, quarterlynearest or yearlynearest), this parameter can be set to one of two values (expiration, combined), and determines how the switch from one contract to the next in the series is calculated. When the value specified is 'expiration', the switch from one contract to the next in the series will be based on the expiration date (and the value of the 'daysToExpiration' parameter if specified). When the value specified is 'combined', a combination of volume and openinterest will be used to determine when to switch from one contract to the next in the series (when using this value, the 'daysToExpiration' parameter is ignored). required: false schema: type: string enum: - expiration - combined example: expiration responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: AAPL timestamp: description: 'The exchange time of the price. Format: HH:MM:SS.FFF ' type: - string - 'null' example: '2021-02-18T13:49:33-05:00' tradingDay: description: 'The date of the trade. Format: YYYY-MM-DD ' type: - string - 'null' format: date example: '2021-02-18' sessionCode: description: A code used to differentiate between composite market prices, overnight session prices, and day session prices for futures. Not all futures exchanges use session codes. "G" is electronic session and "R" is pit session. type: - string - 'null' example: '@' tickPrice: description: The price traded for a single transaction. type: - number - 'null' format: double example: 128.68 tickSize: description: The volume traded for a single transaction. type: - integer - 'null' example: 101 open: description: The opening (first) price for the period. type: - number - 'null' format: double example: 132.0335 high: description: The highest traded price for the period. type: - number - 'null' format: double example: 132.3023 low: description: The lowest traded price for the period. type: - number - 'null' format: double example: 131.9229 close: description: The last traded price for the period. type: - number - 'null' format: double example: 132.2524 volume: description: The quantity of shares or contracts traded per the period. type: - integer - 'null' example: 430918 openInterest: description: The total number of options and/or futures contracts that have not been offset. type: - integer - 'null' example: null required: - symbol - timestamp - tradingDay '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error /getRestrictedSessionOHLCPrices.json: get: tags: - Price Data summary: getRestrictedSessionOHLCPrices operationId: get-getRestrictedSessionOHLCPrices description: The getRestrictedSessionOHLCPrices API is used to request open,high,low and close data n stocks, indexes, mutual funds, ETFs, futures, foreign exchange, or cryptocurrencies for the time range between the startMinute and endMinute parameters for the given date range. Historical data is available as minute bars data. parameters: - in: query name: apikey description: Enter the secret API key. required: true schema: type: string example: YOUR_API_KEY - in: query name: symbol description: A symbol or code that identifies a financial instrument. required: true schema: type: string example: AAPL - in: query name: symbols description: A symbol or code that identifies a financial instrument. Multiple symbols separated by a comma may be used. required: false schema: type: string example: AAPL,GOOGL - in: query name: type description: The type of historical data to return, including tick data, minute data, and end-of-day data. required: true schema: type: string enum: - minutes - nearbyMinutes - formTMinutes example: minutes - in: query name: startDate description: The start date of the historical data query. This parameter should be set to the desired start date/time for the query (the result set will include records back to, and including, this value). If not set, the value will default to the beginning of the day specified in the end parameter, if end is specified, or to the beginning of the current day, if end is not specified. The value should conform to the format yyyymmdd[hhmm[ss]], where fields in brackets are optional (Do not include the brackets themselves). Any optional fields that are not explicitly set will default to 0 (i.e. 20090203 will default to 20090203000000 or February 3, 2009 at 00:00:00). required: false schema: type: string format: date example: '2010-01-01' - in: query name: endDate description: The end data of the historical data query. This parameter should be set to the desired end date/time for the query (the result set will include records up to, but not including, this value). If not set, the value will default to the end of the day specified in the start parameter, if specified, or to the end of the current day, if start is not specified. The value should conform to the format yyyymmdd[hhmm[ss]], where fields in brackets are optional (Do not include the brackets themselves). Any optional fields that are not explicitly set will default to 0 (i.e. 20090203 will default to 20090203000000 or February 3, 2009 at 00:00:00). required: false schema: type: string format: date example: '2013-01-01' - in: query name: startMinute description: The start time value in 24 hour format. required: false schema: type: string example: '8:30' - in: query name: endMinute description: The end time value in 24 hour format required: false schema: type: string example: '13:20' - in: query name: maxRecords description: The maximum amount of records returned. This parameter should be set to the maximum number of records desired. If not specified, there number of records returned will be determined by the date/time parameters specified as well as any defaults that apply to the query. required: false schema: type: integer example: 10 - in: query name: interval description: The number of minutes for a minute query. required: false schema: type: integer example: 60 - in: query name: order description: An arrangement of fields within a particular record (ascending or descending). This parameter can be set to one of two values ("asc" and "desc") in order to specify the chronological order of the result set returned. If this parameter is not specified, the order results is not guaranteed. required: false schema: type: string enum: - asc - desc example: asc - in: query name: sessionFilter description: This parameter modifies the default session codes/sale conditions used to return ticks for each exchange. For NYSE and AMEX, the default session filter is "@EFKX56V9" (meaning all ticks with sale conditions corresponding to one of the characters in the filter are included in the results), for NASDAQ the default is "@ABDEFKOSXY156", and for everything else all session codes/sale conditions are returned except the settle (session code '*'). If the session filter is set to a string of valid session codes (i.e. "EFK"), only ticks with the specified session codes are included in the results. If the string is prefixed with character '!' (i.e."!EFK"), all session codes except those in the string are included in the results. If the string is prefixed with character '+' (i.e. "+T"), then all the default session codes in addition to the ones specified in the string are included in the results. And if the string is prefixed with character '-' (i.e. "-EF") then all default session codes except the ones specified are included in the results. Please note that the '+' character should be escaped (to %2B) when entering the URL in a web browser or executing the query in an API that does not escape it by default. required: false schema: type: string example: EFK - in: query name: splits description: An adjustment of stock value due to corporate action. This parameter only applies to stocks and specifies whether the data returned should be adjusted for splits or not. Set to true to query for adjusted the data, or to false for non-adjusted data. If not specified, the default is true. In order to guarantee the same adjustment settings in the future, this parameter should be specified. required: false schema: type: string example: 'true' - in: query name: dividends description: A distribution of a portion of a company's earnings. This parameter only applies to stocks and specifies whether the data returned should be adjusted for dividends or not. Set to true to query for adjusted the data, or to false for non-adjusted data. If not specified, the default is true. In order to guarantee the same adjustment settings in the future, this parameter should be specified. required: false schema: type: string example: 'true' - in: query name: volume description: The quantity of shares or contracts traded. For futures, this parameter can be set to one of two values (contract and total) in order to specify whether the volume returned should be the contract volume or the total volume. For aggregates (such as weekly, monthly or yearly), this returns the average volume for the period specified. If the value is preceded by 'sum' (sumcontract and sumtotal), then it returns the sum of the volumes in each daily bar during the period specified. If not specified, the value will default to contract. For aggregate equities queries (such as weekly, monthly or yearly), this parameter can be set to sum to return the sum of the volumes in each daily bar during the period specified. If not specified, then the average volume is returned. required: false schema: type: string enum: - total - sum - contract - sumcontract - sumtotal example: sum - in: query name: nearby description: This parameter specifies the offset from the front month for 'nearest' queries (data parameter set to dailynearest, weeklynearest, monthlynearest, quarterlynearest and yearlynearest). The default value for this parameter is 1, which sets nearest queries to the most current front month. If set to a value greater than 1, then the nth front month is used (for example, in August of 2010, ESU10 would be the current front month, so nearby=2 would use ESZ10, nearby=3 would use ESH11, etc.) This parameter is ignored for all other queries. Alternatively, the same functionality provided by the nearby parameter can be achieved using the symbol notation symbol=RS*n, where RS is the root symbol and n is the nth front month (i.e. symbol=ES*1, symbol=YM*3, etc.). When using this notation on the symbol parameter, the nearby parameter should be omitted. required: false schema: type: integer example: 1 - in: query name: jerq description: Whether to merge with JERQ data. required: false schema: type: string example: 'true' - in: query name: exchange description: The list of valid exchange codes to limit symbol search. required: false schema: type: string example: NYSE,AMEX,NASDAQ - in: query name: backAdjust description: This parameter specifies whether the contracts in the series will be adjusted based on the roll-gap between the closing prices of the current contract and the previous contract on the day of the switch. Valid values are true and false. If not specified, the default value is false resulting in a non-adjusted query. This parameter only applies to multi-contract futures queries and is ignored for all other queries. required: false schema: type: string enum: - 'true' - 'false' example: 'false' - in: query name: daysToExpiration description: This parameter specifies the number of calendar days prior to a contract expiration when the series of contracts will be switched to the next contract in the series. Valid values are 0 through 60. A value of 0 will tell the system to use the day of expiration. If not specified, the default value (1) is used, resulting in each contract in the series to run until (and including) the day prior to its expiration. This parameter only applies to multi-contract futures queries and is ignored for all other queries. required: false schema: type: string enum: - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' - '33' - '34' - '35' - '36' - '37' - '38' - '39' - '40' - '41' - '42' - '43' - '44' - '45' - '46' - '47' - '48' - '49' - '50' - '51' - '52' - '53' - '54' - '55' - '56' - '57' - '58' - '59' - '60' example: '1' - in: query name: contractRoll description: For futures, multi-contract nearest queries (data parameter set to dailynearest, weeklynearest, monthlynearest, quarterlynearest or yearlynearest), this parameter can be set to one of two values (expiration, combined), and determines how the switch from one contract to the next in the series is calculated. When the value specified is 'expiration', the switch from one contract to the next in the series will be based on the expiration date (and the value of the 'daysToExpiration' parameter if specified). When the value specified is 'combined', a combination of volume and openinterest will be used to determine when to switch from one contract to the next in the series (when using this value, the 'daysToExpiration' parameter is ignored). required: false schema: type: string enum: - expiration - combined example: expiration responses: '200': description: OK (Success) content: application/json: schema: type: object properties: status: type: object description: The status object when an error occurs or when a response is successful. required: - code - message properties: code: description: The status code of the response. type: integer example: 200 message: description: The status message corresponding to the status code. type: string example: Success. results: description: The results object of the API operation. type: array uniqueItems: true items: type: object properties: symbol: description: A symbol or code that identifies a financial instrument. type: - string - 'null' example: AAPL date: description: The date of trade for the OHLC values. type: - string - 'null' format: date example: null ohlc: description: N/A example: null required: - symbol - date - ohlc '204': description: No Content '400': description: Bad Request '500': description: Internal Server Error